From 3536ae4cb6209b366ee2ff70464ba012eb54aafb Mon Sep 17 00:00:00 2001 From: "diamondburned (Forefront)" Date: Mon, 4 May 2020 23:13:15 -0700 Subject: [PATCH] Discord: Added a helper HasFlag function --- discord/discord.go | 7 +++++++ discord/message.go | 2 +- discord/permission.go | 2 +- discord/user.go | 2 +- 4 files changed, 10 insertions(+), 3 deletions(-) diff --git a/discord/discord.go b/discord/discord.go index 767fd81..496f377 100644 --- a/discord/discord.go +++ b/discord/discord.go @@ -2,3 +2,10 @@ // does not (and should not) contain API-specific structures, or WS-specific // structures. package discord + +// HasFlag is returns true if has is in the flag. In other words, it checks if +// has is OR'd into flag. This function could be used for different constants +// such as Permission. +func HasFlag(flag, has uint64) bool { + return flag&has == has +} diff --git a/discord/message.go b/discord/message.go index 5039b60..2f7e4f0 100644 --- a/discord/message.go +++ b/discord/message.go @@ -81,7 +81,7 @@ const ( GuildDiscoveryRequalifiedMessage ) -type MessageFlags uint8 +type MessageFlags uint32 const ( CrosspostedMessage MessageFlags = 1 << iota diff --git a/discord/permission.go b/discord/permission.go index 6fa2dcb..dbbf0c1 100644 --- a/discord/permission.go +++ b/discord/permission.go @@ -111,7 +111,7 @@ const ( ) func (p Permissions) Has(perm Permissions) bool { - return (p & perm) == perm + return HasFlag(uint64(p), uint64(perm)) } func (p Permissions) Add(perm Permissions) Permissions { diff --git a/discord/user.go b/discord/user.go index 3d3d2f2..e77cee7 100644 --- a/discord/user.go +++ b/discord/user.go @@ -155,7 +155,7 @@ const ( CustomActivity ) -type ActivityFlags uint8 +type ActivityFlags uint32 const ( InstanceActivity ActivityFlags = 1 << iota