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