diff --git a/litecord/enums.py b/litecord/enums.py index dc20a9f..0d2c0c7 100644 --- a/litecord/enums.py +++ b/litecord/enums.py @@ -269,3 +269,54 @@ class Intents(IntFlag): @classmethod def default(cls): return cls(-1) + + +EVENTS_TO_INTENTS = { + "GUILD_CREATE": Intents.GUILDS, + "GUILD_UPDATE": Intents.GUILDS, + "GUILD_DELETE": Intents.GUILDS, + "GUILD_ROLE_CREATE": Intents.GUILDS, + "GUILD_ROLE_UPDATE": Intents.GUILDS, + "GUILD_ROLE_DELETE": Intents.GUILDS, + "CHANNEL_CREATE": Intents.GUILDS, + "CHANNEL_UPDATE": Intents.GUILDS, + "CHANNEL_DELETE": Intents.GUILDS, + "CHANNEL_PINS_UPDATE": Intents.GUILDS, + # --- threads not supported -- + "THREAD_CREATE": Intents.GUILDS, + "THREAD_UPDATE": Intents.GUILDS, + "THREAD_DELETE": Intents.GUILDS, + "THREAD_LIST_SYNC": Intents.GUILDS, + "THREAD_MEMBER_UPDATE": Intents.GUILDS, + "THREAD_MEMBERS_UPDATE": Intents.GUILDS, + # --- stages not supported -- + "STAGE_INSTANCE_CREATE": Intents.GUILDS, + "STAGE_INSTANCE_UPDATE": Intents.GUILDS, + "STAGE_INSTANCE_DELETE": Intents.GUILDS, + "GUILD_MEMBER_ADD": Intents.GUILD_MEMBERS, + "GUILD_MEMBER_UPDATE": Intents.GUILD_MEMBERS, + "GUILD_MEMBER_REMOVE": Intents.GUILD_MEMBERS, + # --- threads not supported -- + "THREAD_MEMBERS_UPDATE ": Intents.GUILD_MEMBERS, + "GUILD_BAN_ADD": Intents.GUILD_BANS, + "GUILD_BAN_REMOVE": Intents.GUILD_BANS, + "GUILD_EMOJIS_UPDATE": Intents.GUILD_EMOJIS, + "GUILD_INTEGRATIONS_UPDATE": Intents.GUILD_INTEGRATIONS, + "INTEGRATION_CREATE": Intents.GUILD_INTEGRATIONS, + "INTEGRATION_UPDATE": Intents.GUILD_INTEGRATIONS, + "INTEGRATION_DELETE": Intents.GUILD_INTEGRATIONS, + "WEBHOOKS_UPDATE": Intents.GUILD_WEBHOOKS, + "INVITE_CREATE": Intents.GUILD_INVITES, + "INVITE_DELETE": Intents.GUILD_INVITES, + "VOICE_STATE_UPDATE": Intents.GUILD_VOICE_STATES, + "PRESENCE_UPDATE": Intents.GUILD_PRESENCES, + "MESSAGE_CREATE": Intents.GUILD_MESSAGES, + "MESSAGE_UPDATE": Intents.GUILD_MESSAGES, + "MESSAGE_DELETE": Intents.GUILD_MESSAGES, + "MESSAGE_DELETE_BULK": Intents.GUILD_MESSAGES, + "MESSAGE_REACTION_ADD": Intents.GUILD_MESSAGE_REACTIONS, + "MESSAGE_REACTION_REMOVE": Intents.GUILD_MESSAGE_REACTIONS, + "MESSAGE_REACTION_REMOVE_ALL": Intents.GUILD_MESSAGE_REACTIONS, + "MESSAGE_REACTION_REMOVE_EMOJI": Intents.GUILD_MESSAGE_REACTIONS, + "TYPING_START": Intents.GUILD_MESSAGE_TYPING, +} diff --git a/litecord/pubsub/guild.py b/litecord/pubsub/guild.py index 7fff270..a8cb61c 100644 --- a/litecord/pubsub/guild.py +++ b/litecord/pubsub/guild.py @@ -26,7 +26,7 @@ from logbook import Logger from .dispatcher import DispatcherWithFlags, GatewayEvent from .channel import ChannelFlags from litecord.gateway.state import GatewayState -from litecord.enums import Intents +from litecord.enums import EVENTS_TO_INTENTS log = Logger(__name__) @@ -36,57 +36,6 @@ class GuildFlags(ChannelFlags): presence: bool -EVENTS_TO_INTENTS = { - "GUILD_CREATE": Intents.GUILDS, - "GUILD_UPDATE": Intents.GUILDS, - "GUILD_DELETE": Intents.GUILDS, - "GUILD_ROLE_CREATE": Intents.GUILDS, - "GUILD_ROLE_UPDATE": Intents.GUILDS, - "GUILD_ROLE_DELETE": Intents.GUILDS, - "CHANNEL_CREATE": Intents.GUILDS, - "CHANNEL_UPDATE": Intents.GUILDS, - "CHANNEL_DELETE": Intents.GUILDS, - "CHANNEL_PINS_UPDATE": Intents.GUILDS, - # --- threads not supported -- - "THREAD_CREATE": Intents.GUILDS, - "THREAD_UPDATE": Intents.GUILDS, - "THREAD_DELETE": Intents.GUILDS, - "THREAD_LIST_SYNC": Intents.GUILDS, - "THREAD_MEMBER_UPDATE": Intents.GUILDS, - "THREAD_MEMBERS_UPDATE": Intents.GUILDS, - # --- stages not supported -- - "STAGE_INSTANCE_CREATE": Intents.GUILDS, - "STAGE_INSTANCE_UPDATE": Intents.GUILDS, - "STAGE_INSTANCE_DELETE": Intents.GUILDS, - "GUILD_MEMBER_ADD": Intents.GUILD_MEMBERS, - "GUILD_MEMBER_UPDATE": Intents.GUILD_MEMBERS, - "GUILD_MEMBER_REMOVE": Intents.GUILD_MEMBERS, - # --- threads not supported -- - "THREAD_MEMBERS_UPDATE ": Intents.GUILD_MEMBERS, - "GUILD_BAN_ADD": Intents.GUILD_BANS, - "GUILD_BAN_REMOVE": Intents.GUILD_BANS, - "GUILD_EMOJIS_UPDATE": Intents.GUILD_EMOJIS, - "GUILD_INTEGRATIONS_UPDATE": Intents.GUILD_INTEGRATIONS, - "INTEGRATION_CREATE": Intents.GUILD_INTEGRATIONS, - "INTEGRATION_UPDATE": Intents.GUILD_INTEGRATIONS, - "INTEGRATION_DELETE": Intents.GUILD_INTEGRATIONS, - "WEBHOOKS_UPDATE": Intents.GUILD_WEBHOOKS, - "INVITE_CREATE": Intents.GUILD_INVITES, - "INVITE_DELETE": Intents.GUILD_INVITES, - "VOICE_STATE_UPDATE": Intents.GUILD_VOICE_STATES, - "PRESENCE_UPDATE": Intents.GUILD_PRESENCES, - "MESSAGE_CREATE": Intents.GUILD_MESSAGES, - "MESSAGE_UPDATE": Intents.GUILD_MESSAGES, - "MESSAGE_DELETE": Intents.GUILD_MESSAGES, - "MESSAGE_DELETE_BULK": Intents.GUILD_MESSAGES, - "MESSAGE_REACTION_ADD": Intents.GUILD_MESSAGE_REACTIONS, - "MESSAGE_REACTION_REMOVE": Intents.GUILD_MESSAGE_REACTIONS, - "MESSAGE_REACTION_REMOVE_ALL": Intents.GUILD_MESSAGE_REACTIONS, - "MESSAGE_REACTION_REMOVE_EMOJI": Intents.GUILD_MESSAGE_REACTIONS, - "TYPING_START": Intents.GUILD_MESSAGE_TYPING, -} - - class GuildDispatcher( DispatcherWithFlags[int, str, GatewayEvent, List[str], GuildFlags] ):