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

Type Declaration​

$inferredTypes​

$inferredTypes: object

$inferredTypes.activity​

activity: TransformerInformation<DiscordActivity, Activity, false>

$inferredTypes.activityAssets​

activityAssets: TransformerInformation<DiscordActivityAssets, ActivityAssets, false>

$inferredTypes.activityInstance​

activityInstance: TransformerInformation<DiscordActivityInstance, ActivityInstance, true>

$inferredTypes.activityLocation​

activityLocation: TransformerInformation<DiscordActivityLocation, ActivityLocation, true>

$inferredTypes.application​

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

$inferredTypes.applicationCommand​

applicationCommand: TransformerInformation<DiscordApplicationCommand, ApplicationCommand, false>

$inferredTypes.applicationCommandOption​

applicationCommandOption: TransformerInformation<DiscordApplicationCommandOption, ApplicationCommandOption, false>

$inferredTypes.applicationCommandOptionChoice​

applicationCommandOptionChoice: TransformerInformation<DiscordApplicationCommandOptionChoice, ApplicationCommandOptionChoice, false>

$inferredTypes.applicationCommandPermission​

applicationCommandPermission: TransformerInformation<DiscordGuildApplicationCommandPermissions, GuildApplicationCommandPermissions, false>

$inferredTypes.attachment​

attachment: TransformerInformation<DiscordAttachment, Attachment, true>

$inferredTypes.auditLogEntry​

auditLogEntry: TransformerInformation<DiscordAuditLogEntry, AuditLogEntry, false>

$inferredTypes.automodActionExecution​

automodActionExecution: TransformerInformation<DiscordAutoModerationActionExecution, AutoModerationActionExecution, false>

$inferredTypes.automodRule​

automodRule: TransformerInformation<DiscordAutoModerationRule, AutoModerationRule, false>

$inferredTypes.avatarDecorationData​

avatarDecorationData: TransformerInformation<DiscordAvatarDecorationData, AvatarDecorationData, true>

$inferredTypes.channel​

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

$inferredTypes.collectibles​

collectibles: TransformerInformation<DiscordCollectibles, Collectibles, true>

$inferredTypes.component​

component: TransformerInformation<DiscordMessageComponent | DiscordMessageComponentFromModalInteractionResponse, Component, true>

$inferredTypes.defaultReactionEmoji​

defaultReactionEmoji: TransformerInformation<DiscordDefaultReactionEmoji, DefaultReactionEmoji, true>

$inferredTypes.embed​

embed: TransformerInformation<DiscordEmbed, Embed, false>

$inferredTypes.emoji​

emoji: TransformerInformation<DiscordEmoji, Emoji, true>

$inferredTypes.entitlement​

entitlement: TransformerInformation<DiscordEntitlement, Entitlement, true>

$inferredTypes.forumTag​

forumTag: TransformerInformation<DiscordForumTag, ForumTag, true>

$inferredTypes.gatewayBot​

gatewayBot: TransformerInformation<DiscordGetGatewayBot, GetGatewayBot, false>

$inferredTypes.guild​

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

$inferredTypes.guildOnboarding​

guildOnboarding: TransformerInformation<DiscordGuildOnboarding, GuildOnboarding, true>

$inferredTypes.guildOnboardingPrompt​

guildOnboardingPrompt: TransformerInformation<DiscordGuildOnboardingPrompt, GuildOnboardingPrompt, true>

$inferredTypes.guildOnboardingPromptOption​

guildOnboardingPromptOption: TransformerInformation<DiscordGuildOnboardingPromptOption, GuildOnboardingPromptOption, true>

$inferredTypes.incidentsData​

incidentsData: TransformerInformation<DiscordIncidentsData, IncidentsData, true>

$inferredTypes.integration​

integration: TransformerInformation<DiscordIntegrationCreateUpdate, Integration, false>

$inferredTypes.interaction​

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

$inferredTypes.interactionCallback​

interactionCallback: TransformerInformation<DiscordInteractionCallback, InteractionCallback, true>

$inferredTypes.interactionCallbackResponse​

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

$inferredTypes.interactionDataOptions​

interactionDataOptions: TransformerInformation<DiscordInteractionDataOption, InteractionDataOption, false>

$inferredTypes.interactionDataResolved​

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

$inferredTypes.interactionResource​

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

$inferredTypes.invite​

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

$inferredTypes.inviteStageInstance​

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

$inferredTypes.lobby​

lobby: TransformerInformation<DiscordLobby, Lobby, true>

