Skip to main content

Bot

Documentation


Documentation / @discordeno/bot / Bot

Interface: Bot<TProps, TBehavior>

Defined in: bot.ts:146

Type Parameters​

TProps​

TProps extends TransformersDesiredProperties = TransformersDesiredProperties

TBehavior​

TBehavior extends DesiredPropertiesBehavior = RemoveKey

Properties​

applicationId​

applicationId: bigint

Defined in: bot.ts:153

The application id of the bot. This is usually the same as id but in the case of old bots can be different.


events​

events: Partial<EventHandlers<TProps, TBehavior>>

Defined in: bot.ts:159

The event handlers.


gateway​

gateway: GatewayManager

Defined in: bot.ts:157

The gateway manager.


handlers​

handlers: GatewayHandlers<TProps, TBehavior>

Defined in: bot.ts:169

The handler functions that should handle incoming discord payloads from gateway and call an event.


helpers​

helpers: BotHelpers<TProps, TBehavior>

Defined in: bot.ts:170


id​

id: bigint

Defined in: bot.ts:151

The id of the bot.


logger​

logger: Pick<typeof logger, "debug" | "info" | "warn" | "error" | "fatal">

Defined in: bot.ts:161

A logger utility to make it easy to log nice and useful things in the bot code.


rest​

rest: RestManager

Defined in: bot.ts:155

The rest manager.


shutdown​

shutdown: () => Promise<void>

Defined in: bot.ts:174

Shuts down all the bot connections to the gateway.

Returns​

Promise<void>


start​

start: () => Promise<void>

Defined in: bot.ts:172

Start the bot connection to the gateway.

Returns​

Promise<void>


transformers​

transformers: TransformerFunctions<TProps, TBehavior> & object & object

Defined in: bot.ts:163

The functions that should transform discord objects to discordeno shaped objects.

Type Declaration​

customizers​

customizers: TransformerCustomizers<TProps, TBehavior>

desiredProperties​

desiredProperties: TProps

reverse​

reverse: object

reverse.activity​

activity: (bot, payload) => DiscordActivity

Parameters​
bot​

Bot<TProps, TBehavior>

payload​

Activity

Returns​

DiscordActivity

reverse.activityAssets​

activityAssets: (bot, payload) => DiscordActivityAssets

Parameters​
bot​

Bot<TProps, TBehavior>

payload​

ActivityAssets

Returns​

DiscordActivityAssets

reverse.allowedMentions​

allowedMentions: (bot, payload) => DiscordAllowedMentions

Parameters​
bot​

Bot<TProps, TBehavior>

payload​

AllowedMentions

Returns​

DiscordAllowedMentions

reverse.application​

application: (bot, payload) => DiscordApplication

Parameters​
bot​

Bot<TProps, TBehavior>

payload​

Application

Returns​

DiscordApplication

reverse.applicationCommand​

applicationCommand: (bot, payload) => DiscordApplicationCommand

Parameters​
bot​

Bot<TProps, TBehavior>

payload​

ApplicationCommand

Returns​

DiscordApplicationCommand

reverse.applicationCommandOption​

applicationCommandOption: (bot, payload) => DiscordApplicationCommandOption

Parameters​
bot​

Bot<TProps, TBehavior>

payload​

ApplicationCommandOption

Returns​

DiscordApplicationCommandOption

reverse.applicationCommandOptionChoice​

applicationCommandOptionChoice: (bot, payload) => DiscordApplicationCommandOptionChoice

Parameters​
bot​

Bot<TProps, TBehavior>

payload​

ApplicationCommandOptionChoice

Returns​

DiscordApplicationCommandOptionChoice

reverse.attachment​

attachment: (bot, payload) => DiscordAttachment

Parameters​
bot​

Bot<TProps, TBehavior>

payload​

SetupDesiredProps<Attachment, TProps, TBehavior>

Returns​

DiscordAttachment

reverse.collectibles​

collectibles: (bot, payload) => DiscordCollectibles

Parameters​
bot​

Bot<TProps, TBehavior>

payload​

SetupDesiredProps<Collectibles, TProps, TBehavior>

Returns​

DiscordCollectibles

reverse.component​

component: (bot, payload) => DiscordMessageComponent | DiscordMessageComponentFromModalInteractionResponse

Parameters​
bot​

Bot<TProps, TBehavior>

payload​

Component

Returns​

DiscordMessageComponent | DiscordMessageComponentFromModalInteractionResponse

reverse.embed​

embed: (bot, payload) => DiscordEmbed

Parameters​
bot​

Bot<TProps, TBehavior>

payload​

Embed

Returns​

DiscordEmbed

reverse.mediaGalleryItem​

mediaGalleryItem: (bot, payload) => DiscordMediaGalleryItem

Parameters​
bot​

Bot<TProps, TBehavior>

