hikari.api.event_factory#

Component that provides the ability to generate event models.

Module Contents#

class hikari.api.event_factory.EventFactory[source]#

Bases: abc.ABC

Interface for components that deserialize JSON events.

abstract deserialize_application_command_permission_update_event(shard, payload)[source]#

Parse a raw payload from Discord into an application command permissions update event object.

Parameters:
shardhikari.api.shard.GatewayShard

The shard that emitted this event.

payloadhikari.internal.data_binding.JSONObject

The dict payload to parse.

Returns:
hikari.events.application_events.ApplicationCommandPermissionsUpdateEvent

The parsed application command permissions update event.

abstract deserialize_channel_pins_update_event(shard, payload)[source]#

Parse a raw payload from Discord into a channel pins update event object.

Parameters:
shardhikari.api.shard.GatewayShard

The shard that emitted this event.

payloadhikari.internal.data_binding.JSONObject

The dict payload to parse.

Returns:
hikari.events.channel_events.PinsUpdateEvent

The parsed channel pins update event object.

abstract deserialize_connected_event(shard)[source]#

Build a shard connected event object.

Parameters:
shardhikari.api.shard.GatewayShard

The shard that emitted this event.

Returns:
hikari.events.shard_events.ShardReadyEvent

The built shard connected event object.

abstract deserialize_disconnected_event(shard)[source]#

Build a shard disconnected event object.

Parameters:
shardhikari.api.shard.GatewayShard

The shard that emitted this event.

Returns:
hikari.events.shard_events.ShardReadyEvent

The built shard disconnected event object.

abstract deserialize_guild_available_event(shard, payload)[source]#

Parse a raw payload from Discord into a guild available event object.

Parameters:
shardhikari.api.shard.GatewayShard

The shard that emitted this event.

payloadhikari.internal.data_binding.JSONObject

The dict payload to parse.

Returns:
hikari.events.guild_events.GuildAvailableEvent

The parsed guild create event object.

abstract deserialize_guild_ban_add_event(shard, payload)[source]#

Parse a raw payload from Discord into a guild ban add event object.

Parameters:
shardhikari.api.shard.GatewayShard

The shard that emitted this event.

payloadhikari.internal.data_binding.JSONObject

The dict payload to parse.

Returns:
hikari.events.guild_events.BanCreateEvent

The parsed guild ban add event object.

abstract deserialize_guild_ban_remove_event(shard, payload)[source]#

Parse a raw payload from Discord into a guild ban remove event object.

Parameters:
shardhikari.api.shard.GatewayShard

The shard that emitted this event.

payloadhikari.internal.data_binding.JSONObject

The dict payload to parse.

Returns:
hikari.events.guild_events.BanDeleteEvent

The parsed guild ban remove event object.

abstract deserialize_guild_channel_create_event(shard, payload)[source]#

Parse a raw payload from Discord into a channel create event object.

Parameters:
shardhikari.api.shard.GatewayShard

The shard that emitted this event.

payloadhikari.internal.data_binding.JSONObject

The dict payload to parse.

Returns:
hikari.events.channel_events.GuildChannelCreateEvent

The parsed channel create event object.

abstract deserialize_guild_channel_delete_event(shard, payload)[source]#

Parse a raw payload from Discord into a channel delete event object.

Parameters:
shardhikari.api.shard.GatewayShard

The shard that emitted this event.

payloadhikari.internal.data_binding.JSONObject

The dict payload to parse.

Returns:
hikari.events.channel_events.GuildChannelDeleteEvent

The parsed channel delete event object.

abstract deserialize_guild_channel_update_event(shard, payload, *, old_channel=None)[source]#

Parse a raw payload from Discord into a channel update event object.

Parameters:
shardhikari.api.shard.GatewayShard

The shard that emitted this event.

payloadhikari.internal.data_binding.JSONObject

The dict payload to parse.

Other Parameters:
old_channeltyping.Optional[hikari.channels.PermissibleGuildChannel]

The guild channel object or None.

Returns:
hikari.events.channel_events.GuildChannelUpdateEvent

The parsed event object.

abstract deserialize_guild_emojis_update_event(shard, payload, *, old_emojis=None)[source]#

Parse a raw payload from Discord into a guild emojis update event object.

