diff --git a/state.go b/state.go index d63a6fb..c6d3efc 100644 --- a/state.go +++ b/state.go @@ -259,8 +259,6 @@ func (s *State) ChannelRemove(channel *Channel) error { if err != nil { return err } - - delete(s.channelMap, channel.ID) if channel.IsPrivate { s.Lock() @@ -269,7 +267,7 @@ func (s *State) ChannelRemove(channel *Channel) error { for i, c := range s.PrivateChannels { if c.ID == channel.ID { s.PrivateChannels = append(s.PrivateChannels[:i], s.PrivateChannels[i+1:]...) - return nil + break } } } else { @@ -284,10 +282,12 @@ func (s *State) ChannelRemove(channel *Channel) error { for i, c := range guild.Channels { if c.ID == channel.ID { guild.Channels = append(guild.Channels[:i], guild.Channels[i+1:]...) - return nil + break } } } + + delete(s.channelMap, channel.ID) return nil }