payload​

MediaGalleryItem

Returns​

DiscordMediaGalleryItem

reverse.member​

member: (bot, payload) => DiscordMember

Parameters​
bot​

Bot<TProps, TBehavior>

payload​

SetupDesiredProps<Member, TProps, TBehavior>

Returns​

DiscordMember

reverse.nameplate​

nameplate: (bot, payload) => DiscordNameplate

Parameters​
bot​

Bot<TProps, TBehavior>

payload​

SetupDesiredProps<Nameplate, TProps, TBehavior>

Returns​

DiscordNameplate

reverse.snowflake​

snowflake: (snowflake) => string

Parameters​
snowflake​

BigString

Returns​

string

reverse.team​

team: (bot, payload) => DiscordTeam

Parameters​
bot​

Bot<TProps, TBehavior>

payload​

Team

Returns​

DiscordTeam

reverse.unfurledMediaItem​

unfurledMediaItem: (bot, payload) => DiscordUnfurledMediaItem

Parameters​
bot​

Bot<TProps, TBehavior>

payload​

UnfurledMediaItem

Returns​

DiscordUnfurledMediaItem

reverse.user​

user: (bot, payload) => DiscordUser

Parameters​
bot​

Bot<TProps, TBehavior>

payload​

SetupDesiredProps<User, TProps, TBehavior>

Returns​

DiscordUser

snowflake​

snowflake: (snowflake) => bigint

Parameters​
snowflake​

BigString

Returns​

bigint

$inferredTypes​

$inferredTypes: object

$inferredTypes.activity​

activity: TransformerInformation<DiscordActivity, Activity>

$inferredTypes.activityAssets​

activityAssets: TransformerInformation<DiscordActivityAssets, ActivityAssets>

$inferredTypes.activityEmoji​

activityEmoji: TransformerInformation<DiscordActivityEmoji, ActivityEmoji>

$inferredTypes.activityInstance​

activityInstance: TransformerInformation<DiscordActivityInstance, ActivityInstance>

$inferredTypes.activityLocation​

activityLocation: TransformerInformation<DiscordActivityLocation, ActivityLocation>

$inferredTypes.application​

application: TransformerInformation<DiscordApplication, Application, { shardId?: number; }>

$inferredTypes.applicationCommand​

applicationCommand: TransformerInformation<DiscordApplicationCommand, ApplicationCommand>

$inferredTypes.applicationCommandOption​

applicationCommandOption: TransformerInformation<DiscordApplicationCommandOption, ApplicationCommandOption>

$inferredTypes.applicationCommandOptionChoice​

applicationCommandOptionChoice: TransformerInformation<DiscordApplicationCommandOptionChoice, ApplicationCommandOptionChoice>

$inferredTypes.applicationCommandPermissions​

applicationCommandPermissions: TransformerInformation<DiscordApplicationCommandPermissions, ApplicationCommandPermissions>

$inferredTypes.attachment​

attachment: TransformerInformation<DiscordAttachment, Attachment>

$inferredTypes.auditLogEntry​

auditLogEntry: TransformerInformation<DiscordAuditLogEntry, AuditLogEntry>

$inferredTypes.autoModerationAction​

autoModerationAction: TransformerInformation<DiscordAutoModerationAction, AutoModerationAction>

$inferredTypes.autoModerationActionExecution​

autoModerationActionExecution: TransformerInformation<DiscordAutoModerationActionExecution, AutoModerationActionExecution>

$inferredTypes.autoModerationActionMetadata​

autoModerationActionMetadata: TransformerInformation<DiscordAutoModerationActionMetadata, AutoModerationActionMetadata>

$inferredTypes.autoModerationRule​

autoModerationRule: TransformerInformation<DiscordAutoModerationRule, AutoModerationRule>

$inferredTypes.autoModerationRuleTriggerMetadata​

autoModerationRuleTriggerMetadata: TransformerInformation<DiscordAutoModerationRuleTriggerMetadata, AutoModerationRuleTriggerMetadata>

$inferredTypes.avatarDecorationData​

avatarDecorationData: TransformerInformation<DiscordAvatarDecorationData, AvatarDecorationData>

$inferredTypes.channel​

channel: TransformerInformation<DiscordChannel, Channel, { guildId?: BigString; }>

$inferredTypes.channelInfo​

channelInfo: TransformerInformation<DiscordChannelInfo, ChannelInfo>

$inferredTypes.channelInfoData​

channelInfoData: TransformerInformation<DiscordChannelInfoData, ChannelInfoData>

$inferredTypes.collectibles​

collectibles: TransformerInformation<DiscordCollectibles, Collectibles>

$inferredTypes.component​

component: TransformerInformation<DiscordMessageComponent | DiscordMessageComponentFromModalInteractionResponse, Component>