Parameters:
shardhikari.api.shard.GatewayShard

The shard that emitted this event.

payloadhikari.internal.data_binding.JSONObject

The dict payload to parse.

Other Parameters:
old_emojistyping.Optional[typing.Sequence[hikari.emojis.KnownCustomEmoji]]

The sequence of emojis or None.

Returns:
hikari.events.guild_events.EmojisUpdateEvent

The parsed guild emojis update event object.

abstract deserialize_guild_join_event(shard, payload)[source]#

Parse a raw payload from Discord into a guild join event object.

Parameters:
shardhikari.api.shard.GatewayShard

The shard that emitted this event.

payloadhikari.internal.data_binding.JSONObject

The dict payload to parse.

Returns:
hikari.events.guild_events.GuildJoinEvent

The parsed guild join event object.

abstract deserialize_guild_leave_event(shard, payload, *, old_guild=None)[source]#

Parse a raw payload from Discord into a guild leave event object.

Parameters:
shardhikari.api.shard.GatewayShard

The shard that emitted this event.

payloadhikari.internal.data_binding.JSONObject

The dict payload to parse.

Other Parameters:
old_guildtyping.Optional[hikari.guilds.GatewayGuild]

The guild object or None.

Returns:
hikari.events.guild_events.GuildLeaveEvent

The parsed guild leave event object.

abstract deserialize_guild_member_add_event(shard, payload)[source]#

Parse a raw payload from Discord into a guild member add event object.

Parameters:
shardhikari.api.shard.GatewayShard

The shard that emitted this event.

payloadhikari.internal.data_binding.JSONObject

The dict payload to parse.

Returns:
hikari.events.member_events.MemberCreateEvent

The parsed guild member add event object.

abstract deserialize_guild_member_chunk_event(shard, payload)[source]#

Parse a raw payload from Discord into a member chunk event object.

Parameters:
shardhikari.api.shard.GatewayShard

The shard that emitted this event.

payloadhikari.internal.data_binding.JSONObject

The dict payload to parse.

Returns:
hikari.events.shard_events.MemberChunkEvent

The parsed member chunk object.

abstract deserialize_guild_member_remove_event(shard, payload, *, old_member=None)[source]#

Parse a raw payload from Discord into a guild member remove event object.

Parameters:
shardhikari.api.shard.GatewayShard

The shard that emitted this event.

payloadhikari.internal.data_binding.JSONObject

The dict payload to parse.

Other Parameters:
old_membertyping.Optional[hikari.guilds.Member]

The member object or None.

Returns:
hikari.events.member_events.MemberDeleteEvent

The parsed guild member remove event object.

abstract deserialize_guild_member_update_event(shard, payload, *, old_member=None)[source]#

Parse a raw payload from Discord into a guild member update event object.

Parameters:
shardhikari.api.shard.GatewayShard

The shard that emitted this event.

payloadhikari.internal.data_binding.JSONObject

The dict payload to parse.

Other Parameters:
old_membertyping.Optional[hikari.guilds.Member]

The member object or None.

Returns:
hikari.events.member_events.MemberUpdateEvent

The parsed guild member update event object.

abstract deserialize_guild_message_delete_bulk_event(shard, payload, *, old_messages=None)[source]#

Parse a raw payload from Discord into a guild message delete bulk event object.

Parameters:
shardhikari.api.shard.GatewayShard

The shard that emitted this event.

payloadhikari.internal.data_binding.JSONObject

The dict payload to parse.

Other Parameters:
old_messagestyping.Optional[typing.Mapping[hikari.snowflakes.Snowflake, hikari.messages.Message]]

A mapping of the old message objects.

Returns:
hikari.events.message_events.GuildBulkMessageDeleteEvent

The parsed guild message delete bulk event object.

abstract deserialize_guild_role_create_event(shard, payload)[source]#

Parse a raw payload from Discord into a guild role create event object.

Parameters:
shardhikari.api.shard.GatewayShard

The shard that emitted this event.

payloadhikari.internal.data_binding.JSONObject

The dict payload to parse.

Returns:
hikari.events.role_events.RoleCreateEvent

The parsed guild role create event object.

abstract deserialize_guild_role_delete_event(shard, payload, *, old_role=None)[source]#

