Skip to main content

Bot

Documentation


Documentation / @discordeno/bot / Bot

Interface: Bot<TProps, TBehavior>

Defined in: bot.ts:144

Type Parameters

TProps

TProps extends TransformersDesiredProperties = TransformersDesiredProperties

TBehavior

TBehavior extends DesiredPropertiesBehavior = RemoveKey

Properties

applicationId

applicationId: bigint

Defined in: bot.ts:151

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:157

The event handlers.


gateway

gateway: GatewayManager

Defined in: bot.ts:155

The gateway manager.


handlers

handlers: GatewayHandlers<TProps, TBehavior>

Defined in: bot.ts:167

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


helpers

helpers: BotHelpers<TProps, TBehavior>

Defined in: bot.ts:168


id

id: bigint

Defined in: bot.ts:149

The id of the bot.


logger

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

Defined in: bot.ts:159

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


rest

rest: RestManager

Defined in: bot.ts:153

The rest manager.


shutdown()

shutdown: () => Promise<void>

Defined in: bot.ts:172

Shuts down all the bot connections to the gateway.

Returns

Promise<void>


start()

start: () => Promise<void>

Defined in: bot.ts:170

Start the bot connection to the gateway.

Returns

Promise<void>


transformers

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

Defined in: bot.ts:161

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.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.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.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: TransformerFunction<TProps, TBehavior, DiscordActivity, Activity>

$inferredTypes.activityInstance

activityInstance: TransformerFunction<TProps, TBehavior, DiscordActivityInstance, ActivityInstance>

$inferredTypes.activityLocation

activityLocation: TransformerFunction<TProps, TBehavior, DiscordActivityLocation, ActivityLocation>

$inferredTypes.application

application: TransformerFunction<TProps, TBehavior, DiscordApplication, Application, { shardId?: number; }>

$inferredTypes.applicationCommand

applicationCommand: TransformerFunction<TProps, TBehavior, DiscordApplicationCommand, ApplicationCommand>

$inferredTypes.applicationCommandOption

applicationCommandOption: TransformerFunction<TProps, TBehavior, DiscordApplicationCommandOption, ApplicationCommandOption>

$inferredTypes.applicationCommandOptionChoice

applicationCommandOptionChoice: TransformerFunction<TProps, TBehavior, DiscordApplicationCommandOptionChoice, ApplicationCommandOptionChoice>

$inferredTypes.applicationCommandPermission

applicationCommandPermission: TransformerFunction<TProps, TBehavior, DiscordGuildApplicationCommandPermissions, GuildApplicationCommandPermissions>

$inferredTypes.attachment

attachment: TransformerFunction<TProps, TBehavior, DiscordAttachment, Attachment>

$inferredTypes.auditLogEntry

auditLogEntry: TransformerFunction<TProps, TBehavior, DiscordAuditLogEntry, AuditLogEntry>

$inferredTypes.automodActionExecution

automodActionExecution: TransformerFunction<TProps, TBehavior, DiscordAutoModerationActionExecution, AutoModerationActionExecution>

$inferredTypes.automodRule

automodRule: TransformerFunction<TProps, TBehavior, DiscordAutoModerationRule, AutoModerationRule>

$inferredTypes.avatarDecorationData

avatarDecorationData: TransformerFunction<TProps, TBehavior, DiscordAvatarDecorationData, AvatarDecorationData>

$inferredTypes.channel

channel: TransformerFunction<TProps, TBehavior, DiscordChannel, Channel, { guildId?: BigString; }>

$inferredTypes.collectibles

collectibles: TransformerFunction<TProps, TBehavior, DiscordCollectibles, Collectibles>

$inferredTypes.component

component: TransformerFunction<TProps, TBehavior, DiscordMessageComponent | DiscordMessageComponentFromModalInteractionResponse, Component>

$inferredTypes.defaultReactionEmoji

defaultReactionEmoji: TransformerFunction<TProps, TBehavior, DiscordDefaultReactionEmoji, DefaultReactionEmoji>

$inferredTypes.embed

embed: TransformerFunction<TProps, TBehavior, DiscordEmbed, Embed>

$inferredTypes.emoji

