Having worked with a user on the KordEx server, I noticed the following:
InteractionCreateEvent doesn't seem to have a useful generic subtype for guild interactions, and also doesn't expose a nullable member property.
Member#getPermissions() ignores the permissions property, which refers to the permissions field present in the Member data provided by interaction events.
These two things together create a footgun which makes it difficult to generically check whether a Member has a given permission (or set of permissions). I'd like to suggest the following changes:
- Create a
GuildInteractionCreateEvent type inherited by the relevant interaction event subtypes, which exposes a member property encapsulating the data from the interaction event.
- Update
getPermissions() to return the permissions property by default, which - if provided - will contain all the member's applicable permissions.
Having worked with a user on the KordEx server, I noticed the following:
InteractionCreateEventdoesn't seem to have a useful generic subtype for guild interactions, and also doesn't expose a nullablememberproperty.Member#getPermissions()ignores thepermissionsproperty, which refers to thepermissionsfield present in theMemberdata provided by interaction events.These two things together create a footgun which makes it difficult to generically check whether a
Memberhas a given permission (or set of permissions). I'd like to suggest the following changes:GuildInteractionCreateEventtype inherited by the relevant interaction event subtypes, which exposes amemberproperty encapsulating the data from the interaction event.getPermissions()to return thepermissionsproperty by default, which - if provided - will contain all the member's applicable permissions.