minor tweaks to ts3 and twitch module

This commit is contained in:
da
2016-04-24 13:22:14 +02:00
parent 956187d83f
commit 9e0f20af33
2 changed files with 35 additions and 28 deletions
+2
View File
@@ -74,6 +74,7 @@ func loop() {
} }
} }
func ts3HandleMessage(payload *WebhookPayload) { func ts3HandleMessage(payload *WebhookPayload) {
if payload.TriggerWord == "/ts" || payload.TriggerWord == "!ts" {
log.Println("TS3 users requested by " + payload.UserName) log.Println("TS3 users requested by " + payload.UserName)
users, _ := getUsers() users, _ := getUsers()
var s string var s string
@@ -87,6 +88,7 @@ func ts3HandleMessage(payload *WebhookPayload) {
} }
} }
SayCh <- GeneratePayload("@"+payload.UserName, ":poop:", s, botname) SayCh <- GeneratePayload("@"+payload.UserName, ":poop:", s, botname)
}
} }
func getUsers() (u map[string]bool, e error) { func getUsers() (u map[string]bool, e error) {
+8 -3
View File
@@ -113,6 +113,7 @@ type TwitchStreamObject struct {
} }
var ( var (
announceChannel string
twitch = map[string]bool{ twitch = map[string]bool{
"rocketbeanstv": false, "rocketbeanstv": false,
"blizzard": false, "blizzard": false,
@@ -120,6 +121,7 @@ var (
"warcraft": false, "warcraft": false,
"starcraft": false, "starcraft": false,
"bobross": false, "bobross": false,
"pixelj0ckey": false,
} }
twitchapiurlstreams = "https://api.twitch.tv/kraken/streams/" twitchapiurlstreams = "https://api.twitch.tv/kraken/streams/"
twitchapiurlchannels = "https://api.twitch.tv/kraken/channels/" twitchapiurlchannels = "https://api.twitch.tv/kraken/channels/"
@@ -127,6 +129,7 @@ var (
func init() { func init() {
MsgHandlers["twitch"] = twitchHandleMessage MsgHandlers["twitch"] = twitchHandleMessage
announceChannel = ModParams["twitchchannel"]
log.Println("Initializing twitch module") log.Println("Initializing twitch module")
go pollStreamData() go pollStreamData()
} }
@@ -137,7 +140,7 @@ func twitchHandleMessage(payload *WebhookPayload) {
return return
} }
switch tok[0] { switch tok[0] {
case "!twitch": case "!twitch" || "/twitch":
switch len(tok) { switch len(tok) {
case 1: case 1:
onlinestreams := 0 onlinestreams := 0
@@ -155,7 +158,7 @@ func twitchHandleMessage(payload *WebhookPayload) {
} }
} }
if onlinestreams == 0 { if onlinestreams == 0 {
SayCh <- GeneratePayload("@"+payload.UserName, "", "All streams offline", "Twitch_Bot") SayCh <- GeneratePayload(payload.ChannelName, "", "All streams offline", "Twitch_Bot")
} }
case 2: case 2:
streamname := tok[1] streamname := tok[1]
@@ -175,6 +178,7 @@ func twitchHandleMessage(payload *WebhookPayload) {
} }
func pollStreamData() { func pollStreamData() {
if announceChannel != "" {
time.Sleep(10 * time.Second) time.Sleep(10 * time.Second)
for { for {
for streamname, _ := range twitch { for streamname, _ := range twitch {
@@ -191,6 +195,7 @@ func pollStreamData() {
} }
time.Sleep(180 * time.Second) time.Sleep(180 * time.Second)
} }
}
} }
func getTwitchStreamObject(streamname string) TwitchStreamObject { func getTwitchStreamObject(streamname string) TwitchStreamObject {
@@ -232,7 +237,7 @@ func getTwitchChannelObject(streamname string) TwitchChannelObject {
} }
func twitchSendMsg(tcobj TwitchChannelObject, tso TwitchStreamObject) { func twitchSendMsg(tcobj TwitchChannelObject, tso TwitchStreamObject) {
SayCh <- GeneratePayload("#wgs-service", SayCh <- GeneratePayload(announceChannel,
"", "",
"*"+tso.Stream.Channel.DisplayName+ "*"+tso.Stream.Channel.DisplayName+
"*\n*Title:* "+tcobj.Status+ "*\n*Title:* "+tcobj.Status+