$inferredTypes.lobbyInvite​

lobbyInvite: TransformerInformation<DiscordLobbyInvite, LobbyInvite, true>

$inferredTypes.lobbyMember​

lobbyMember: TransformerInformation<DiscordLobbyMember, LobbyMember, true>

$inferredTypes.lobbyMessage​

lobbyMessage: TransformerInformation<DiscordLobbyMessage, LobbyMessage, true>

$inferredTypes.mediaGalleryItem​

mediaGalleryItem: TransformerInformation<DiscordMediaGalleryItem, MediaGalleryItem, true>

$inferredTypes.member​

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

$inferredTypes.message​

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

$inferredTypes.messageCall​

messageCall: TransformerInformation<DiscordMessageCall, MessageCall, true>

$inferredTypes.messageInteractionMetadata​

messageInteractionMetadata: TransformerInformation<DiscordMessageInteractionMetadata, MessageInteractionMetadata, true>

$inferredTypes.messagePin​

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

$inferredTypes.messageSnapshot​

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

$inferredTypes.nameplate​

nameplate: TransformerInformation<DiscordNameplate, Nameplate, true>

$inferredTypes.poll​

poll: TransformerInformation<DiscordPoll, Poll, true>

$inferredTypes.pollMedia​

pollMedia: TransformerInformation<DiscordPollMedia, PollMedia, true>

$inferredTypes.presence​

presence: TransformerInformation<DiscordPresenceUpdate, PresenceUpdate, true>

$inferredTypes.role​

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

$inferredTypes.roleColors​

roleColors: TransformerInformation<DiscordRoleColors, RoleColors, true>

$inferredTypes.scheduledEvent​

scheduledEvent: TransformerInformation<DiscordScheduledEvent, ScheduledEvent, true>

$inferredTypes.scheduledEventRecurrenceRule​

scheduledEventRecurrenceRule: TransformerInformation<DiscordScheduledEventRecurrenceRule, ScheduledEventRecurrenceRule, true>

$inferredTypes.sharedClientTheme​

sharedClientTheme: TransformerInformation<DiscordSharedClientTheme, SharedClientTheme, true>

$inferredTypes.sku​

sku: TransformerInformation<DiscordSku, Sku, true>

$inferredTypes.soundboardSound​

soundboardSound: TransformerInformation<DiscordSoundboardSound, SoundboardSound, true>

$inferredTypes.stageInstance​

stageInstance: TransformerInformation<DiscordStageInstance, StageInstance, true>

$inferredTypes.sticker​

sticker: TransformerInformation<DiscordSticker, Sticker, true>

$inferredTypes.stickerPack​

stickerPack: TransformerInformation<DiscordStickerPack, StickerPack, false>

$inferredTypes.subscription​

subscription: TransformerInformation<DiscordSubscription, Subscription, true>

$inferredTypes.team​

team: TransformerInformation<DiscordTeam, Team, false>

$inferredTypes.template​

template: TransformerInformation<DiscordTemplate, Template, false>

$inferredTypes.threadMember​

threadMember: TransformerInformation<DiscordThreadMember, ThreadMember, false, ThreadMemberTransformerExtra>

$inferredTypes.threadMemberGuildCreate​

threadMemberGuildCreate: TransformerInformation<DiscordThreadMemberGuildCreate, ThreadMemberGuildCreate, false>

$inferredTypes.unfurledMediaItem​

unfurledMediaItem: TransformerInformation<DiscordUnfurledMediaItem, UnfurledMediaItem, true>

$inferredTypes.user​

user: TransformerInformation<DiscordUser, User, true>

$inferredTypes.userPrimaryGuild​

userPrimaryGuild: TransformerInformation<DiscordUserPrimaryGuild, UserPrimaryGuild, true>

$inferredTypes.voiceRegion​

voiceRegion: TransformerInformation<DiscordVoiceRegion, VoiceRegion, false>

$inferredTypes.voiceState​

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

$inferredTypes.webhook​

webhook: TransformerInformation<DiscordWebhook, Webhook, true>

$inferredTypes.welcomeScreen​

welcomeScreen: TransformerInformation<DiscordWelcomeScreen, WelcomeScreen, false>

$inferredTypes.widget​

widget: TransformerInformation<DiscordGuildWidget, GuildWidget, false>

$inferredTypes.widgetSettings​

widgetSettings: TransformerInformation<DiscordGuildWidgetSettings, GuildWidgetSettings, false>