示例#1
0
文件: totw.go 项目: Skarlso/slick
func (totw *Totw) InitPlugin(bot *slick.Bot) {
	slick.RegisterStringList("useless techs", []string{
		"http://i.minus.com/ib2bUNs2W1CI1V.gif",
		"http://media.giphy.com/media/anl0wydLNhKus/giphy.gif",
		"http://www.ptc.dcs.edu/Moody/comphistory/cavemanwriting.gif",
		"http://i.imgur.com/VbzhAbd.gif",
		"http://www.patrickcarrion.com/wp-content/uploads/2014/05/mowingdressgif.gif",
		"http://cdn.shopify.com/s/files/1/0243/7593/products/MKSB023_UselessMachine_Animation_grande.gif",
		"http://i.imgur.com/CRuLGek.gif",
		"http://i.imgur.com/EteBF9K.gif",
		"http://www.ohmagif.com/wp-content/uploads/2011/12/useless-invention.gif",
		"http://i3.kym-cdn.com/photos/images/original/000/495/044/9b8.gif",
		"http://uproxx.files.wordpress.com/2012/09/iron.gif",
	})
	slick.RegisterStringList("tech adept", []string{
		"you're a real tech adept",
		"what an investigator",
		"such deep search!",
		"a real innovator you are",
		"way to go, I'm impressed",
		"hope it's better than my own code",
		"noted, but are you sure it's good ?",
		"I'll take a look into this one",
		"you're generous!",
		"hurray!",
	})

	totw.bot = bot

	go totw.ScheduleAlerts(bot.Config.GeneralChannel, time.Thursday, 16, 0)

	bot.Listen(&slick.Listener{
		MessageHandlerFunc: totw.ChatHandler,
	})
}
示例#2
0
文件: vote.go 项目: Skarlso/slick
func (vote *Vote) InitPlugin(bot *slick.Bot) {
	vote.bot = bot

	bot.Listen(&slick.Listener{
		PublicOnly:         true,
		MessageHandlerFunc: vote.voteHandler,
	})
}
示例#3
0
文件: standup.go 项目: Skarlso/slick
func (standup *Standup) InitPlugin(bot *slick.Bot) {
	standup.bot = bot
	standup.sectionUpdates = make(chan sectionUpdate, 15)

	go standup.manageUpdatesInteraction()

	bot.Listen(&slick.Listener{
		MessageHandlerFunc: standup.ChatHandler,
	})
}
示例#4
0
func (plotberry *PlotBerry) InitPlugin(bot *slick.Bot) {

	plotberry.bot = bot
	plotberry.celebrated = true
	plotberry.pingTime = 10 * time.Second
	plotberry.totalUsers = 100001

	statchan := make(chan TotalUsers, 100)

	go plotberry.launchWatcher(statchan)
	go plotberry.launchCounter(statchan)

	bot.Listen(&slick.Listener{
		MessageHandlerFunc: plotberry.ChatHandler,
	})
}
示例#5
0
文件: healthy.go 项目: Skarlso/slick
func (healthy *Healthy) InitPlugin(bot *slick.Bot) {
	var conf struct {
		HealthCheck struct {
			Urls []string
		}
	}

	bot.LoadConfig(&conf)

	healthy.urls = conf.HealthCheck.Urls

	bot.Listen(&slick.Listener{
		MentionsMeOnly:     true,
		ContainsAny:        []string{"health", "healthy?", "health_check"},
		MessageHandlerFunc: healthy.ChatHandler,
	})
}
示例#6
0
文件: wicked.go 项目: errows/slick
func (wicked *Wicked) InitPlugin(bot *slick.Bot) {
	wicked.bot = bot
	wicked.meetings = make(map[string]*Meeting)

	var conf struct {
		Wicked struct {
			Confrooms []string `json:"conf_rooms"`
		}
	}
	bot.LoadConfig(&conf)
	for _, confroom := range conf.Wicked.Confrooms {
		wicked.confRooms = append(wicked.confRooms, confroom)
	}

	bot.Listen(&slick.Listener{
		MessageHandlerFunc: wicked.ChatHandler,
	})
}
示例#7
0
文件: bugger.go 项目: Skarlso/slick
func (bugger *Bugger) InitPlugin(bot *slick.Bot) {

	/*
	 * Get an array of issues matching Filters
	 */
	bugger.bot = bot

	var conf struct {
		Github github.Conf
	}

	bot.LoadConfig(&conf)

	bugger.ghclient = github.Client{
		Conf: conf.Github,
	}

	bot.Listen(&slick.Listener{
		MessageHandlerFunc: bugger.ChatHandler,
	})

}
示例#8
0
文件: funny.go 项目: Skarlso/slick
func (funny *Funny) InitPlugin(bot *slick.Bot) {

	slick.RegisterStringList("forcePush", []string{
		"http://www.gifcrap.com/g2data/albums/TV/Star%20Wars%20-%20Force%20Push%20-%20Goats%20fall%20over.gif",
		"http://i.imgur.com/ZvZR6Ff.jpg",
		"http://i3.kym-cdn.com/photos/images/original/000/014/538/5FCNWPLR2O3TKTTMGSGJIXFERQTAEY2K.gif",
		"http://i167.photobucket.com/albums/u123/KevinB550/FORCEPUSH/starwarsagain.gif",
		"http://i.imgur.com/dqSIv6j.gif",
		"http://www.gifcrap.com/g2data/albums/TV/Star%20Wars%20-%20Force%20Push%20-%20Gun%20breaks.gif",
		"http://media0.giphy.com/media/qeWa5wV5aeEHC/giphy.gif",
		"http://img40.imageshack.us/img40/2529/obiwan20is20a20jerk.gif",
		"http://img856.imageshack.us/img856/2364/obiwanforcemove.gif",
		"http://img526.imageshack.us/img526/4750/bc6.gif",
		"http://img825.imageshack.us/img825/6373/tumblrluaj77qaoa1qzrlhg.gif",
		"http://img543.imageshack.us/img543/6222/basketballdockingbay101.gif",
		"http://img687.imageshack.us/img687/5711/frap.gif",
		"http://img96.imageshack.us/img96/812/starpigdockingbay101.gif",
		"http://img2.wikia.nocookie.net/__cb20131117184206/halo/images/2/2a/Xt0rt3r.gif",
	})

	slick.RegisterStringList("robot jokes", []string{
		"http://timmybeanbrain.files.wordpress.com/2012/05/05242012_02-01.jpg",
		"http://timmybeanbrain.files.wordpress.com/2012/05/05242012_01-01.jpg",
		"http://timmybeanbrain.files.wordpress.com/2012/05/05232012_01-01.jpg",
		"http://timmybeanbrain.files.wordpress.com/2012/05/05017012_01-01.jpg",
		"http://timmybeanbrain.files.wordpress.com/2012/07/07022012_04-01.jpg",
	})

	slick.RegisterStringList("dishes", []string{
		"http://stream1.gifsoup.com/view6/4703823/monkey-doing-dishes-o.gif",
		"http://s3-ec.buzzfed.com/static/enhanced/webdr06/2013/6/24/16/anigif_enhanced-buzz-9769-1372104764-13.gif",
		"http://i.imgur.com/WIL27Br.gif",
	})

	bot.Listen(&slick.Listener{
		MessageHandlerFunc: funny.ChatHandler,
	})
}
示例#9
0
文件: deployer.go 项目: Skarlso/slick
func (dep *Deployer) InitPlugin(bot *slick.Bot) {
	var conf struct {
		Deployer DeployerConfig
	}
	bot.LoadConfig(&conf)

	dep.bot = bot
	dep.pubsub = pubsub.New(100)
	dep.config = &conf.Deployer
	dep.env = os.Getenv("PLOTLY_ENV")

	if dep.env == "" {
		dep.env = "debug"
	}

	dep.loadInternalAPI()

	go dep.pubsubForwardReply()

	bot.Listen(&slick.Listener{
		MessageHandlerFunc: dep.ChatHandler,
		MentionsMeOnly:     true,
	})
}
示例#10
0
文件: faceoff.go 项目: errows/slick
func (p *Faceoff) InitPlugin(bot *slick.Bot) {
	p.bot = bot

	faceoffRE := regexp.MustCompile("^!face[ _-]?off")
	bot.Listen(&slick.Listener{
		PublicOnly:     true,
		Matches:        faceoffRE,
		ListenForEdits: true,
		MessageHandlerFunc: func(listen *slick.Listener, msg *slick.Message) {
			// Launch a new game

			g := &Game{
				Faceoff:         p,
				OriginalMessage: msg,
				Channel:         msg.FromChannel,
				Started:         time.Now(),
			}
			msg.Reply("Ok, are you ready ?")
			go func() {
				g.Launch()
			}()
		},
	})

	bot.Listen(&slick.Listener{
		PrivateOnly: true,
		Matches:     faceoffRE,
		MessageHandlerFunc: func(listen *slick.Listener, msg *slick.Message) {
			user := p.users[msg.FromUser.ID]
			if user == nil {
				return
			}
			msg.Reply("Your !faceoff scores:\n`" + user.ScoreLine() + "`")
		},
	})

	bot.Listen(&slick.Listener{
		PrivateOnly: true,
		Matches:     faceoffRE,
		EventHandlerFunc: func(listen *slick.Listener, ev interface{}) {
			if _, ok := ev.(*slack.HelloEvent); ok {
				log.Println("faceoff: loading data")
				_ = p.bot.GetDBKey(faceoffKey, &p.users)

				// on HELLO, once the bot has updated all its Users..
				p.updateUsersFromSlack()
				log.Printf("faceoff: got %d profiles\n", len(p.users))
				p.flushData()
			}
		},
	})
}