diff options
| author | Anhgelus Morhtuuzh <anhgelus@anhgelus.world> | 2025-06-05 15:20:02 +0200 |
|---|---|---|
| committer | Anhgelus Morhtuuzh <anhgelus@anhgelus.world> | 2025-06-05 15:20:02 +0200 |
| commit | 59121afa2b5ddf9fc412e665da97784a7b92de69 (patch) | |
| tree | 535597b016d680943b0a25d9fefa14b5365d918a /events.go | |
| parent | defc781f9a66b0fe25a79356ac5ac0c2143003f9 (diff) | |
fix(xp): not supporting multi server for vocal
Diffstat (limited to 'events.go')
| -rw-r--r-- | events.go | 10 |
1 files changed, 7 insertions, 3 deletions
@@ -64,16 +64,20 @@ func OnVoiceUpdate(s *discordgo.Session, e *discordgo.VoiceStateUpdate) { } } +func genMapKey(guildID string, userID string) string { + return fmt.Sprintf("%s:%s", guildID, userID) +} + func onConnection(_ *discordgo.Session, e *discordgo.VoiceStateUpdate) { utils.SendDebug("User connected", "username", e.Member.DisplayName()) - connectedSince[e.UserID] = time.Now().Unix() + connectedSince[genMapKey(e.GuildID, e.UserID)] = time.Now().Unix() } func onDisconnect(s *discordgo.Session, e *discordgo.VoiceStateUpdate) { now := time.Now().Unix() c := user.GetCopaing(e.UserID, e.GuildID) // check the validity of user - con, ok := connectedSince[e.UserID] + con, ok := connectedSince[genMapKey(e.GuildID, e.UserID)] if !ok || con == NotConnected { utils.SendWarn(fmt.Sprintf( "User %s diconnect from a vocal but was registered as not connected", e.Member.DisplayName(), @@ -82,7 +86,7 @@ func onDisconnect(s *discordgo.Session, e *discordgo.VoiceStateUpdate) { } timeInVocal := now - con utils.SendDebug("User disconnected", "username", e.Member.DisplayName(), "time in vocal", timeInVocal) - connectedSince[e.UserID] = NotConnected + connectedSince[genMapKey(e.GuildID, e.UserID)] = NotConnected // add exp if timeInVocal < 0 { utils.SendAlert( |
