Browse Source

Correct impl. of HasFlag and ResolveChannel (#966)

HasFlag was checking if any of the flags were set, not the ones
specified, and ResolveChannel was still treating the ChannelPermission
enum as before it was changed to a bitflag.
tags/2.0
Finite Reality Christopher F 7 years ago
parent
commit
32ebdd51f7
1 changed files with 6 additions and 6 deletions
  1. +6
    -6
      src/Discord.Net.Core/Utils/Permissions.cs

+ 6
- 6
src/Discord.Net.Core/Utils/Permissions.cs View File

@@ -80,7 +80,7 @@ namespace Discord
}

[MethodImpl(MethodImplOptions.AggressiveInlining)]
private static bool HasFlag(ulong value, ulong flag) => (value & flag) != 0;
private static bool HasFlag(ulong value, ulong flag) => (value & flag) == flag;
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void SetFlag(ref ulong value, ulong flag) => value |= flag;
[MethodImpl(MethodImplOptions.AggressiveInlining)]
@@ -161,10 +161,10 @@ namespace Discord
else if (!GetValue(resolvedPermissions, ChannelPermission.SendMessages))
{
//No send permissions on a text channel removes all send-related permissions
resolvedPermissions &= ~(1UL << (int)ChannelPermission.SendTTSMessages);
resolvedPermissions &= ~(1UL << (int)ChannelPermission.MentionEveryone);
resolvedPermissions &= ~(1UL << (int)ChannelPermission.EmbedLinks);
resolvedPermissions &= ~(1UL << (int)ChannelPermission.AttachFiles);
resolvedPermissions &= ~(ulong)ChannelPermission.SendTTSMessages;
resolvedPermissions &= ~(ulong)ChannelPermission.MentionEveryone;
resolvedPermissions &= ~(ulong)ChannelPermission.EmbedLinks;
resolvedPermissions &= ~(ulong)ChannelPermission.AttachFiles;
}
}
resolvedPermissions &= mask; //Ensure we didnt get any permissions this channel doesnt support (from guildPerms, for example)
@@ -173,4 +173,4 @@ namespace Discord
return resolvedPermissions;
}
}
}
}

Loading…
Cancel
Save