func (h *ikr) Run(res *hal.Response) error { now := time.Now() rand.Seed(int64(now.Unix())) //only fire half the time if rand.Intn(100) >= 50 { return nil } replies := []string{ "*I know right?!*", "*OMG* couldn't agree more", ":+1:", "+1", ":arrow_up: THAT", ":arrow_up: you complete me :arrow_up:", "so true", "agreed.", "that's the fact jack", "YUUUUUUP", "that's what I'm talkin bout", "*IKR?!*", "singit", "^droppin the truth bombs :boom: :boom: :boom:", "#legit", "/me nodds emphatically in agreement", "for REALZ though", "FOR REALSIES", "it's like you *literally* just read my mind right now", } reply := replies[rand.Intn(len(replies)-1)] hal.Logger.Debug(" *** ikr:Sending response: %s", reply) res.Send(reply) return nil }
func ExampleHandler_hear() { res := hal.Response{ Match: []string{}, } h := &hal.Handler{ Method: hal.HEAR, Pattern: `echo (.+)`, Usage: "echo <string> - repeats <string> back", Run: func(res *hal.Response) error { res.Send(res.Match[1]) }, } // output: // > echo foo bar baz // foo bar baz }
func (h *ping) Run(res *hal.Response) error { return res.Send("PONG") }