Parse a raw payload from Discord into a guild role delete event object.

Parameters:
shardhikari.api.shard.GatewayShard

The shard that emitted this event.

payloadhikari.internal.data_binding.JSONObject

The dict payload to parse.

Other Parameters:
old_roletyping.Optional[hikari.guilds.Role]

The role object or None.

Returns:
hikari.events.role_events.RoleDeleteEvent

The parsed guild role delete event object.

abstract deserialize_guild_role_update_event(shard, payload, *, old_role=None)[source]#

Parse a raw payload from Discord into a guild role update event object.

Parameters:
shardhikari.api.shard.GatewayShard

The shard that emitted this event.

payloadhikari.internal.data_binding.JSONObject

The dict payload to parse.

Other Parameters:
old_roletyping.Optional[hikari.guilds.Role]

The role object or None.

Returns:
hikari.events.role_events.RoleUpdateEvent

The parsed guild role update event object.

abstract deserialize_guild_stickers_update_event(shard, payload, *, old_stickers=None)[source]#

Parse a raw payload from Discord into a guild stickers update event object.

Parameters:
shardhikari.api.shard.GatewayShard

The shard that emitted this event.

payloadhikari.internal.data_binding.JSONObject

The dict payload to parse.

Other Parameters:
old_stickerstyping.Optional[typing.Sequence[hikari.stickers.GuildSticker]]

The sequence of stickers or None.

Returns:
hikari.events.guild_events.StickersUpdateEvent

The parsed guild stickers update event object.

abstract deserialize_guild_thread_access_event(shard, payload)[source]#

Parse a raw payload from Discord into a guild thread access event object.

Parameters:
shardhikari.api.shard.GatewayShard

The shard that emitted this event.

payloadhikari.internal.data_binding.JSONObject

The dict payload to parse.

Returns:
hikari.events.channel_events.GuildThreadAccessEvent

The parsed guild thread create event object.

abstract deserialize_guild_thread_create_event(shard, payload)[source]#

Parse a raw payload from Discord into a guild thread create event object.

Parameters:
shardhikari.api.shard.GatewayShard

The shard that emitted this event.

payloadhikari.internal.data_binding.JSONObject

The dict payload to parse.

Returns:
hikari.events.channel_events.GuildThreadCreateEvent

The parsed guild thread create event object.

abstract deserialize_guild_thread_delete_event(shard, payload)[source]#

Parse a raw payload from Discord into a guild thread delete event object.

Parameters:
shardhikari.api.shard.GatewayShard

The shard that emitted this event.

payloadhikari.internal.data_binding.JSONObject

The dict payload to parse.

Returns:
hikari.events.channel_events.GuildThreadDeleteEvent

The parsed guild thread delete event object.

abstract deserialize_guild_thread_update_event(shard, payload)[source]#

Parse a raw payload from Discord into a guild thread update event object.

Parameters:
shardhikari.api.shard.GatewayShard

The shard that emitted this event.

payloadhikari.internal.data_binding.JSONObject

The dict payload to parse.

Returns:
hikari.events.channel_events.GuildThreadUpdateEvent

The parsed guild thread update event object.

abstract deserialize_guild_unavailable_event(shard, payload)[source]#

Parse a raw payload from Discord into a guild unavailable event object.

Parameters:
shardhikari.api.shard.GatewayShard

The shard that emitted this event.

payloadhikari.internal.data_binding.JSONObject

The dict payload to parse.

Returns:
hikari.events.guild_events.GuildUnavailableEvent

The parsed guild unavailable event object.

abstract deserialize_guild_update_event(shard, payload, *, old_guild=None)[source]#

Parse a raw payload from Discord into a guild update event object.

Parameters:
shardhikari.api.shard.GatewayShard

The shard that emitted this event.

payloadhikari.internal.data_binding.JSONObject

The dict payload to parse.

Other Parameters:
old_guildtyping.Optional[hikari.guilds.GatewayGuild]

The guild object or None.

Returns:
hikari.events.guild_events.GuildUpdateEvent

The parsed guild update event object.

abstract deserialize_integration_create_event(shard, payload)[source]#

Parse a raw payload from Discord into an integration create event object.

Parameters:
shardhikari.api.shard.GatewayShard

