From daacaaad5023f45dca269a0662dba0eeb7b9edb6 Mon Sep 17 00:00:00 2001 From: Steve Date: Tue, 19 Jan 2021 13:19:05 -0500 Subject: [PATCH] use discord CreateGuild instead of Ready --- discord-handlers.go | 34 +++++----------------------------- main.go | 1 - 2 files changed, 5 insertions(+), 30 deletions(-) diff --git a/discord-handlers.go b/discord-handlers.go index cff766a..002edf2 100644 --- a/discord-handlers.go +++ b/discord-handlers.go @@ -15,25 +15,15 @@ type DiscordListener struct { Bridge *BridgeState } -func (l *DiscordListener) ready(s *discordgo.Session, event *discordgo.Ready) { - log.Println("READY event registered") +func (l *DiscordListener) guildCreate(s *discordgo.Session, event *discordgo.GuildCreate) { + log.Println("CREATE event registered") - //Setup initial discord state - var g *discordgo.Guild - g = nil - - for _, i := range event.Guilds { - if i.ID == l.Bridge.BridgeConfig.GID { - g = i - } - } - - if g == nil { - log.Println("bad guild on READY") + if event.ID != l.Bridge.BridgeConfig.GID { + log.Println("received GuildCreate from a guild not in config") return } - for _, vs := range g.VoiceStates { + for _, vs := range event.VoiceStates { if vs.ChannelID == l.Bridge.BridgeConfig.CID { if s.State.User.ID == vs.UserID { // Ignore bot @@ -143,20 +133,6 @@ func (l *DiscordListener) messageCreate(s *discordgo.Session, m *discordgo.Messa } } -func (l *DiscordListener) guildCreate(s *discordgo.Session, event *discordgo.GuildCreate) { - - if event.Guild.Unavailable { - return - } - - for _, channel := range event.Guild.Channels { - if channel.ID == event.Guild.ID { - log.Println("Mumble-Discord bridge is active in new guild") - return - } - } -} - func (l *DiscordListener) voiceUpdate(s *discordgo.Session, event *discordgo.VoiceStateUpdate) { l.Bridge.DiscordUsersMutex.Lock() defer l.Bridge.DiscordUsersMutex.Unlock() diff --git a/main.go b/main.go index 655943e..52c6a33 100644 --- a/main.go +++ b/main.go @@ -144,7 +144,6 @@ func main() { Bridge.DiscordListener = &DiscordListener{ Bridge: Bridge, } - Bridge.DiscordSession.AddHandler(Bridge.DiscordListener.ready) Bridge.DiscordSession.AddHandler(Bridge.DiscordListener.messageCreate) Bridge.DiscordSession.AddHandler(Bridge.DiscordListener.guildCreate) Bridge.DiscordSession.AddHandler(Bridge.DiscordListener.voiceUpdate)