emoji: TransformerFunction<TProps, TBehavior, DiscordEmoji, Emoji>

$inferredTypes.entitlement

entitlement: TransformerFunction<TProps, TBehavior, DiscordEntitlement, Entitlement>

$inferredTypes.forumTag

forumTag: TransformerFunction<TProps, TBehavior, DiscordForumTag, ForumTag>

$inferredTypes.gatewayBot

gatewayBot: TransformerFunction<TProps, TBehavior, DiscordGetGatewayBot, GetGatewayBot>

$inferredTypes.guild

guild: TransformerFunction<TProps, TBehavior, DiscordGuild, Guild, { shardId?: number; }>

$inferredTypes.guildOnboarding

guildOnboarding: TransformerFunction<TProps, TBehavior, DiscordGuildOnboarding, GuildOnboarding>

$inferredTypes.guildOnboardingPrompt

guildOnboardingPrompt: TransformerFunction<TProps, TBehavior, DiscordGuildOnboardingPrompt, GuildOnboardingPrompt>

$inferredTypes.guildOnboardingPromptOption

guildOnboardingPromptOption: TransformerFunction<TProps, TBehavior, DiscordGuildOnboardingPromptOption, GuildOnboardingPromptOption>

$inferredTypes.incidentsData

incidentsData: TransformerFunction<TProps, TBehavior, DiscordIncidentsData, IncidentsData>

$inferredTypes.integration

integration: TransformerFunction<TProps, TBehavior, DiscordIntegrationCreateUpdate, Integration>

$inferredTypes.interaction

interaction: TransformerFunction<TProps, TBehavior, DiscordInteraction, Interaction, { shardId?: number; }>

$inferredTypes.interactionCallback

interactionCallback: TransformerFunction<TProps, TBehavior, DiscordInteractionCallback, InteractionCallback>

$inferredTypes.interactionCallbackResponse

interactionCallbackResponse: TransformerFunction<TProps, TBehavior, DiscordInteractionCallbackResponse, InteractionCallbackResponse, { shardId?: number; }>

$inferredTypes.interactionDataOptions

interactionDataOptions: TransformerFunction<TProps, TBehavior, DiscordInteractionDataOption, InteractionDataOption>

$inferredTypes.interactionDataResolved

interactionDataResolved: TransformerFunction<TProps, TBehavior, DiscordInteractionDataResolved, InteractionDataResolved, { guildId?: BigString; shardId?: number; }>

$inferredTypes.interactionResource

interactionResource: TransformerFunction<TProps, TBehavior, DiscordInteractionResource, InteractionResource, { shardId?: number; }>

$inferredTypes.invite

invite: TransformerFunction<TProps, TBehavior, DiscordInviteCreate | DiscordInviteMetadata, Invite, { shardId?: number; }>

$inferredTypes.inviteStageInstance

inviteStageInstance: TransformerFunction<TProps, TBehavior, DiscordInviteStageInstance, InviteStageInstance, { guildId?: BigString; }>

$inferredTypes.lobby

lobby: TransformerFunction<TProps, TBehavior, DiscordLobby, Lobby>

$inferredTypes.lobbyMember

lobbyMember: TransformerFunction<TProps, TBehavior, DiscordLobbyMember, LobbyMember>

$inferredTypes.mediaGalleryItem

mediaGalleryItem: TransformerFunction<TProps, TBehavior, DiscordMediaGalleryItem, MediaGalleryItem>

$inferredTypes.member

member: TransformerFunction<TProps, TBehavior, DiscordMember, Member, { guildId?: BigString; userId?: BigString; }>

$inferredTypes.message

message: TransformerFunction<TProps, TBehavior, DiscordMessage, Message, { shardId?: number; }>

$inferredTypes.messageCall

messageCall: TransformerFunction<TProps, TBehavior, DiscordMessageCall, MessageCall>

$inferredTypes.messageInteractionMetadata

messageInteractionMetadata: TransformerFunction<TProps, TBehavior, DiscordMessageInteractionMetadata, MessageInteractionMetadata>

$inferredTypes.messagePin

messagePin: TransformerFunction<TProps, TBehavior, DiscordMessagePin, MessagePin, { shardId?: number; }>