The shard that emitted this event.

payloadhikari.internal.data_binding.JSONObject

The dict payload to parse.

Returns:
hikari.events.guild_events.IntegrationCreateEvent

The parsed integration create event object.

abstract deserialize_integration_delete_event(shard, payload)[source]#

Parse a raw payload from Discord into an integration delete event object.

Parameters:
shardhikari.api.shard.GatewayShard

The shard that emitted this event.

payloadhikari.internal.data_binding.JSONObject

The dict payload to parse.

Returns:
hikari.events.guild_events.IntegrationDeleteEvent

The parsed integration delete event object.

abstract deserialize_integration_update_event(shard, payload)[source]#

Parse a raw payload from Discord into an integration update event object.

Parameters:
shardhikari.api.shard.GatewayShard

The shard that emitted this event.

payloadhikari.internal.data_binding.JSONObject

The dict payload to parse.

Returns:
hikari.events.guild_events.IntegrationUpdateEvent

The parsed integration update event object.

abstract deserialize_interaction_create_event(shard, payload)[source]#

Parse a raw payload from Discord into a interaction create event object.

Parameters:
shardhikari.api.shard.GatewayShard

The shard that emitted this event.

payloadhikari.internal.data_binding.JSONObject

The dict payload to parse.

Returns:
hikari.events.interaction_events.InteractionCreateEvent

The parsed interaction create event object.

abstract deserialize_invite_create_event(shard, payload)[source]#

Parse a raw payload from Discord into an invite create event object.

Parameters:
shardhikari.api.shard.GatewayShard

The shard that emitted this event.

payloadhikari.internal.data_binding.JSONObject

The dict payload to parse.

Returns:
hikari.events.channel_events.InviteCreateEvent

The parsed invite create event object.

abstract deserialize_invite_delete_event(shard, payload, *, old_invite=None)[source]#

Parse a raw payload from Discord into an invite delete event object.

Parameters:
shardhikari.api.shard.GatewayShard

The shard that emitted this event.

payloadhikari.internal.data_binding.JSONObject

The dict payload to parse.

Other Parameters:
old_invitetyping.Optional[hikari.invites.InviteWithMetadata]

The invite object or None.

Returns:
hikari.events.channel_events.InviteDeleteEvent

The parsed invite delete event object.

abstract deserialize_message_create_event(shard, payload)[source]#

Parse a raw payload from Discord into a message create event object.

Parameters:
shardhikari.api.shard.GatewayShard

The shard that emitted this event.

payloadhikari.internal.data_binding.JSONObject

The dict payload to parse.

Returns:
hikari.events.message_events.MessageCreateEvent

The parsed message create event object.

abstract deserialize_message_delete_event(shard, payload, *, old_message=None)[source]#

Parse a raw payload from Discord into a message delete event object.

Parameters:
shardhikari.api.shard.GatewayShard

The shard that emitted this event.

payloadhikari.internal.data_binding.JSONObject

The dict payload to parse.

Other Parameters:
old_messagetyping.Optional[hikari.messages.Message]

The old message object.

Returns:
hikari.events.message_events.MessageDeleteEvent

The parsed message delete event object.

abstract deserialize_message_reaction_add_event(shard, payload)[source]#

Parse a raw payload from Discord into a message reaction add event object.

Parameters:
shardhikari.api.shard.GatewayShard

The shard that emitted this event.

payloadhikari.internal.data_binding.JSONObject

The dict payload to parse.

Returns:
hikari.events.reaction_events.ReactionAddEvent

The parsed message reaction add event object.

abstract deserialize_message_reaction_remove_all_event(shard, payload)[source]#

Parse a raw payload from Discord into a message reaction remove all event object.

Parameters:
shardhikari.api.shard.GatewayShard

The shard that emitted this event.

payloadhikari.internal.data_binding.JSONObject

The dict payload to parse.

Returns:
hikari.events.reaction_events.ReactionDeleteAllEvent

The parsed message reaction remove all event object.

abstract deserialize_message_reaction_remove_emoji_event(shard, payload)[source]#

Parse a raw payload from Discord into a message reaction remove emoji event object.

Parameters:
shardhikari.api.shard.GatewayShard

The shard that emitted this event.

