2012-08-17 22:09:29 +00:00
|
|
|
package plugins
|
|
|
|
|
|
|
|
import (
|
2012-08-17 22:17:39 +00:00
|
|
|
"bitbucket.org/phlyingpenguin/godeepintir/bot"
|
2012-08-25 04:46:13 +00:00
|
|
|
"fmt"
|
2012-08-25 04:49:48 +00:00
|
|
|
"strings"
|
2012-08-17 22:09:29 +00:00
|
|
|
)
|
|
|
|
|
|
|
|
type TalkerPlugin struct {
|
|
|
|
Bot *bot.Bot
|
|
|
|
}
|
|
|
|
|
|
|
|
func NewTalkerPlugin(bot *bot.Bot) *TalkerPlugin {
|
|
|
|
return &TalkerPlugin{
|
|
|
|
Bot: bot,
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
func (p *TalkerPlugin) Message(message bot.Message) bool {
|
|
|
|
channel := message.Channel
|
|
|
|
body := message.Body
|
|
|
|
|
|
|
|
if channel != p.Bot.Config.MainChannel {
|
|
|
|
return false
|
|
|
|
}
|
|
|
|
|
|
|
|
lowermessage := strings.ToLower(body)
|
|
|
|
|
|
|
|
if strings.Contains(lowermessage, "felps") || strings.Contains(lowermessage, "fredfelps") {
|
|
|
|
outmsg := p.Bot.Filter(message, "GOD HATES $NICK")
|
|
|
|
p.Bot.SendMessage(channel, outmsg)
|
|
|
|
return true
|
|
|
|
}
|
|
|
|
|
|
|
|
return false
|
|
|
|
}
|
|
|
|
|
|
|
|
func (p *TalkerPlugin) LoadData() {
|
|
|
|
// no data to load yet?
|
|
|
|
}
|
2012-08-17 22:56:44 +00:00
|
|
|
|
|
|
|
func (p *TalkerPlugin) Help(channel string, parts []string) {
|
|
|
|
p.Bot.SendMessage(channel, "Hi, this is talker. I like to talk about FredFelps!")
|
|
|
|
}
|
2012-08-25 04:46:13 +00:00
|
|
|
|
|
|
|
// Empty event handler because this plugin does not do anything on event recv
|
2012-08-25 04:49:48 +00:00
|
|
|
func (p *TalkerPlugin) Event(kind string, message bot.Message) bool {
|
2012-08-25 04:46:13 +00:00
|
|
|
if kind == "JOIN" && message.User.Name != p.Bot.Config.Nick {
|
|
|
|
msg := fmt.Sprintf("Joins upset the hivemind's OCD, %s.", message.User.Name)
|
|
|
|
p.Bot.SendMessage(message.Channel, msg)
|
|
|
|
return true
|
|
|
|
}
|
|
|
|
return false
|
|
|
|
}
|