$inferredTypes.messageSnapshot

messageSnapshot: TransformerFunction<TProps, TBehavior, DiscordMessageSnapshot, MessageSnapshot, { shardId?: number; }>

$inferredTypes.nameplate

nameplate: TransformerFunction<TProps, TBehavior, DiscordNameplate, Nameplate>

$inferredTypes.poll

poll: TransformerFunction<TProps, TBehavior, DiscordPoll, Poll>

$inferredTypes.pollMedia

pollMedia: TransformerFunction<TProps, TBehavior, DiscordPollMedia, PollMedia>

$inferredTypes.presence

presence: TransformerFunction<TProps, TBehavior, DiscordPresenceUpdate, PresenceUpdate>

$inferredTypes.role

role: TransformerFunction<TProps, TBehavior, DiscordRole, Role, { guildId?: BigString; }>

$inferredTypes.roleColors

roleColors: TransformerFunction<TProps, TBehavior, DiscordRoleColors, RoleColors>

$inferredTypes.scheduledEvent

scheduledEvent: TransformerFunction<TProps, TBehavior, DiscordScheduledEvent, ScheduledEvent>

$inferredTypes.scheduledEventRecurrenceRule

scheduledEventRecurrenceRule: TransformerFunction<TProps, TBehavior, DiscordScheduledEventRecurrenceRule, ScheduledEventRecurrenceRule>

$inferredTypes.sku

sku: TransformerFunction<TProps, TBehavior, DiscordSku, Sku>

$inferredTypes.soundboardSound

soundboardSound: TransformerFunction<TProps, TBehavior, DiscordSoundboardSound, SoundboardSound>

$inferredTypes.stageInstance

stageInstance: TransformerFunction<TProps, TBehavior, DiscordStageInstance, StageInstance>

$inferredTypes.sticker

sticker: TransformerFunction<TProps, TBehavior, DiscordSticker, Sticker>

$inferredTypes.stickerPack

stickerPack: TransformerFunction<TProps, TBehavior, DiscordStickerPack, StickerPack>

$inferredTypes.subscription

subscription: TransformerFunction<TProps, TBehavior, DiscordSubscription, Subscription>

$inferredTypes.team

team: TransformerFunction<TProps, TBehavior, DiscordTeam, Team>

$inferredTypes.template

template: TransformerFunction<TProps, TBehavior, DiscordTemplate, Template>

$inferredTypes.threadMember

threadMember: TransformerFunction<TProps, TBehavior, DiscordThreadMember, ThreadMember, ThreadMemberTransformerExtra>

$inferredTypes.threadMemberGuildCreate

threadMemberGuildCreate: TransformerFunction<TProps, TBehavior, DiscordThreadMemberGuildCreate, ThreadMemberGuildCreate>

$inferredTypes.unfurledMediaItem

unfurledMediaItem: TransformerFunction<TProps, TBehavior, DiscordUnfurledMediaItem, UnfurledMediaItem>

$inferredTypes.user

user: TransformerFunction<TProps, TBehavior, DiscordUser, User>

$inferredTypes.userPrimaryGuild

userPrimaryGuild: TransformerFunction<TProps, TBehavior, DiscordUserPrimaryGuild, UserPrimaryGuild>

$inferredTypes.voiceRegion

voiceRegion: TransformerFunction<TProps, TBehavior, DiscordVoiceRegion, VoiceRegion>

$inferredTypes.voiceState

voiceState: TransformerFunction<TProps, TBehavior, DiscordVoiceState, VoiceState, { guildId?: BigString; }>

$inferredTypes.webhook

webhook: TransformerFunction<TProps, TBehavior, DiscordWebhook, Webhook>

$inferredTypes.welcomeScreen

welcomeScreen: TransformerFunction<TProps, TBehavior, DiscordWelcomeScreen, WelcomeScreen>

$inferredTypes.widget

widget: TransformerFunction<TProps, TBehavior, DiscordGuildWidget, GuildWidget>

$inferredTypes.widgetSettings

widgetSettings: TransformerFunction<TProps, TBehavior, DiscordGuildWidgetSettings, GuildWidgetSettings>