payloadhikari.internal.data_binding.JSONObject

The dict payload to parse.

Returns:
hikari.events.reaction_events.ReactionDeleteEmojiEvent

The parsed message reaction remove emoji event object.

abstract deserialize_message_reaction_remove_event(shard, payload)[source]#

Parse a raw payload from Discord into a message reaction remove event object.

Parameters:
shardhikari.api.shard.GatewayShard

The shard that emitted this event.

payloadhikari.internal.data_binding.JSONObject

The dict payload to parse.

Returns:
hikari.events.reaction_events.ReactionDeleteEvent

The parsed message reaction remove event object.

abstract deserialize_message_update_event(shard, payload, *, old_message=None)[source]#

Parse a raw payload from Discord into a message update event object.

Parameters:
shardhikari.api.shard.GatewayShard

The shard that emitted this event.

payloadhikari.internal.data_binding.JSONObject

The dict payload to parse.

Other Parameters:
old_messagetyping.Optional[hikari.messages.PartialMessage]

The message object or None.

Returns:
hikari.events.message_events.MessageUpdateEvent

The parsed message update event object.

abstract deserialize_own_user_update_event(shard, payload, *, old_user=None)[source]#

Parse a raw payload from Discord into a own user update event object.

Parameters:
shardhikari.api.shard.GatewayShard

The shard that emitted this event.

payloadhikari.internal.data_binding.JSONObject

The dict payload to parse.

Other Parameters:
old_usertyping.Optional[hikari.users.OwnUser]

The OwnUser object or None.

Returns:
hikari.events.user_events.OwnUserUpdateEvent

The parsed own user update event object.

abstract deserialize_presence_update_event(shard, payload, *, old_presence=None)[source]#

Parse a raw payload from Discord into a presence update event object.

Parameters:
shardhikari.api.shard.GatewayShard

The shard that emitted this event.

payloadhikari.internal.data_binding.JSONObject

The dict payload to parse.

Other Parameters:
old_presencetyping.Optional[hikari.presences.MemberPresence]

The presence object or None.

Returns:
hikari.events.guild_events.PresenceUpdateEvent

The parsed presence update event object.

abstract deserialize_ready_event(shard, payload)[source]#

Parse a raw payload from Discord into a ready event object.

Parameters:
shardhikari.api.shard.GatewayShard

The shard that emitted this event.

payloadhikari.internal.data_binding.JSONObject

The dict payload to parse.

Returns:
hikari.events.shard_events.ShardReadyEvent

The parsed ready event object.

abstract deserialize_resumed_event(shard)[source]#

Build a shard resumed event object.

Parameters:
shardhikari.api.shard.GatewayShard

The shard that emitted this event.

Returns:
hikari.events.shard_events.ShardReadyEvent

The built shard resumed event object.

abstract deserialize_scheduled_event_create_event(shard, payload)[source]#

Parse a raw payload from Discord into a scheduled event create event object.

Parameters:
shardhikari.api.shard.GatewayShard

The shard that emitted this event.

payloadhikari.internal.data_binding.JSONObject

The dict payload to parse.

Returns:
hikari.events.scheduled_events.ScheduledEventCreateEvent

The parsed scheduled event create event object.

abstract deserialize_scheduled_event_delete_event(shard, payload)[source]#

Parse a raw payload from Discord into a scheduled event delete event object.

Parameters:
shardhikari.api.shard.GatewayShard

The shard that emitted this event.

payloadhikari.internal.data_binding.JSONObject

The dict payload to parse.

Returns:
hikari.events.scheduled_events.ScheduledEventDeleteEvent

The parsed scheduled event delete event object.

abstract deserialize_scheduled_event_update_event(shard, payload)[source]#

Parse a raw payload from Discord into a scheduled event update event object.

Parameters:
shardhikari.api.shard.GatewayShard

The shard that emitted this event.

payloadhikari.internal.data_binding.JSONObject

The dict payload to parse.

Returns:
hikari.events.scheduled_events.ScheduledEventUpdateEvent

The parsed scheduled event update event object.

abstract deserialize_scheduled_event_user_add_event(shard, payload)[source]#

Parse a raw payload from Discord into a scheduled event user add event object.

