remove legacy ping/status seperation

This commit is contained in:
stryan 2021-01-03 19:49:12 -05:00
parent 70b0a691b6
commit ba29c23cae
2 changed files with 20 additions and 27 deletions

View File

@ -100,37 +100,32 @@ func startBridge(discord *discordgo.Session, discordGID string, discordCID strin
} }
} }
func pingMumble(host, port string, c chan int) { func discordStatusUpdate(dg *discordgo.Session, host, port string) {
m, _ := time.ParseDuration("30s") status := ""
curr := 0 curr := 0
m, _ := time.ParseDuration("30s")
for { for {
time.Sleep(3 * time.Second) time.Sleep(3 * time.Second)
resp, err := gumble.Ping(host+":"+port, -1, m) resp, err := gumble.Ping(host+":"+port, -1, m)
curr = resp.ConnectedUsers
if err != nil {
panic(err)
}
if Bridge.Connected {
curr = curr - 1
}
if curr != Bridge.MumbleUserCount {
Bridge.MumbleUserCount = curr
c <- Bridge.MumbleUserCount
}
}
}
func discordStatusUpdate(dg *discordgo.Session, c chan int) { if err != nil {
status := "" log.Printf("error pinging mumble server %v\n", err)
curr := 0 dg.UpdateListeningStatus("an error pinging mumble")
for {
curr = <-c
if curr == 0 {
status = ""
} else { } else {
status = fmt.Sprintf("%v users in Mumble\n", curr) curr = resp.ConnectedUsers
if Bridge.Connected {
curr = curr - 1
}
if curr != Bridge.MumbleUserCount {
Bridge.MumbleUserCount = curr
}
if curr == 0 {
status = ""
} else {
status = fmt.Sprintf("%v users in Mumble\n", curr)
}
dg.UpdateListeningStatus(status)
} }
dg.UpdateListeningStatus(status)
} }
} }

View File

@ -98,9 +98,7 @@ func main() {
MumbleUserCount: 0, MumbleUserCount: 0,
DiscordUserCount: 0, DiscordUserCount: 0,
} }
userCount := make(chan int) go discordStatusUpdate(discord, *mumbleAddr, strconv.Itoa(*mumblePort))
go pingMumble(*mumbleAddr, strconv.Itoa(*mumblePort), userCount)
go discordStatusUpdate(discord, userCount)
if *autoMode { if *autoMode {
Bridge.AutoChan = make(chan bool) Bridge.AutoChan = make(chan bool)
go AutoBridge(discord) go AutoBridge(discord)