Use State for UserChannelPermissions when possible.

This commit is contained in:
Chris Rhodes 2016-06-25 16:22:17 -07:00
parent 5f983250fe
commit b225864d96

View file

@ -380,26 +380,34 @@ func (s *Session) UserGuildSettingsEdit(guildID string, settings *UserGuildSetti
// userID : The ID of the user to calculate permissions for. // userID : The ID of the user to calculate permissions for.
// channelID : The ID of the channel to calculate permission for. // channelID : The ID of the channel to calculate permission for.
func (s *Session) UserChannelPermissions(userID, channelID string) (apermissions int, err error) { func (s *Session) UserChannelPermissions(userID, channelID string) (apermissions int, err error) {
channel, err := s.State.Channel(channelID)
channel, err := s.Channel(channelID) if err != nil || channel == nil {
channel, err = s.Channel(channelID)
if err != nil { if err != nil {
return return
} }
}
guild, err := s.Guild(channel.GuildID) guild, err := s.State.Guild(channel.GuildID)
if err != nil || guild == nil {
guild, err = s.Guild(channel.GuildID)
if err != nil { if err != nil {
return return
} }
}
if userID == guild.OwnerID { if userID == guild.OwnerID {
apermissions = PermissionAll apermissions = PermissionAll
return return
} }
member, err := s.GuildMember(guild.ID, userID) member, err := s.State.Member(guild.ID, userID)
if err != nil || member == nil {
member, err = s.GuildMember(guild.ID, userID)
if err != nil { if err != nil {
return return
} }
}
for _, role := range guild.Roles { for _, role := range guild.Roles {
for _, roleID := range member.Roles { for _, roleID := range member.Roles {