Parameters:
shardhikari.api.shard.GatewayShard

The shard that emitted this event.

payloadhikari.internal.data_binding.JSONObject

The dict payload to parse.

Returns:
hikari.events.scheduled_events.ScheduledEventUserAddEvent

The parsed scheduled event user add event object.

abstract deserialize_scheduled_event_user_remove_event(shard, payload)[source]#

Parse a raw payload from Discord into a scheduled event user remove event object.

Parameters:
shardhikari.api.shard.GatewayShard

The shard that emitted this event.

payloadhikari.internal.data_binding.JSONObject

The dict payload to parse.

Returns:
hikari.events.scheduled_events.ScheduledEventUserRemoveEvent

The parsed scheduled event user remove event object.

abstract deserialize_shard_payload_event(shard, payload, *, name)[source]#

Parse a raw payload from Discord into a shard payload event object.

Parameters:
shardhikari.api.shard.GatewayShard

The shard that emitted this event.

payloadhikari.internal.data_binding.JSONObject

The dict payload to parse.

namestr

Name of the event.

Returns:
hikari.events.shard_events.ShardPayloadEvent

The parsed shard payload event object.

abstract deserialize_started_event()[source]#

Build a started event object.

Returns:
hikari.events.lifetime_events.StartingEvent

The built started event object.

abstract deserialize_starting_event()[source]#

Build a starting event object.

Returns:
hikari.events.lifetime_events.StartingEvent

The built starting event object.

abstract deserialize_stopped_event()[source]#

Build a stopped event object.

Returns:
hikari.events.lifetime_events.StartingEvent

The built starting event object.

abstract deserialize_stopping_event()[source]#

Build a starting event object.

Returns:
hikari.events.lifetime_events.StartingEvent

The built starting event object.

abstract deserialize_thread_list_sync_event(shard, payload)[source]#

Parse a raw payload from Discord into a thread list sync event object.

Parameters:
shardhikari.api.shard.GatewayShard

The shard that emitted this event.

payloadhikari.internal.data_binding.JSONObject

The dict payload to parse.

Returns:
hikari.events.channel_events.ThreadListSyncEvent

The parsed thread member list sync event object.

abstract deserialize_thread_members_update_event(shard, payload)[source]#

Parse a raw payload from Discord into a thread members update event object.

Parameters:
shardhikari.api.shard.GatewayShard

The shard that emitted this event.

payloadhikari.internal.data_binding.JSONObject

The dict payload to parse.

Returns:
hikari.events.channel_events.ThreadMembersUpdateEvent

The parsed thread members update event object.

abstract deserialize_typing_start_event(shard, payload)[source]#

Parse a raw payload from Discord into a typing start event object.

Parameters:
shardhikari.api.shard.GatewayShard

The shard that emitted this event.

payloadhikari.internal.data_binding.JSONObject

The dict payload to parse.

Returns:
hikari.events.typing_events.TypingEvent

The parsed typing start event object.

abstract deserialize_voice_server_update_event(shard, payload)[source]#

Parse a raw payload from Discord into a voice server update event object.

Parameters:
shardhikari.api.shard.GatewayShard

The shard that emitted this event.

payloadhikari.internal.data_binding.JSONObject

The dict payload to parse.

Returns:
hikari.events.voice_events.VoiceServerUpdateEvent

The parsed voice server update event object.

abstract deserialize_voice_state_update_event(shard, payload, *, old_state=None)[source]#

Parse a raw payload from Discord into a voice state update event object.

Parameters:
shardhikari.api.shard.GatewayShard

The shard that emitted this event.

payloadhikari.internal.data_binding.JSONObject

The dict payload to parse.

Other Parameters:
old_statetyping.Optional[hikari.voices.VoiceState]

The VoiceState object or None.

Returns:
hikari.events.voice_events.VoiceStateUpdateEvent

The parsed voice state update event object.

abstract deserialize_webhook_update_event(shard, payload)[source]#

Parse a raw payload from Discord into a webhook update event object.

Parameters:
shardhikari.api.shard.GatewayShard

The shard that emitted this event.

payloadhikari.internal.data_binding.JSONObject

The dict payload to parse.

Returns:
hikari.events.channel_events.WebhookUpdateEvent

The parsed webhook update event object.