Carbon
Core/Classes

BaseListener

Base class for creating event listeners that handle Discord gateway events. This abstract class defines the structure for event listeners and provides type safety for event handling.

Extended by

Constructors

Constructor

new BaseListener(): BaseListener

Returns

BaseListener

Properties

PropertyModifierType
typeabstractListenerEventType

Methods

handle()

abstract handle(data, client): Promise<void>

Parameters

ParameterType
dataobject & Omit<APIWebhookEventApplicationAuthorizedData, "user" | "guild"> | APIEntitlement & object | GatewayApplicationCommandPermissionsUpdateDispatchData & object | GatewayAutoModerationActionExecutionDispatchData & object | APIAutoModerationRule & object | APIAutoModerationRule & object | APIAutoModerationRule & object | ((APIGuildCategoryChannel & { type: ChannelType.GuildText | ChannelType.GuildVoice | ChannelType.GuildCategory | ChannelType.GuildAnnouncement | ChannelType.GuildStageVoice | ChannelType.GuildDirectory | ChannelType.GuildForum | ChannelType.GuildMedia; guild_id: string; }) | ... 5 more ... | (APITextChannel & { ...;... | ((APIGuildCategoryChannel & { type: ChannelType.GuildText | ChannelType.GuildVoice | ChannelType.GuildCategory | ChannelType.GuildAnnouncement | ChannelType.GuildStageVoice | ChannelType.GuildDirectory | ChannelType.GuildForum | ChannelType.GuildMedia; guild_id: string; }) | ... 5 more ... | (APITextChannel & { ...;... | GatewayChannelPinsUpdateDispatchData & object | ((APIGuildCategoryChannel & { type: ChannelType.GuildText | ChannelType.GuildVoice | ChannelType.GuildCategory | ChannelType.GuildAnnouncement | ChannelType.GuildStageVoice | ChannelType.GuildDirectory | ChannelType.GuildForum | ChannelType.GuildMedia; guild_id: string; }) | ... 5 more ... | (APITextChannel & { ...;... | APIEntitlement & object | APIEntitlement & object | GatewayGuildAuditLogEntryCreateDispatchData & object | GatewayGuildBanModifyDispatchData & object | GatewayGuildBanModifyDispatchData & object | GatewayGuildCreateDispatchData & object | GatewayGuildDeleteDispatchData & object | GatewayGuildEmojisUpdateDispatchData & object | GatewayGuildIntegrationsUpdateDispatchData & object | GatewayGuildMemberAddDispatchData & object | GatewayGuildMemberRemoveDispatchData & object | _Nullable<Pick<APIGuildMember, "joined_at">> & Omit<APIGuildMember, "flags" | "user" | "joined_at" | "deaf" | "mute"> & Partial<Pick<APIGuildMember, "flags" | "deaf" | "mute">> & Required<Pick<APIGuildMember, "user" | "avatar" | "banner">> & object & object | GatewayGuildMembersChunkDispatchData & object | GatewayGuildRoleModifyDispatchData & object | GatewayGuildRoleDeleteDispatchData & object | GatewayGuildRoleModifyDispatchData & object | APIGuildScheduledEvent & { guild: Guild<true>; creator?: User<false> | undefined; } | APIGuildScheduledEvent & { guild: Guild<true>; } | APIGuildScheduledEvent & { guild: Guild<true>; } | GatewayGuildScheduledEventUserAddDispatchData & object | GatewayGuildScheduledEventUserRemoveDispatchData & object | APISoundboardSound & object | GatewayGuildSoundboardSoundDeleteDispatchData & object | APISoundboardSound & object | GatewayGuildSoundboardSoundsUpdateDispatchData & object | GatewayGuildSoundboardSoundsUpdateDispatchData & object | GatewayGuildStickersUpdateDispatchData & object | APIGuild & object | APIGuildIntegration & object & object | GatewayIntegrationDeleteDispatchData & object | APIGuildIntegration & object & object | APIInteraction & { guild?: Guild<true> | undefined; member?: GuildMember<false, false> | undefined; user: User<false>; } | GatewayInviteCreateDispatchData & object | GatewayInviteDeleteDispatchData & object | GatewayMessageEventExtraFields & Omit<APIMessage, "mentions"> & object | GatewayMessageDeleteDispatchData & object | GatewayMessageDeleteBulkDispatchData & object | Omit<{ }, never> & object | Omit<{ }, "member" | "message_author_id" | "burst_colors"> & object | GatewayMessageReactionRemoveData & object | GatewayMessageReactionRemoveEmojiDispatchData & object | GatewayMessageEventExtraFields & Omit<APIMessage, "mentions"> & object | GatewayPresenceUpdate & object | GatewayReadyDispatchData & object | APIStageInstance & object | APIStageInstance & object | APIStageInstance & object | APISubscription & object | APISubscription & object | APISubscription & object | GatewayThreadCreateDispatchData & object | GatewayThreadDeleteDispatchData & object | GatewayThreadListSync & object | APIThreadMember & object & object | GatewayThreadMembersUpdate & object | APIThreadChannel & object | GatewayTypingStartDispatchData & object | APIUser & object | GatewayVoiceServerUpdateDispatchData & object | APIVoiceState & object | GatewayWebhooksUpdateDispatchData & object | GatewayMessagePollVoteDispatchData & object | GatewayMessagePollVoteDispatchData & object | GatewayVoiceChannelEffectSendDispatchData & object
clientClient

Returns

Promise<void>


parseRawData()

abstract parseRawData(data, client): object & Omit<APIWebhookEventApplicationAuthorizedData, "user" | "guild"> | APIEntitlement & object | GatewayApplicationCommandPermissionsUpdateDispatchData & object | GatewayAutoModerationActionExecutionDispatchData & object | APIAutoModerationRule & object | APIAutoModerationRule & object | APIAutoModerationRule & object | ((APIGuildCategoryChannel & { type: ChannelType.GuildText | ChannelType.GuildVoice | ChannelType.GuildCategory | ChannelType.GuildAnnouncement | ChannelType.GuildStageVoice | ChannelType.GuildDirectory | ChannelType.GuildForum | ChannelType.GuildMedia; guild_id: string; }) | ... 5 more ... | (APITextChannel & { ...;... | ((APIGuildCategoryChannel & { type: ChannelType.GuildText | ChannelType.GuildVoice | ChannelType.GuildCategory | ChannelType.GuildAnnouncement | ChannelType.GuildStageVoice | ChannelType.GuildDirectory | ChannelType.GuildForum | ChannelType.GuildMedia; guild_id: string; }) | ... 5 more ... | (APITextChannel & { ...;... | GatewayChannelPinsUpdateDispatchData & object | ((APIGuildCategoryChannel & { type: ChannelType.GuildText | ChannelType.GuildVoice | ChannelType.GuildCategory | ChannelType.GuildAnnouncement | ChannelType.GuildStageVoice | ChannelType.GuildDirectory | ChannelType.GuildForum | ChannelType.GuildMedia; guild_id: string; }) | ... 5 more ... | (APITextChannel & { ...;... | APIEntitlement & object | APIEntitlement & object | GatewayGuildAuditLogEntryCreateDispatchData & object | GatewayGuildBanModifyDispatchData & object | GatewayGuildBanModifyDispatchData & object | GatewayGuildCreateDispatchData & object | GatewayGuildDeleteDispatchData & object | GatewayGuildEmojisUpdateDispatchData & object | GatewayGuildIntegrationsUpdateDispatchData & object | GatewayGuildMemberAddDispatchData & object | GatewayGuildMemberRemoveDispatchData & object | _Nullable<Pick<APIGuildMember, "joined_at">> & Omit<APIGuildMember, "flags" | "user" | "joined_at" | "deaf" | "mute"> & Partial<Pick<APIGuildMember, "flags" | "deaf" | "mute">> & Required<Pick<APIGuildMember, "user" | "avatar" | "banner">> & object & object | GatewayGuildMembersChunkDispatchData & object | GatewayGuildRoleModifyDispatchData & object | GatewayGuildRoleDeleteDispatchData & object | GatewayGuildRoleModifyDispatchData & object | APIGuildScheduledEvent & { guild: Guild<true>; creator?: User<false> | undefined; } | APIGuildScheduledEvent & { guild: Guild<true>; } | APIGuildScheduledEvent & { guild: Guild<true>; } | GatewayGuildScheduledEventUserAddDispatchData & object | GatewayGuildScheduledEventUserRemoveDispatchData & object | APISoundboardSound & object | GatewayGuildSoundboardSoundDeleteDispatchData & object | APISoundboardSound & object | GatewayGuildSoundboardSoundsUpdateDispatchData & object | GatewayGuildSoundboardSoundsUpdateDispatchData & object | GatewayGuildStickersUpdateDispatchData & object | APIGuild & object | APIGuildIntegration & object & object | GatewayIntegrationDeleteDispatchData & object | APIGuildIntegration & object & object | APIInteraction & { guild?: Guild<true> | undefined; member?: GuildMember<false, false> | undefined; user: User<false>; } | GatewayInviteCreateDispatchData & object | GatewayInviteDeleteDispatchData & object | GatewayMessageEventExtraFields & Omit<APIMessage, "mentions"> & object | GatewayMessageDeleteDispatchData & object | GatewayMessageDeleteBulkDispatchData & object | Omit<{ }, never> & object | Omit<{ }, "member" | "message_author_id" | "burst_colors"> & object | GatewayMessageReactionRemoveData & object | GatewayMessageReactionRemoveEmojiDispatchData & object | GatewayMessageEventExtraFields & Omit<APIMessage, "mentions"> & object | GatewayPresenceUpdate & object | GatewayReadyDispatchData & object | APIStageInstance & object | APIStageInstance & object | APIStageInstance & object | APISubscription & object | APISubscription & object | APISubscription & object | GatewayThreadCreateDispatchData & object | GatewayThreadDeleteDispatchData & object | GatewayThreadListSync & object | APIThreadMember & object & object | GatewayThreadMembersUpdate & object | APIThreadChannel & object | GatewayTypingStartDispatchData & object | APIUser & object | GatewayVoiceServerUpdateDispatchData & object | APIVoiceState & object | GatewayWebhooksUpdateDispatchData & object | GatewayMessagePollVoteDispatchData & object | GatewayMessagePollVoteDispatchData & object | GatewayVoiceChannelEffectSendDispatchData & object

Parameters

ParameterType
dataAPIThreadChannel | APIUser | APIGuild | APIWebhookEventApplicationAuthorizedData | APIEntitlement | GatewayApplicationCommandPermissionsUpdateDispatchData | GatewayAutoModerationActionExecutionDispatchData | APIAutoModerationRule | never | never | APIGuildCategoryChannel & object | APIGuildForumChannel & object | APIGuildMediaChannel & object | APIGuildStageVoiceChannel & object | APIGuildVoiceChannel & object | APINewsChannel & object | APITextChannel & object | never | GatewayChannelPinsUpdateDispatchData | GatewayGuildAuditLogEntryCreateDispatchData | GatewayGuildBanModifyDispatchData | GatewayGuildCreateDispatchData | GatewayGuildDeleteDispatchData | GatewayGuildEmojisUpdateDispatchData | GatewayGuildIntegrationsUpdateDispatchData | GatewayGuildMemberAddDispatchData | GatewayGuildMemberRemoveDispatchData | GatewayGuildMemberUpdateDispatchData | GatewayGuildMembersChunkDispatchData | GatewayGuildRoleModifyDispatchData | GatewayGuildRoleDeleteDispatchData | APIGuildScheduledEvent | GatewayGuildScheduledEventUserAddDispatchData | GatewayGuildScheduledEventUserRemoveDispatchData | APISoundboardSound | GatewayGuildSoundboardSoundDeleteDispatchData | GatewayGuildSoundboardSoundsUpdateDispatchData | GatewayGuildStickersUpdateDispatchData | GatewayIntegrationCreateDispatchData | GatewayIntegrationDeleteDispatchData | GatewayIntegrationUpdateDispatchData | APIInteraction | GatewayInviteCreateDispatchData | GatewayInviteDeleteDispatchData | GatewayMessageCreateDispatchData | GatewayMessageDeleteDispatchData | GatewayMessageDeleteBulkDispatchData | Omit<{ }, never> | Omit<{ }, "member" | "message_author_id" | "burst_colors"> | GatewayMessageReactionRemoveData | GatewayMessageReactionRemoveEmojiDispatchData | GatewayMessageUpdateDispatchData | GatewayPresenceUpdate | GatewayReadyDispatchData | APIStageInstance | APISubscription | GatewayThreadCreateDispatchData | GatewayThreadDeleteDispatchData | GatewayThreadListSync | GatewayThreadMemberUpdateDispatchData | GatewayThreadMembersUpdate | GatewayTypingStartDispatchData | GatewayVoiceServerUpdateDispatchData | APIVoiceState | GatewayWebhooksUpdateDispatchData | GatewayMessagePollVoteDispatchData | GatewayVoiceChannelEffectSendDispatchData
clientClient

Returns

object & Omit<APIWebhookEventApplicationAuthorizedData, "user" | "guild"> | APIEntitlement & object | GatewayApplicationCommandPermissionsUpdateDispatchData & object | GatewayAutoModerationActionExecutionDispatchData & object | APIAutoModerationRule & object | APIAutoModerationRule & object | APIAutoModerationRule & object | ((APIGuildCategoryChannel & { type: ChannelType.GuildText | ChannelType.GuildVoice | ChannelType.GuildCategory | ChannelType.GuildAnnouncement | ChannelType.GuildStageVoice | ChannelType.GuildDirectory | ChannelType.GuildForum | ChannelType.GuildMedia; guild_id: string; }) | ... 5 more ... | (APITextChannel & { ...;... | ((APIGuildCategoryChannel & { type: ChannelType.GuildText | ChannelType.GuildVoice | ChannelType.GuildCategory | ChannelType.GuildAnnouncement | ChannelType.GuildStageVoice | ChannelType.GuildDirectory | ChannelType.GuildForum | ChannelType.GuildMedia; guild_id: string; }) | ... 5 more ... | (APITextChannel & { ...;... | GatewayChannelPinsUpdateDispatchData & object | ((APIGuildCategoryChannel & { type: ChannelType.GuildText | ChannelType.GuildVoice | ChannelType.GuildCategory | ChannelType.GuildAnnouncement | ChannelType.GuildStageVoice | ChannelType.GuildDirectory | ChannelType.GuildForum | ChannelType.GuildMedia; guild_id: string; }) | ... 5 more ... | (APITextChannel & { ...;... | APIEntitlement & object | APIEntitlement & object | GatewayGuildAuditLogEntryCreateDispatchData & object | GatewayGuildBanModifyDispatchData & object | GatewayGuildBanModifyDispatchData & object | GatewayGuildCreateDispatchData & object | GatewayGuildDeleteDispatchData & object | GatewayGuildEmojisUpdateDispatchData & object | GatewayGuildIntegrationsUpdateDispatchData & object | GatewayGuildMemberAddDispatchData & object | GatewayGuildMemberRemoveDispatchData & object | _Nullable<Pick<APIGuildMember, "joined_at">> & Omit<APIGuildMember, "flags" | "user" | "joined_at" | "deaf" | "mute"> & Partial<Pick<APIGuildMember, "flags" | "deaf" | "mute">> & Required<Pick<APIGuildMember, "user" | "avatar" | "banner">> & object & object | GatewayGuildMembersChunkDispatchData & object | GatewayGuildRoleModifyDispatchData & object | GatewayGuildRoleDeleteDispatchData & object | GatewayGuildRoleModifyDispatchData & object | APIGuildScheduledEvent & { guild: Guild<true>; creator?: User<false> | undefined; } | APIGuildScheduledEvent & { guild: Guild<true>; } | APIGuildScheduledEvent & { guild: Guild<true>; } | GatewayGuildScheduledEventUserAddDispatchData & object | GatewayGuildScheduledEventUserRemoveDispatchData & object | APISoundboardSound & object | GatewayGuildSoundboardSoundDeleteDispatchData & object | APISoundboardSound & object | GatewayGuildSoundboardSoundsUpdateDispatchData & object | GatewayGuildSoundboardSoundsUpdateDispatchData & object | GatewayGuildStickersUpdateDispatchData & object | APIGuild & object | APIGuildIntegration & object & object | GatewayIntegrationDeleteDispatchData & object | APIGuildIntegration & object & object | APIInteraction & { guild?: Guild<true> | undefined; member?: GuildMember<false, false> | undefined; user: User<false>; } | GatewayInviteCreateDispatchData & object | GatewayInviteDeleteDispatchData & object | GatewayMessageEventExtraFields & Omit<APIMessage, "mentions"> & object | GatewayMessageDeleteDispatchData & object | GatewayMessageDeleteBulkDispatchData & object | Omit<{ }, never> & object | Omit<{ }, "member" | "message_author_id" | "burst_colors"> & object | GatewayMessageReactionRemoveData & object | GatewayMessageReactionRemoveEmojiDispatchData & object | GatewayMessageEventExtraFields & Omit<APIMessage, "mentions"> & object | GatewayPresenceUpdate & object | GatewayReadyDispatchData & object | APIStageInstance & object | APIStageInstance & object | APIStageInstance & object | APISubscription & object | APISubscription & object | APISubscription & object | GatewayThreadCreateDispatchData & object | GatewayThreadDeleteDispatchData & object | GatewayThreadListSync & object | APIThreadMember & object & object | GatewayThreadMembersUpdate & object | APIThreadChannel & object | GatewayTypingStartDispatchData & object | APIUser & object | GatewayVoiceServerUpdateDispatchData & object | APIVoiceState & object | GatewayWebhooksUpdateDispatchData & object | GatewayMessagePollVoteDispatchData & object | GatewayMessagePollVoteDispatchData & object | GatewayVoiceChannelEffectSendDispatchData & object

On this page