$inferredTypes.defaultReactionEmoji​

defaultReactionEmoji: TransformerInformation<DiscordDefaultReactionEmoji, DefaultReactionEmoji>

$inferredTypes.embed​

embed: TransformerInformation<DiscordEmbed, Embed>

$inferredTypes.embedAuthor​

embedAuthor: TransformerInformation<DiscordEmbedAuthor, EmbedAuthor>

$inferredTypes.embedFooter​

embedFooter: TransformerInformation<DiscordEmbedFooter, EmbedFooter>

$inferredTypes.embedImage​

embedImage: TransformerInformation<DiscordEmbedImage, EmbedImage>

$inferredTypes.embedVideo​

embedVideo: TransformerInformation<DiscordEmbedVideo, EmbedVideo>

$inferredTypes.emoji​

emoji: TransformerInformation<DiscordEmoji, Emoji>

$inferredTypes.entitlement​

entitlement: TransformerInformation<DiscordEntitlement, Entitlement>

$inferredTypes.forumTag​

forumTag: TransformerInformation<DiscordForumTag, ForumTag>

$inferredTypes.gatewayBot​

gatewayBot: TransformerInformation<DiscordGetGatewayBot, GetGatewayBot>

$inferredTypes.guild​

guild: TransformerInformation<DiscordGuild, Guild, { shardId?: number; }>

$inferredTypes.guildApplicationCommandPermissions​

guildApplicationCommandPermissions: TransformerInformation<DiscordGuildApplicationCommandPermissions, GuildApplicationCommandPermissions>

$inferredTypes.guildOnboarding​

guildOnboarding: TransformerInformation<DiscordGuildOnboarding, GuildOnboarding>

$inferredTypes.guildOnboardingPrompt​

guildOnboardingPrompt: TransformerInformation<DiscordGuildOnboardingPrompt, GuildOnboardingPrompt>

$inferredTypes.guildOnboardingPromptOption​

guildOnboardingPromptOption: TransformerInformation<DiscordGuildOnboardingPromptOption, GuildOnboardingPromptOption>

$inferredTypes.guildWidget​

guildWidget: TransformerInformation<DiscordGuildWidget, GuildWidget>

$inferredTypes.guildWidgetSettings​

guildWidgetSettings: TransformerInformation<DiscordGuildWidgetSettings, GuildWidgetSettings>

$inferredTypes.incidentsData​

incidentsData: TransformerInformation<DiscordIncidentsData, IncidentsData>

$inferredTypes.integration​

integration: TransformerInformation<DiscordIntegrationCreateUpdate, Integration>

$inferredTypes.integrationAccount​

integrationAccount: TransformerInformation<DiscordIntegrationAccount, IntegrationAccount>

$inferredTypes.integrationApplication​

integrationApplication: TransformerInformation<DiscordIntegrationApplication, IntegrationApplication>

$inferredTypes.interaction​

interaction: TransformerInformation<DiscordInteraction, Interaction, { shardId?: number; }>

$inferredTypes.interactionCallback​

interactionCallback: TransformerInformation<DiscordInteractionCallback, InteractionCallback>

$inferredTypes.interactionCallbackResponse​

interactionCallbackResponse: TransformerInformation<DiscordInteractionCallbackResponse, InteractionCallbackResponse, { shardId?: number; }>

$inferredTypes.interactionDataOption​

interactionDataOption: TransformerInformation<DiscordInteractionDataOption, InteractionDataOption>

$inferredTypes.interactionDataResolved​

interactionDataResolved: TransformerInformation<DiscordInteractionDataResolved, InteractionDataResolved, { guildId?: BigString; shardId?: number; }>

$inferredTypes.interactionResource​

interactionResource: TransformerInformation<DiscordInteractionResource, InteractionResource, { shardId?: number; }>

$inferredTypes.invite​

invite: TransformerInformation<DiscordInviteMetadata, Invite, { shardId?: number; }>

$inferredTypes.inviteStageInstance​

inviteStageInstance: TransformerInformation<DiscordInviteStageInstance, InviteStageInstance, { guildId?: BigString; }>

$inferredTypes.lobby​

lobby: TransformerInformation<DiscordLobby, Lobby>

$inferredTypes.lobbyInvite​

lobbyInvite: TransformerInformation<DiscordLobbyInvite, LobbyInvite>

$inferredTypes.lobbyMember​

lobbyMember: TransformerInformation<DiscordLobbyMember, LobbyMember>

$inferredTypes.lobbyMessage​

lobbyMessage: TransformerInformation<DiscordLobbyMessage, LobbyMessage>

$inferredTypes.lobbyMessageLobbyMember​

lobbyMessageLobbyMember: TransformerInformation<DiscordLobbyMessageLobbyMember, LobbyMessageLobbyMember>

