Module: @sapphire/discord.js-utilities
Classes
- InteractionOptionResolver
- LazyPaginatedMessage
- MessageBuilder
- MessagePrompter
- MessagePrompterBaseStrategy
- MessagePrompterConfirmStrategy
- MessagePrompterMessageStrategy
- MessagePrompterNumberStrategy
- MessagePrompterReactionStrategy
- PaginatedFieldMessageEmbed
- PaginatedMessage
- PaginatedMessageEmbedFields
Interfaces
- IMessagePrompterConfirmStrategyOptions
- IMessagePrompterExplicitConfirmReturn
- IMessagePrompterExplicitMessageReturn
- IMessagePrompterExplicitNumberReturn
- IMessagePrompterExplicitReturnBase
- IMessagePrompterNumberStrategyOptions
- IMessagePrompterReactionStrategyOptions
- IMessagePrompterStrategyOptions
- PaginatedMessageActionContext
- PaginatedMessageActionRun
- PaginatedMessageInternationalizationContext
- PaginatedMessageOptions
- SafeReplyToInteractionParameters
- StrategyFilters
- StrategyOptions
- StrategyReturns
Type Aliases
AnyInteractableInteraction
Ƭ AnyInteractableInteraction: Exclude
<AnyInteraction
, AutocompleteInteraction
>
A union of ChatInputCommandInteraction, UserContextMenuCommandInteraction, MessageContextMenuCommandInteraction, StringSelectMenuInteraction, ButtonInteraction, and ModalSubmitInteraction
Defined in
projects/utilities/packages/discord.js-utilities/src/lib/utility-types.ts:97
AnyInteraction
Ƭ AnyInteraction: Interaction
A union of ChatInputCommandInteractionUserContextMenuCommandInteraction, MessageContextMenuCommandInteraction, AutocompleteInteraction, StringSelectMenuInteraction, ButtonInteraction, and ModalSubmitInteraction
Defined in
projects/utilities/packages/discord.js-utilities/src/lib/utility-types.ts:92
ChannelTypeString
Ƭ ChannelTypeString: ChannelTypes
["type"
] | "UNKNOWN"
The types of a channel, with the addition of 'UNKNOWN'
Defined in
projects/utilities/packages/discord.js-utilities/src/lib/utility-types.ts:70
ChannelTypes
Ƭ ChannelTypes: CategoryChannel
| DMChannel
| PartialDMChannel
| NewsChannel
| StageChannel
| TextChannel
| ThreadChannel
| VoiceChannel
| GuildChannel
| Channel
A union of all the various types of channels that Discord.js has
Defined in
projects/utilities/packages/discord.js-utilities/src/lib/utility-types.ts:25
ChatInputOrContextMenuCommandInteraction
Ƭ ChatInputOrContextMenuCommandInteraction: ChatInputCommandInteraction
| UserContextMenuCommandInteraction
| MessageContextMenuCommandInteraction
A union of ChatInputCommandInteraction, UserContextMenuCommandInteraction and MessageContextMenuCommandInteraction. Similar to CommandInteraction class but as a type union.
Defined in
projects/utilities/packages/discord.js-utilities/src/lib/utility-types.ts:75
GuildBasedChannelTypes
Ƭ GuildBasedChannelTypes: NonThreadGuildBasedChannelTypes
| ThreadChannel
A union of all the channel types that belong to a guild, including ThreadChannel
Defined in
projects/utilities/packages/discord.js-utilities/src/lib/utility-types.ts:55
GuildTextBasedChannelTypes
Ƭ GuildTextBasedChannelTypes: NonThreadGuildTextBasedChannelTypes
| ThreadChannel
A union of guild based message channels, including ThreadChannel
Defined in
projects/utilities/packages/discord.js-utilities/src/lib/utility-types.ts:65
MessageBuilderFileResolvable
Ƭ MessageBuilderFileResolvable: NonNullable
<MessageCreateOptions
["files"
]>[number
]
Defined in
projects/utilities/packages/discord.js-utilities/src/lib/builders/MessageBuilder.ts:3
MessageBuilderResolvable
Ƭ MessageBuilderResolvable: Omit
<MessageCreateOptions
, "embed"
| "disableMentions"
| "reply"
> & { embeds?
: MessageCreateOptions
["embeds"
] }
Defined in
projects/utilities/packages/discord.js-utilities/src/lib/builders/MessageBuilder.ts:4
MessagePrompterChannelTypes
Ƭ MessagePrompterChannelTypes: Exclude
<ChannelTypes
, VoiceBasedChannelTypes
| CategoryChannel
>
Defined in
projects/utilities/packages/discord.js-utilities/src/lib/MessagePrompter/constants.ts:10
MessagePrompterMessage
Ƭ MessagePrompterMessage: ArgumentTypes
<PartialTextBasedChannelFields
["send"
]>[0
]
A type to extend multiple discord types and simplify usage in MessagePrompter
Defined in
projects/utilities/packages/discord.js-utilities/src/lib/MessagePrompter/constants.ts:8
NonModalInteraction
Ƭ NonModalInteraction: ChatInputOrContextMenuCommandInteraction
| AutocompleteInteraction
| StringSelectMenuInteraction
| ButtonInteraction
A union of ChatInputCommandInteractionUserContextMenuCommandInteraction, MessageContextMenuCommandInteraction, AutocompleteInteraction, StringSelectMenuInteraction and ButtonInteraction
Defined in
projects/utilities/packages/discord.js-utilities/src/lib/utility-types.ts:83
NonThreadGuildBasedChannelTypes
Ƭ NonThreadGuildBasedChannelTypes: Extract
<ChannelTypes
, GuildChannel
>
A union of all the channel types that belong to a guild, not including ThreadChannel
Defined in
projects/utilities/packages/discord.js-utilities/src/lib/utility-types.ts:50
NonThreadGuildTextBasedChannelTypes
Ƭ NonThreadGuildTextBasedChannelTypes: Extract
<TextBasedChannelTypes
, GuildChannel
>
A union of guild based message channels, not including ThreadChannel
Defined in
projects/utilities/packages/discord.js-utilities/src/lib/utility-types.ts:60
PaginatedMessageAction
Ƭ PaginatedMessageAction: PaginatedMessageActionButton
| PaginatedMessageActionLink
| PaginatedMessageActionStringMenu
| PaginatedMessageActionUserMenu
| PaginatedMessageActionRoleMenu
| PaginatedMessageActionMentionableMenu
| PaginatedMessageActionChannelMenu
Defined in
PaginatedMessageActionButton
Ƭ PaginatedMessageActionButton: InteractionButtonComponentData
& PaginatedMessageActionRun
To utilize buttons you can pass an object with the structure of PaginatedMessageActionButton to PaginatedMessage actions.
Example
const StopAction: PaginatedMessageActionButton = {
customId: 'CustomStopAction',
emoji: '⏹️',
run: ({ collector }) => {
collector.stop();
}
}
Defined in
PaginatedMessageActionChannelMenu
Ƭ PaginatedMessageActionChannelMenu: PaginatedMessageActionRun
& ChannelSelectMenuComponentData
& { options?
: never
}
To utilize Channel Select Menus you can pass an object with the structure of PaginatedMessageActionChannelMenu to PaginatedMessage actions.
Example
const ChannelMenu: PaginatedMessageActionChannelMenu = {
customId: 'CustomChannelSelectMenu',
type: ComponentType.ChannelSelect,
channelTypes: [ChannelType.GuildText],
run: ({ interaction }) => {
if (interaction.isChannelSelectMenu()) {
console.log(interaction.values[0])
}
}
}
Defined in
PaginatedMessageActionLink
Ƭ PaginatedMessageActionLink: LinkButtonComponentData
To utilize links you can pass an object with the structure of PaginatedMessageActionLink to PaginatedMessage actions.
Example
You can also give the object directly.
const LinkSapphireJs: PaginatedMessageActionLink = {
url: 'https://sapphirejs.dev',
label: 'Sapphire Website',
emoji: '🔗'
}
Defined in
PaginatedMessageActionMentionableMenu
Ƭ PaginatedMessageActionMentionableMenu: PaginatedMessageActionRun
& MentionableSelectMenuComponentData
& { options?
: never
}
To utilize Mentionable Select Menus you can pass an object with the structure of PaginatedMessageActionMentionableMenu to PaginatedMessage actions.
Example
const MentionableMenu: PaginatedMessageActionMentionableMenu = {
customId: 'CustomMentionableSelectMenu',
type: ComponentType.MentionableSelect,
run: ({ interaction }) => {
if (interaction.isMentionableSelectMenu()) {
console.log(interaction.values[0])
}
}
}
Defined in
PaginatedMessageActionRoleMenu
Ƭ PaginatedMessageActionRoleMenu: PaginatedMessageActionRun
& RoleSelectMenuComponentData
& { options?
: never
}
To utilize Role Select Menus you can pass an object with the structure of PaginatedMessageActionRoleMenu to PaginatedMessage actions.
Example
const RoleMenu: PaginatedMessageActionRoleMenu = {
customId: 'CustomRoleSelectMenu',
type: ComponentType.RoleSelect,
run: ({ interaction }) => {
if (interaction.isRoleSelectMenu()) {
console.log(interaction.values[0])
}
}
}
Defined in
PaginatedMessageActionStringMenu
Ƭ PaginatedMessageActionStringMenu: PaginatedMessageActionRun
& StringSelectMenuComponentData
To utilize String Select Menus you can pass an object with the structure of PaginatedMessageActionStringMenu to PaginatedMessage actions.
Example
const StringMenu: PaginatedMessageActionStringMenu = {
customId: 'CustomStringSelectMenu',
type: ComponentType.StringSelect,
run: ({ handler, interaction }) => interaction.isStringSelectMenu() && (handler.index = parseInt(interaction.values[0], 10))
}
Defined in
PaginatedMessageActionUserMenu
Ƭ PaginatedMessageActionUserMenu: PaginatedMessageActionRun
& UserSelectMenuComponentData
& { options?
: never
}
To utilize User Select Menus you can pass an object with the structure of PaginatedMessageActionUserMenu to PaginatedMessage actions.
Example
const UserMenu: PaginatedMessageActionUserMenu = {
customId: 'CustomUserSelectMenu',
type: ComponentType.UserSelect,
run: ({ interaction }) => {
if (interaction.isChannelSelectMenu()) {
console.log(interaction.values[0])
}
}
}
Defined in
PaginatedMessageComponentUnion
Ƭ PaginatedMessageComponentUnion: JSONEncodable
<APIActionRowComponent
<APIMessageActionRowComponent
>> | ActionRowData
<ActionRowComponentOptions
| MessageActionRowComponentBuilder
> | APIActionRowComponent
<APIMessageActionRowComponent
>
Defined in
PaginatedMessageEmbedResolvable
Ƭ PaginatedMessageEmbedResolvable: BaseMessageOptions
["embeds"
]
Defined in
PaginatedMessageInteractionUnion
Ƭ PaginatedMessageInteractionUnion: Exclude
<CollectedInteraction
, ModalSubmitInteraction
>
Defined in
PaginatedMessageMessageOptionsUnion
Ƭ PaginatedMessageMessageOptionsUnion: Omit
<PaginatedMessageResolvedPage
, "components"
> & { actions?
: PaginatedMessageAction
[] }
Defined in
PaginatedMessagePage
Ƭ PaginatedMessagePage: (index
: number
, pages
: PaginatedMessagePage
[], handler
: PaginatedMessage
) => Awaitable
<PaginatedMessageMessageOptionsUnion
> | PaginatedMessageMessageOptionsUnion
The pages that are used for pages
Pages can be either a Message, or an Awaitable function that returns a Message.
Furthermore, MessageOptions can be used to construct the pages without state. This library also provides MessageBuilder, which can be used as a chainable alternative to raw objects, similar to how MessageEmbed works.
Ideally, however, you should use the utility functions
addPageBuilder
, addPageContent
, and addPageEmbed
as opposed to manually constructing MessagePages
. This is because a PaginatedMessage does a lot of post-processing
on the provided pages and we can only guarantee this will work properly when using the utility methods.
Defined in
PaginatedMessageResolvedPage
Ƭ PaginatedMessageResolvedPage: Omit
<BaseMessageOptions
, "flags"
> | WebhookMessageEditOptions
Defined in
PaginatedMessageSelectMenuOptionsFunction
Ƭ PaginatedMessageSelectMenuOptionsFunction: (pageIndex
: number
, internationalizationContext
: PaginatedMessageInternationalizationContext
) => Awaitable
<Omit
<SelectMenuComponentOptionData
, "value"
>>
Type declaration
▸ (pageIndex
, internationalizationContext
): Awaitable
<Omit
<SelectMenuComponentOptionData
, "value"
>>
The type of the custom function that can be set for the selectMenuOptions
Parameters
Name | Type |
---|---|
pageIndex | number |
internationalizationContext | PaginatedMessageInternationalizationContext |
Returns
Awaitable
<Omit
<SelectMenuComponentOptionData
, "value"
>>
Defined in
PaginatedMessageStopReasons
Ƭ PaginatedMessageStopReasons: "time"
| "idle"
| "user"
| "messageDelete"
| "channelDelete"
| "threadDelete"
| "guildDelete"
| "limit"
| "componentLimit"
| "userLimit"
Defined in
PaginatedMessageWrongUserInteractionReplyFunction
Ƭ PaginatedMessageWrongUserInteractionReplyFunction: (targetUser
: User
, interactionUser
: User
, internationalizationContext
: PaginatedMessageInternationalizationContext
) => Awaitable
<Parameters
<MessageComponentInteraction
["reply"
]>[0
]>
Type declaration
▸ (targetUser
, interactionUser
, internationalizationContext
): Awaitable
<Parameters
<MessageComponentInteraction
["reply"
]>[0
]>
The type of the custom function that can be set for the wrongUserInteractionReply
Parameters
Name | Type |
---|---|
targetUser | User |
interactionUser | User |
internationalizationContext | PaginatedMessageInternationalizationContext |
Returns
Awaitable
<Parameters
<MessageComponentInteraction
["reply"
]>[0
]>
Defined in
TextBasedChannelTypes
Ƭ TextBasedChannelTypes: Message
["channel"
]
A union of all the channel types that a message can come from
Defined in
projects/utilities/packages/discord.js-utilities/src/lib/utility-types.ts:40
VoiceBasedChannelTypes
Ƭ VoiceBasedChannelTypes: VoiceChannel
| StageChannel
A union of all the voice-based channel types that Discord.js has
Defined in
projects/utilities/packages/discord.js-utilities/src/lib/utility-types.ts:45
Variables
ApplicationCommandLimits
• Const
ApplicationCommandLimits: Object
Namespace containing limits related to Discord application commands (slash commands).
Type declaration
Name | Type | Description |
---|---|---|
MaximumDescriptionCharacters | 100 | Maximum characters allowed in an application command description. |
MaximumNameCharacters | 32 | Maximum characters allowed in an application command name. |
MaximumOptionsLength | 25 | Maximum options allowed in an application command. |
Defined in
node_modules/@sapphire/discord-utilities/dist/index.d.ts:195
ApplicationCommandOptionLimits
• Const
ApplicationCommandOptionLimits: Object
Namespace containing limits related to Choices of Discord Application Commands.
Type declaration
Name | Type | Description |
---|---|---|
MaximumChoicesLength | 25 | Maximum length of choices allowed in the option of an application command. |
MaximumDescriptionCharacters | 100 | Maximum characters allowed in the description of an option of an application command. |
MaximumNameCharacters | 32 | Maximum characters allowed in the name of an option of an application command. |
Defined in
node_modules/@sapphire/discord-utilities/dist/index.d.ts:212
AutoCompleteLimits
• Const
AutoCompleteLimits: Object
Namespace container limits related to Discord autocomplete interactions.
Type declaration
Name | Type | Description |
---|---|---|
MaximumAmountOfOptions | 25 | Maximum options allowed in a single autocomplete response. |
MaximumLengthOfNameOfOption | 100 | Maximum characters allowed in a select menu option's name. |
Defined in
node_modules/@sapphire/discord-utilities/dist/index.d.ts:342
ButtonLimits
• Const
ButtonLimits: Object
Namespace containing limits related to Message Buttons.
Type declaration
Name | Type | Description |
---|---|---|
MaximumCustomIdCharacters | 100 | Maximum characters allowed in a button custom ID. |
MaximumLabelCharacters | 80 | Maximum characters allowed in a button label. |
Defined in
node_modules/@sapphire/discord-utilities/dist/index.d.ts:229
ChannelLimits
• Const
ChannelLimits: Object
Namespace containing limits related to Discord channels.
Type declaration
Name | Type | Description |
---|---|---|
MaximumDescriptionLength | 1024 | Maximum characters allowed in a channel description. |
MaximumNameLength | 100 | Maximum characters allowed in a channel name. |
MaximumViewersPerScreenShare | 50 | Maximum viewers allowed per screen share. |
Defined in
node_modules/@sapphire/discord-utilities/dist/index.d.ts:89
ChannelMentionRegex
• Const
ChannelMentionRegex: RegExp
Regex that can capture the ID in Discord Channel mentions
Raw
/^<#(?<id>\d{17,20})>$/
Remark
Capture group 1 is the ID of the channel. It is named id
.
Defined in
node_modules/@sapphire/discord-utilities/dist/index.d.ts:396
ChannelMessageRegex
• Const
ChannelMessageRegex: RegExp
Regex that can capture the channel and message IDs in a channelId-messageId pattern This pattern can be found when you hold Shift and hover over a message, and click the "ID" button
Raw
/^(?<channelId>\d{17,20})-(?<messageId>\d{17,20})$/
Remark
Capture group 1 is the ID of the channel, named channelId
.
Remark
Capture group 2 is the ID of the message, named messageId
.
Defined in
node_modules/@sapphire/discord-utilities/dist/index.d.ts:404
DiscordHostnameRegex
• Const
DiscordHostnameRegex: RegExp
Regex that matches links on the known Discord host names
Raw
/(?<subdomain>\w+)\.?(?<hostname>dis(?:cord)?(?:app|merch|status)?)\.(?<tld>com|g(?:d|g|ift)|(?:de(?:sign|v))|media|new|store|net)/i
Remark
The regex is case insensitive
Remark
Capture group 1 is the subdomain for this URL. It is named subdomain
.
Remark
Capture group 2 is the hostname for this URL, primarily discord
but can also be discordmerch
, discordstatus
, dis
, and discordapp
. It is named hostname
.
Remark
Capture group 3 is the Top-Level Domain without .
. It is named tld
.
Defined in
node_modules/@sapphire/discord-utilities/dist/index.d.ts:413
DiscordInviteLinkRegex
• Const
DiscordInviteLinkRegex: RegExp
Regex that can can capture the code of Discord invite links
Raw
/(?:^|\b)discord(?:(?:app)?\.com/invite|\.gg(?:/invite)?)/(?<code>[\w-]{2,255})(?:$|\b)/gi
Remark
Capture group 1 is the invite URL's unique code. It is named code
.
Defined in
node_modules/@sapphire/discord-utilities/dist/index.d.ts:419
EmbedLimits
• Const
EmbedLimits: Object
Namespace containing limits related to Discord embeds.
Type declaration
Name | Type | Description |
---|---|---|
MaximumAuthorNameLength | 256 | Maximum characters allowed in the author field of an embed. |
MaximumDescriptionLength | 4096 | Maximum characters allowed in an embed description. |
MaximumFieldNameLength | 256 | Maximum characters allowed in the name of a field in an embed. |
MaximumFieldValueLength | 1024 | Maximum characters allowed in the value of a field in an embed. |
MaximumFields | 25 | Maximum fields allowed in an embed. |
MaximumFooterLength | 2048 | Maximum characters allowed in a footer of an embed. |
MaximumTitleLength | 256 | Maximum characters allowed in the title of an embed. |
MaximumTotalCharacters | 6000 | Maximum characters allowed in an embed, in total. |
Defined in
node_modules/@sapphire/discord-utilities/dist/index.d.ts:106
EmojiLimits
• Const
EmojiLimits: Object
Namespace containing limits related to Discord emojis.
Type declaration
Name | Type | Description |
---|---|---|
MaximumEmojiNameLength | 32 | Maximum characters allowed in a custom guild emoji. |
Defined in
node_modules/@sapphire/discord-utilities/dist/index.d.ts:143
EmojiRegex
• Const
EmojiRegex: RegExp
Regex that can capture the ID of any animated or non-animated custom Discord emoji
Raw
/^(?:<(?<animated>a)?:(?<name>\w{2,32}):)?(?<id>\d{17,21})>?$/
Remark
Capture group 1 can be used to determine whether the emoji is animated or not. It is named animated
.
Remark
Capture group 2 is the name of the emoji as it is typed in a message. It is named name
.
Remark
Capture group 3 is the ID of the emoji. It is named id
.
Defined in
node_modules/@sapphire/discord-utilities/dist/index.d.ts:427
FormattedCustomEmoji
• Const
FormattedCustomEmoji: RegExp
Regex that matches any animated or non-animated custom Discord emoji. Unlike EmojiRegex It can be a substring of a larger string.
Raw
/<a?:\w{2,32}:\d{17,20}>/
Defined in
node_modules/@sapphire/discord-utilities/dist/index.d.ts:433
FormattedCustomEmojiWithGroups
• Const
FormattedCustomEmojiWithGroups: RegExp
Regex that can capture any animated or non-animated custom Discord emoji. Similar to FormattedCustomEmoji and unlike EmojiRegex can also be a substring of a larger string.
Raw
/(?<animated>a?):(?<name>[^:]+):(?<id>\d{17,20})/
Remark
Capture group 1 can be used to determine whether the emoji is animated or not. It is named animated
.
Remark
Capture group 2 is the name of the emoji as it is typed in a message. It is named name
.
Remark
Capture group 3 is the ID of the emoji. It is named id
.
Defined in
node_modules/@sapphire/discord-utilities/dist/index.d.ts:442
GuildLimits
• Const
GuildLimits: Object
Namespace containing limits related to Discord guilds.
Type declaration
Name | Type | Description |
---|---|---|
MaximumChannels | 500 | Maximum channels allowed per guild, including category channels. |
MaximumRoles | 250 | Maximum roles allowed in a guild. |
Defined in
node_modules/@sapphire/discord-utilities/dist/index.d.ts:152
GuildMemberLimits
• Const
GuildMemberLimits: Object
Namespace containing limits related to Discord guild members.
Type declaration
Name | Type | Description |
---|---|---|
MaximumDisplayNameLength | 32 | Maximum characters allowed in the display name of a guild member. |
Defined in
node_modules/@sapphire/discord-utilities/dist/index.d.ts:165
HttpUrlRegex
• Const
HttpUrlRegex: RegExp
Regex that matches any URL starting with http
or https
Raw
/^https?:///
Remark
for WebSocket URLs see WebsocketGenericUrlRegex
Defined in
node_modules/@sapphire/discord-utilities/dist/index.d.ts:448
InteractionLimits
• Const
InteractionLimits: Object
Namespace containing limits related to Discord interactions.
Type declaration
Name | Type | Description |
---|---|---|
MaximumButtonsPerActionRow | 5 | Maximum buttons allowed in a single action row. |
MaximumOptionsInSelectMenus | 25 | Maximum options allowed in a single select menu. |
MaximumSelectMenusPerActionRow | 1 | Maximum select menus allowed in a single action row. |
MaximumTextInputsPerActionRow | 1 | Maximum text inputs allowed in a single action row. |
Defined in
node_modules/@sapphire/discord-utilities/dist/index.d.ts:174
MessageLimits
• Const
MessageLimits: Object
Namespace containing limits related to Discord messages.
Type declaration
Name | Type | Description |
---|---|---|
MaximumActionRows | 5 | Maximum action rows allowed in a single message. |
MaximumEmbeds | 10 | Maximum embeds allowed in a single message. |
MaximumLength | 2000 | Maximum characters allowed in a single message for a user. |
MaximumNitroLength | 4000 | Maximum characters allowed in a single message for a nitro user. |
MaximumNitroUploadSize | 5000000000 | Maximum upload size for a nitro user, in any guild or in DMs. Size is in bytes, and correspond to 500MB. |
MaximumReactions | 20 | Maximum numbers of reactions allowed for a message. |
MaximumUploadSize | 8000000 | Maximum upload size for a free user in a guild of tier 1 or below, or in DMs. Size is in bytes, and correspond to 8MB. |
MaximumUploadSizeInGuild | readonly [8000000 , 8000000 , 50000000 , 100000000 ] | Maximum upload size for a free user for all different boost levels available in a guild. Sizes are in bytes, and correspond to 8MB, 8MB, 50MB, and 100MB. |
Defined in
node_modules/@sapphire/discord-utilities/dist/index.d.ts:271
MessageLinkRegex
• Const
MessageLinkRegex: RegExp
Regex that can capture the Guild, Channel, and Message ID based on a shareable Discord message link.
Raw
/^(?:https://)?(?:ptb\.|canary\.)?discord(?:app)?\.com/channels/(?<guildId>(?:\d{17,20}|@me))/(?<channelId>\d{17,20})/(?<messageId>\d{17,20})$/
Remark
Capture group 1 is the ID of the guild the message was sent in. It is named guildId
.
Remark
Capture group 2 is the ID of the channel in that guild the message was sent in. It is named channelId
.
Remark
Capture group 3 is the ID of the message itself. It is named messageId
.
Defined in
node_modules/@sapphire/discord-utilities/dist/index.d.ts:456
ModalLimits
• Const
ModalLimits: Object
Namespace containing limits related to Discord Modals.
Type declaration
Name | Type | Description |
---|---|---|
MaximumComponents | 5 | Maximum components allowed in a modal. |
MaximumCustomIdCharacters | 100 | Maximum characters allowed in a modal custom ID. |
MaximumTitleCharacters | 45 | Maximum characters allowed in a modal title. |
Defined in
node_modules/@sapphire/discord-utilities/dist/index.d.ts:355
ModerationLimits
• Const
ModerationLimits: Object
Namespace containing limits related to built-in moderation features.
Type declaration
Name | Type | Description |
---|---|---|
MaximumTimeoutDuration | 2419200 | Maximum duration of a guild timeout, in seconds (corresponds to 28 days). |
Defined in
node_modules/@sapphire/discord-utilities/dist/index.d.ts:311
ParsedCustomEmoji
• Const
ParsedCustomEmoji: RegExp
Regex that matches any animated or non-animated custom Discord emoji *without the wrapping <...>
symbols.
This means that a string that matches this regex can directly be send inside a Discord message.
Other than this difference it is similar to FormattedCustomEmoji.
Raw
/a?:\w{2,32}:\d{17,20}/
Defined in
node_modules/@sapphire/discord-utilities/dist/index.d.ts:463
ParsedCustomEmojiWithGroups
• Const
ParsedCustomEmojiWithGroups: RegExp
Regex that matches any animated or non-animated custom Discord emoji *without the wrapping <...>
symbols.
This means that a string that matches this regex can directly be send inside a Discord message.
Other than this difference it is similar to FormattedCustomEmojiWithGroups.
Raw
/(?<animated>a?):(?<name>[^:]+):(?<id>\d{17,20})/
Remark
Capture group 1 can be used to determine whether the emoji is animated or not. It is named animated
.
Remark
Capture group 2 is the name of the emoji as it is typed in a message. It is named name
.
Remark
Capture group 3 is the ID of the emoji. It is named id
.
Defined in
node_modules/@sapphire/discord-utilities/dist/index.d.ts:473
RoleLimits
• Const
RoleLimits: Object
Namespace containing limits related to Discord roles.
Type declaration
Name | Type | Description |
---|---|---|
MaximumNameLength | 100 | Maximum characters allowed in a role name. |
Defined in
node_modules/@sapphire/discord-utilities/dist/index.d.ts:320
RoleMentionRegex
• Const
RoleMentionRegex: RegExp
Regex that can capture the ID in Discord Role mentions
Raw
/^<@&(?<id>\d{17,20})>$/
Remark
Capture group 1 is the ID of the role. It is named id
.
Defined in
node_modules/@sapphire/discord-utilities/dist/index.d.ts:479
SelectMenuLimits
• Const
SelectMenuLimits: Object
Namespace containing limits related to Select Menus.
Type declaration
Name | Type | Description |
---|---|---|
MaximumCustomIdCharacters | 100 | Maximum characters allowed in a select menu custom ID. |
MaximumLengthOfNameOfOption | 100 | Maximum characters allowed in a select menu option's name. |
MaximumMaxValuesSize | 25 | Maximum "maximum" values allowed in a select menu. |
MaximumMinValuesSize | 25 | Maximum "minimum" values allowed in a select menu. |
MaximumOptionsLength | 25 | Maximum amount of options allowed in a select menu. |
MaximumPlaceholderCharacters | 150 | Maximum characters allowed in a select menu placeholder. |
Defined in
node_modules/@sapphire/discord-utilities/dist/index.d.ts:242
SnowflakeRegex
• Const
SnowflakeRegex: RegExp
Regex that can capture any Discord Snowflake ID
Raw
/^(?<id>\d{17,20})$/
Remark
Capture group 1 is the Snowflake. It is named id
.
Defined in
node_modules/@sapphire/discord-utilities/dist/index.d.ts:485
TextInputLimits
• Const
TextInputLimits: Object
Namespace containing limits related to Discord Modal Text Input component.
Type declaration
Name | Type | Description |
---|---|---|
MaximumCustomIdCharacters | 100 | Maximum characters allowed in a text input custom ID. |
MaximumLabelCharacters | 45 | Maximum characters allowed in a text input label. |
MaximumPlaceholderCharacters | 100 | Maximum characters allowed in a text input placeholder. |
MaximumValueCharacters | 4000 | Maximum characters allowed in a text input value. |
Defined in
node_modules/@sapphire/discord-utilities/dist/index.d.ts:372
TokenRegex
• Const
TokenRegex: RegExp
Regex that can capture a Discord Token
Raw
/(?<mfaToken>mfa\.[a-z0-9_-]{20,})|(?<basicToken>[a-z0-9_-]{23,28}\.[a-z0-9_-]{6,7}\.[a-z0-9_-]{27})/i
Remark
Capture group 1 can be used to retrieve a token for a User that has Multi-Factor Authentication enabled. It is named mfaToken
.
Remark
Capture group 2 can be used to retrieve a token for a User that doesn't have Multi-Factor Authentication enabled, or a Bot application. It is named basicToken
.
Remark
For a valid token, either Capture group 1 or Capture group 2 will always be undefined, whereas the other group will then be defined and contain the matched token. You can use the name of the capture group to determine if the validated token was configured for a user with Multi-Factor Authentication, for a user without Multi-Factor Authentication, or for a bot application. If both capture groups are undefined, then the token is invalid.
Defined in
node_modules/@sapphire/discord-utilities/dist/index.d.ts:496
TwemojiRegex
• Const
TwemojiRegex: RegExp
Regex that can capture a Twemoji (Twitter Emoji)
Raw
Defined in
node_modules/@sapphire/discord-utilities/dist/index.d.ts:523
UserLimits
• Const
UserLimits: Object
Namespace containing limits related to Discord users and Direct Messages.
Type declaration
Name | Type | Description |
---|---|---|
MaximumBiographyLength | 190 | Maximum characters allowed in a user's biography (the "About Me" section). |
MaximumUsersPerDMGroup | 10 | Maximum numbers of users in a DM group. |
Defined in
node_modules/@sapphire/discord-utilities/dist/index.d.ts:329
UserOrMemberMentionRegex
• Const
UserOrMemberMentionRegex: RegExp
Regex that can capture the ID of a user in Discord user mentions
Raw
/^<@!?(?<id>\d{17,20})>$/
Remark
Capture group 1 is the ID of the user. It is named id
.
Defined in
node_modules/@sapphire/discord-utilities/dist/index.d.ts:502
WebSocketUrlRegex
• Const
WebSocketUrlRegex: RegExp
Regex that matches any WebSocket URL starting with ws
or wss
Raw
/^wss?:///
Remark
for regular HTTP URLs see HttpUrlRegex
Defined in
node_modules/@sapphire/discord-utilities/dist/index.d.ts:508
WebhookRegex
• Const
WebhookRegex: RegExp
Regex that captures the Webhook ID and token from a Discord Webhook URL.
Raw
/(?<url>^https://(?:(?:canary|ptb).)?discord(?:app)?.com/api(?:/v\d+)?/webhooks/(?<id>\d+)/(?<token>[\w-]+)/?$)/
Remark
Capture group 1 is the full URL of the Discord Webhook. It is named url
.
Remark
Capture group 2 is the ID of the Discord Webhook. It is named id
.
Remark
Capture group 3 is the token of the Discord Webhook. It is named token
.
Remark
for regular HTTP URLs see HttpUrlRegex
Defined in
node_modules/@sapphire/discord-utilities/dist/index.d.ts:517
Functions
actionIsButtonOrMenu
▸ actionIsButtonOrMenu(action
): action is PaginatedMessageActionButton | PaginatedMessageActionStringMenu | PaginatedMessageActionUserMenu | PaginatedMessageActionRoleMenu | PaginatedMessageActionMentionableMenu | PaginatedMessageActionChannelMenu
Parameters
Name | Type |
---|---|
action | PaginatedMessageAction |
Returns
action is PaginatedMessageActionButton | PaginatedMessageActionStringMenu | PaginatedMessageActionUserMenu | PaginatedMessageActionRoleMenu | PaginatedMessageActionMentionableMenu | PaginatedMessageActionChannelMenu
Defined in
projects/utilities/packages/discord.js-utilities/src/lib/PaginatedMessages/utils.ts:32
canJoinVoiceChannel
▸ canJoinVoiceChannel(channel
): boolean
Determines whether the client can join the given voice based channel.
Parameters
Name | Type | Description |
---|---|---|
channel | VoiceBasedChannel | Nullish | The channel to test the permissions from. |
Returns
boolean
Whether or not the client can join the specified channel.
Defined in
projects/utilities/packages/discord.js-utilities/src/lib/utilities.ts:109
canReact
▸ canReact(channel
): boolean
Determines whether or not we can send react to messages in a given channel.
Parameters
Name | Type | Description |
---|---|---|
channel | Nullish | ChannelTypes | The channel to test the permissions from. |
Returns
boolean
Whether or not we can react to messages in the specified channel.
Defined in
projects/utilities/packages/discord.js-utilities/src/lib/utilities.ts:76
canReadMessages
▸ canReadMessages(channel
): boolean
Determines whether or not we can read messages in a given channel.
Parameters
Name | Type | Description |
---|---|---|
channel | Nullish | ChannelTypes | The channel to test the permissions from. |
Returns
boolean
Whether or not we can read messages in the specified channel.
Defined in
projects/utilities/packages/discord.js-utilities/src/lib/utilities.ts:13
canRemoveAllReactions
▸ canRemoveAllReactions(channel
): boolean
Determines whether or not we can remove reactions from messages in a given channel.
Parameters
Name | Type | Description |
---|---|---|
channel | Nullish | ChannelTypes | The channel to test the permissions from. |
Returns
boolean
Whether or not we can remove reactions from messages in the specified channel.
Defined in
projects/utilities/packages/discord.js-utilities/src/lib/utilities.ts:95
canSendAttachments
▸ canSendAttachments(channel
): boolean
Determines whether or not we can send attachments in a given channel.
Parameters
Name | Type | Description |
---|---|---|
channel | Nullish | ChannelTypes | The channel to test the permissions from. |
Returns
boolean
Whether or not we can send attachments in the specified channel.
Defined in
projects/utilities/packages/discord.js-utilities/src/lib/utilities.ts:57
canSendEmbeds
▸ canSendEmbeds(channel
): boolean
Determines whether or not we can send embeds in a given channel.
Parameters
Name | Type | Description |
---|---|---|
channel | Nullish | ChannelTypes | The channel to test the permissions from. |
Returns
boolean
Whether or not we can send embeds in the specified channel.
Defined in
projects/utilities/packages/discord.js-utilities/src/lib/utilities.ts:42
canSendMessages
▸ canSendMessages(channel
): boolean
Determines whether or not we can send messages in a given channel.
Parameters
Name | Type | Description |
---|---|---|
channel | Nullish | ChannelTypes | The channel to test the permissions from. |
Returns
boolean
Whether or not we can send messages in the specified channel.
Defined in
projects/utilities/packages/discord.js-utilities/src/lib/utilities.ts:27
createPartitionedMessageRow
▸ createPartitionedMessageRow(components
): PaginatedMessageComponentUnion
[]
Parameters
Name | Type |
---|---|
components | MessageActionRowComponentBuilder [] |
Returns
PaginatedMessageComponentUnion
[]
Defined in
projects/utilities/packages/discord.js-utilities/src/lib/PaginatedMessages/utils.ts:99
isActionButton
▸ isActionButton(action
): action is PaginatedMessageActionButton
Parameters
Name | Type |
---|---|
action | PaginatedMessageAction |
Returns
action is PaginatedMessageActionButton
Defined in
projects/utilities/packages/discord.js-utilities/src/lib/PaginatedMessages/utils.ts:71
isActionChannelMenu
▸ isActionChannelMenu(action
): action is PaginatedMessageActionChannelMenu
Parameters
Name | Type |
---|---|
action | PaginatedMessageAction |
Returns
action is PaginatedMessageActionChannelMenu
Defined in
projects/utilities/packages/discord.js-utilities/src/lib/PaginatedMessages/utils.ts:95
isActionLink
▸ isActionLink(action
): action is LinkButtonComponentData
Parameters
Name | Type |
---|---|
action | PaginatedMessageAction |
Returns
action is LinkButtonComponentData
Defined in
projects/utilities/packages/discord.js-utilities/src/lib/PaginatedMessages/utils.ts:75
isActionMentionableMenu
▸ isActionMentionableMenu(action
): action is PaginatedMessageActionMentionableMenu
Parameters
Name | Type |
---|---|
action | PaginatedMessageAction |
Returns
action is PaginatedMessageActionMentionableMenu
Defined in
projects/utilities/packages/discord.js-utilities/src/lib/PaginatedMessages/utils.ts:91
isActionRoleMenu
▸ isActionRoleMenu(action
): action is PaginatedMessageActionRoleMenu
Parameters
Name | Type |
---|---|
action | PaginatedMessageAction |
Returns
action is PaginatedMessageActionRoleMenu
Defined in
projects/utilities/packages/discord.js-utilities/src/lib/PaginatedMessages/utils.ts:87
isActionStringMenu
▸ isActionStringMenu(action
): action is PaginatedMessageActionStringMenu
Parameters
Name | Type |
---|---|
action | PaginatedMessageAction |
Returns
action is PaginatedMessageActionStringMenu
Defined in
projects/utilities/packages/discord.js-utilities/src/lib/PaginatedMessages/utils.ts:79
isActionUserMenu
▸ isActionUserMenu(action
): action is PaginatedMessageActionUserMenu
Parameters
Name | Type |
---|---|
action | PaginatedMessageAction |
Returns
action is PaginatedMessageActionUserMenu
Defined in
projects/utilities/packages/discord.js-utilities/src/lib/PaginatedMessages/utils.ts:83
isAnyInteractableInteraction
▸ isAnyInteractableInteraction(messageOrInteraction
): messageOrInteraction is AnyInteractableInteraction
Parameters
Name | Type |
---|---|
messageOrInteraction | APIMessage | BaseInteraction <CacheType > | Message <boolean > |
Returns
messageOrInteraction is AnyInteractableInteraction
Defined in
projects/utilities/packages/discord.js-utilities/src/lib/type-guards.ts:203
isAnyInteraction
▸ isAnyInteraction(messageOrInteraction
): messageOrInteraction is BaseInteraction<CacheType>
Checks whether the input messageOrInteraction
is one of Message or one of Interaction, CommandInteraction, ContextMenuInteraction, or SelectMenuInteraction
Parameters
Name | Type | Description |
---|---|---|
messageOrInteraction | APIMessage | BaseInteraction <CacheType > | Message <boolean > | The message or interaction that should be checked. |
Returns
messageOrInteraction is BaseInteraction<CacheType>
true
if the messageOrInteraction
is NOT an instanceof Message, false
if it is.
Defined in
projects/utilities/packages/discord.js-utilities/src/lib/type-guards.ts:199
isButtonComponentBuilder
▸ isButtonComponentBuilder(component
): component is ButtonBuilder
Parameters
Name | Type |
---|---|
component | MessageActionRowComponentBuilder |
Returns
component is ButtonBuilder
Defined in
projects/utilities/packages/discord.js-utilities/src/lib/PaginatedMessages/utils.ts:67
isCategoryChannel
▸ isCategoryChannel(channel
): channel is CategoryChannel
Checks whether a given channel is a CategoryChannel
Parameters
Name | Type | Description |
---|---|---|
channel | Nullish | ChannelTypes | The channel to check |
Returns
channel is CategoryChannel
Defined in
projects/utilities/packages/discord.js-utilities/src/lib/type-guards.ts:36
isDMChannel
▸ isDMChannel(channel
): channel is DMChannel | PartialDMChannel
Checks whether a given channel is a DMChannel
Parameters
Name | Type | Description |
---|---|---|
channel | Nullish | ChannelTypes | The channel to check |
Returns
channel is DMChannel | PartialDMChannel
Defined in
projects/utilities/packages/discord.js-utilities/src/lib/type-guards.ts:44
isGroupChannel
▸ isGroupChannel(channel
): channel is PartialGroupDMChannel
Checks whether a given channel is a PartialGroupDMChannel
Parameters
Name | Type | Description |
---|---|---|
channel | Channel | Nullish | The channel to check |
Returns
channel is PartialGroupDMChannel
Defined in
projects/utilities/packages/discord.js-utilities/src/lib/type-guards.ts:52
isGuildBasedChannel
▸ isGuildBasedChannel(channel
): channel is GuildTextBasedChannelTypes
Checks if a channel comes from a guild.
Parameters
Name | Type | Description |
---|---|---|
channel | Nullish | ChannelTypes | The channel to check |
Returns
channel is GuildTextBasedChannelTypes
Whether or not the channel is guild-based.
Defined in
projects/utilities/packages/discord.js-utilities/src/lib/type-guards.ts:61
isGuildBasedChannelByGuildKey
▸ isGuildBasedChannelByGuildKey(channel
): channel is GuildTextBasedChannelTypes
Checks whether or not a channel comes from a guild.
Remark
As opposed to isGuildBasedChannel this checks if there is guild
property on the channel.
Parameters
Name | Type | Description |
---|---|---|
channel | Nullish | ChannelTypes | The channel to check. |
Returns
channel is GuildTextBasedChannelTypes
Whether or not the channel is guild-based.
Defined in
projects/utilities/packages/discord.js-utilities/src/lib/type-guards.ts:71
isGuildMember
▸ isGuildMember(member
): member is GuildMember
Checks whether a given member is an instance of GuildMember, and not APIInteractionGuildMember, APIGuildMember, or Nullish
Parameters
Name | Type | Description |
---|---|---|
member | APIGuildMember | APIInteractionGuildMember | APIInteractionDataResolvedGuildMember | GuildMember | Nullish | The member to check |
Returns
member is GuildMember
true
if the member is an instance of GuildMember
, false otherwise.
Defined in
projects/utilities/packages/discord.js-utilities/src/lib/type-guards.ts:218
isMessageButtonInteractionData
▸ isMessageButtonInteractionData(interaction
): interaction is ButtonComponentData
Parameters
Name | Type |
---|---|
interaction | ActionRowComponentOptions |
Returns
interaction is ButtonComponentData
Defined in
projects/utilities/packages/discord.js-utilities/src/lib/PaginatedMessages/utils.ts:43
isMessageChannelSelectInteractionData
▸ isMessageChannelSelectInteractionData(interaction
): interaction is ChannelSelectMenuComponentData
Parameters
Name | Type |
---|---|
interaction | ActionRowComponentOptions |
Returns
interaction is ChannelSelectMenuComponentData
Defined in
projects/utilities/packages/discord.js-utilities/src/lib/PaginatedMessages/utils.ts:63
isMessageInstance
▸ isMessageInstance(message
): message is Message<boolean>
Checks whether a given message is an instance of Message, and not APIMessage
Parameters
Name | Type | Description |
---|---|---|
message | APIMessage | Message <boolean > | The message to check |
Returns
message is Message<boolean>
true
if the message is an instance of Message
, false otherwise.
Defined in
projects/utilities/packages/discord.js-utilities/src/lib/type-guards.ts:190
isMessageMentionableSelectInteractionData
▸ isMessageMentionableSelectInteractionData(interaction
): interaction is MentionableSelectMenuComponentData
Parameters
Name | Type |
---|---|
interaction | ActionRowComponentOptions |
Returns
interaction is MentionableSelectMenuComponentData
Defined in
projects/utilities/packages/discord.js-utilities/src/lib/PaginatedMessages/utils.ts:59
isMessageRoleSelectInteractionData
▸ isMessageRoleSelectInteractionData(interaction
): interaction is RoleSelectMenuComponentData
Parameters
Name | Type |
---|---|
interaction | ActionRowComponentOptions |
Returns
interaction is RoleSelectMenuComponentData
Defined in
projects/utilities/packages/discord.js-utilities/src/lib/PaginatedMessages/utils.ts:55
isMessageStringSelectInteractionData
▸ isMessageStringSelectInteractionData(interaction
): interaction is StringSelectMenuComponentData
Parameters
Name | Type |
---|---|
interaction | ActionRowComponentOptions |
Returns
interaction is StringSelectMenuComponentData
Defined in
projects/utilities/packages/discord.js-utilities/src/lib/PaginatedMessages/utils.ts:47
isMessageUserSelectInteractionData
▸ isMessageUserSelectInteractionData(interaction
): interaction is UserSelectMenuComponentData
Parameters
Name | Type |
---|---|
interaction | ActionRowComponentOptions |
Returns
interaction is UserSelectMenuComponentData
Defined in
projects/utilities/packages/discord.js-utilities/src/lib/PaginatedMessages/utils.ts:51
isNewsChannel
▸ isNewsChannel(channel
): channel is NewsChannel
Checks whether a given channel is a NewsChannel.
Parameters
Name | Type | Description |
---|---|---|
channel | Nullish | ChannelTypes | The channel to check. |
Returns
channel is NewsChannel
Defined in
projects/utilities/packages/discord.js-utilities/src/lib/type-guards.ts:79
isNewsThreadChannel
▸ isNewsThreadChannel(channel
): channel is ThreadChannel<boolean>
Checks whether a given channel is a News ThreadChannel
Parameters
Name | Type | Description |
---|---|---|
channel | Nullish | ChannelTypes | The channel to check. |
Returns
channel is ThreadChannel<boolean>
Defined in
projects/utilities/packages/discord.js-utilities/src/lib/type-guards.ts:119
isNsfwChannel
▸ isNsfwChannel(channel
): boolean
Checks whether a given channel allows NSFW content or not
Parameters
Name | Type | Description |
---|---|---|
channel | Nullish | ChannelTypes | The channel to check. |
Returns
boolean
Defined in
projects/utilities/packages/discord.js-utilities/src/lib/type-guards.ts:163
isPrivateThreadChannel
▸ isPrivateThreadChannel(channel
): channel is ThreadChannel<boolean>
Checks whether a given channel is a Private ThreadChannel
Parameters
Name | Type | Description |
---|---|---|
channel | Nullish | ChannelTypes | The channel to check. |
Returns
channel is ThreadChannel<boolean>
Defined in
projects/utilities/packages/discord.js-utilities/src/lib/type-guards.ts:135
isPublicThreadChannel
▸ isPublicThreadChannel(channel
): channel is ThreadChannel<boolean>
Checks whether a given channel is a Public ThreadChannel
Parameters
Name | Type | Description |
---|---|---|
channel | Nullish | ChannelTypes | The channel to check. |
Returns
channel is ThreadChannel<boolean>
Defined in
projects/utilities/packages/discord.js-utilities/src/lib/type-guards.ts:127
isStageChannel
▸ isStageChannel(channel
): channel is StageChannel
Checks whether a given channel is a StageChannel
Parameters
Name | Type | Description |
---|---|---|
channel | Nullish | ChannelTypes | The channel to check |
Returns
channel is StageChannel
Defined in
projects/utilities/packages/discord.js-utilities/src/lib/type-guards.ts:103
isTextBasedChannel
▸ isTextBasedChannel(channel
): channel is DMChannel | PartialDMChannel | NewsChannel | StageChannel | TextChannel | PrivateThreadChannel | PublicThreadChannel<boolean> | VoiceChannel
Checks whether a given channel is a TextBasedChannelTypes. This means it has a send
method.
Parameters
Name | Type | Description |
---|---|---|
channel | Nullish | ChannelTypes | The channel to check. |
Returns
channel is DMChannel | PartialDMChannel | NewsChannel | StageChannel | TextChannel | PrivateThreadChannel | PublicThreadChannel<boolean> | VoiceChannel
Defined in
projects/utilities/packages/discord.js-utilities/src/lib/type-guards.ts:143
isTextChannel
▸ isTextChannel(channel
): channel is TextChannel
Checks whether a given channel is a TextChannel.
Parameters
Name | Type | Description |
---|---|---|
channel | Nullish | ChannelTypes | The channel to check. |
Returns
channel is TextChannel
Defined in
projects/utilities/packages/discord.js-utilities/src/lib/type-guards.ts:87
isThreadChannel
▸ isThreadChannel(channel
): channel is ThreadChannel<boolean>
Checks whether a given channel is a ThreadChannel
Parameters
Name | Type | Description |
---|---|---|
channel | Nullish | ChannelTypes | The channel to check. |
Returns
channel is ThreadChannel<boolean>
Defined in
projects/utilities/packages/discord.js-utilities/src/lib/type-guards.ts:111
isVoiceBasedChannel
▸ isVoiceBasedChannel(channel
): channel is VoiceBasedChannel
Checks whether a given channel is a VoiceBasedChannel.
Parameters
Name | Type |
---|---|
channel | Channel | Nullish |
Returns
channel is VoiceBasedChannel
Defined in
projects/utilities/packages/discord.js-utilities/src/lib/type-guards.ts:153
isVoiceChannel
▸ isVoiceChannel(channel
): channel is VoiceChannel
Checks whether a given channel is a VoiceChannel
Parameters
Name | Type | Description |
---|---|---|
channel | Nullish | ChannelTypes | The channel to check |
Returns
channel is VoiceChannel
Defined in
projects/utilities/packages/discord.js-utilities/src/lib/type-guards.ts:95
safelyReplyToInteraction
▸ safelyReplyToInteraction<T
>(parameters
): Promise
<void
>
Safely replies to a message or interaction. This is primarily to save duplicated code in the main PaginatedMessage
class
Type parameters
Name | Type |
---|---|
T | extends "edit" | "reply" |
Parameters
Name | Type | Description |
---|---|---|
parameters | SafeReplyToInteractionParameters <T > | The parameters to create a safe reply to interaction parameters |
Returns
Promise
<void
>
Defined in
projects/utilities/packages/discord.js-utilities/src/lib/PaginatedMessages/utils.ts:127