$inferredTypes.mediaGalleryItem​

mediaGalleryItem: TransformerInformation<DiscordMediaGalleryItem, MediaGalleryItem>

$inferredTypes.member​

member: TransformerInformation<DiscordMember, Member, { guildId?: BigString; userId?: BigString; }>

$inferredTypes.message​

message: TransformerInformation<DiscordMessage, Message, { shardId?: number; }>

$inferredTypes.messageCall​

messageCall: TransformerInformation<DiscordMessageCall, MessageCall>

$inferredTypes.messageInteractionMetadata​

messageInteractionMetadata: TransformerInformation<DiscordMessageInteractionMetadata, MessageInteractionMetadata>

$inferredTypes.messagePin​

messagePin: TransformerInformation<DiscordMessagePin, MessagePin, { shardId?: number; }>

$inferredTypes.messageSnapshot​

messageSnapshot: TransformerInformation<DiscordMessageSnapshot, MessageSnapshot, { shardId?: number; }>

$inferredTypes.nameplate​

nameplate: TransformerInformation<DiscordNameplate, Nameplate>

$inferredTypes.optionalAuditEntryInfo​

optionalAuditEntryInfo: TransformerInformation<DiscordOptionalAuditEntryInfo, OptionalAuditEntryInfo>

$inferredTypes.poll​

poll: TransformerInformation<DiscordPoll, Poll>

$inferredTypes.pollMedia​

pollMedia: TransformerInformation<DiscordPollMedia, PollMedia>

$inferredTypes.presence​

presence: TransformerInformation<DiscordPresenceUpdate, PresenceUpdate>

$inferredTypes.role​

role: TransformerInformation<DiscordRole, Role, { guildId?: BigString; }>

$inferredTypes.roleColors​

roleColors: TransformerInformation<DiscordRoleColors, RoleColors>

$inferredTypes.scheduledEvent​

scheduledEvent: TransformerInformation<DiscordScheduledEvent, ScheduledEvent>

$inferredTypes.scheduledEventRecurrenceRule​

scheduledEventRecurrenceRule: TransformerInformation<DiscordScheduledEventRecurrenceRule, ScheduledEventRecurrenceRule>

$inferredTypes.sessionStartLimit​

sessionStartLimit: TransformerInformation<DiscordSessionStartLimit, SessionStartLimit>

$inferredTypes.sharedClientTheme​

sharedClientTheme: TransformerInformation<DiscordSharedClientTheme, SharedClientTheme>

$inferredTypes.sku​

sku: TransformerInformation<DiscordSku, Sku>

$inferredTypes.soundboardSound​

soundboardSound: TransformerInformation<DiscordSoundboardSound, SoundboardSound>

$inferredTypes.stageInstance​

stageInstance: TransformerInformation<DiscordStageInstance, StageInstance>

$inferredTypes.sticker​

sticker: TransformerInformation<DiscordSticker, Sticker>

$inferredTypes.stickerPack​

stickerPack: TransformerInformation<DiscordStickerPack, StickerPack>

$inferredTypes.subscription​

subscription: TransformerInformation<DiscordSubscription, Subscription>

$inferredTypes.team​

team: TransformerInformation<DiscordTeam, Team>

$inferredTypes.teamMember​

teamMember: TransformerInformation<DiscordTeamMember, TeamMember>

$inferredTypes.template​

template: TransformerInformation<DiscordTemplate, Template>

$inferredTypes.threadMember​

threadMember: TransformerInformation<DiscordThreadMember, ThreadMember, ThreadMemberTransformerExtra>

$inferredTypes.threadMemberGuildCreate​

threadMemberGuildCreate: TransformerInformation<DiscordThreadMemberGuildCreate, ThreadMemberGuildCreate>

$inferredTypes.unfurledMediaItem​

unfurledMediaItem: TransformerInformation<DiscordUnfurledMediaItem, UnfurledMediaItem>

$inferredTypes.user​

user: TransformerInformation<DiscordUser, User>

$inferredTypes.userPrimaryGuild​

userPrimaryGuild: TransformerInformation<DiscordUserPrimaryGuild, UserPrimaryGuild>

$inferredTypes.voiceRegion​

voiceRegion: TransformerInformation<DiscordVoiceRegion, VoiceRegion>

$inferredTypes.voiceState​

voiceState: TransformerInformation<DiscordVoiceState, VoiceState, { guildId?: BigString; }>

$inferredTypes.webhook​

webhook: TransformerInformation<DiscordWebhook, Webhook>

$inferredTypes.welcomeScreen​

welcomeScreen: TransformerInformation<DiscordWelcomeScreen, WelcomeScreen>

$inferredTypes.welcomeScreenChannel​

welcomeScreenChannel: TransformerInformation<DiscordWelcomeScreenChannel, WelcomeScreenChannel>