djs-selfbot-v13 3.1.8 → 3.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/README.md +48 -37
- package/package.json +44 -26
- package/src/WebSocket.js +39 -39
- package/src/client/BaseClient.js +86 -86
- package/src/client/Client.js +934 -765
- package/src/client/WebhookClient.js +61 -61
- package/src/client/actions/Action.js +116 -120
- package/src/client/actions/ActionsManager.js +80 -78
- package/src/client/actions/ApplicationCommandPermissionsUpdate.js +34 -34
- package/src/client/actions/AutoModerationActionExecution.js +27 -27
- package/src/client/actions/AutoModerationRuleCreate.js +28 -28
- package/src/client/actions/AutoModerationRuleDelete.js +32 -32
- package/src/client/actions/AutoModerationRuleUpdate.js +30 -30
- package/src/client/actions/ChannelCreate.js +23 -23
- package/src/client/actions/ChannelDelete.js +39 -39
- package/src/client/actions/ChannelUpdate.js +43 -43
- package/src/client/actions/GuildAuditLogEntryCreate.js +29 -29
- package/src/client/actions/GuildBanAdd.js +20 -20
- package/src/client/actions/GuildBanRemove.js +25 -25
- package/src/client/actions/GuildChannelsPositionUpdate.js +21 -21
- package/src/client/actions/GuildDelete.js +65 -65
- package/src/client/actions/GuildEmojiCreate.js +20 -20
- package/src/client/actions/GuildEmojiDelete.js +21 -21
- package/src/client/actions/GuildEmojiUpdate.js +20 -20
- package/src/client/actions/GuildEmojisUpdate.js +34 -34
- package/src/client/actions/GuildIntegrationsUpdate.js +19 -19
- package/src/client/actions/GuildMemberRemove.js +33 -33
- package/src/client/actions/GuildMemberUpdate.js +44 -44
- package/src/client/actions/GuildRoleCreate.js +25 -25
- package/src/client/actions/GuildRoleDelete.js +31 -31
- package/src/client/actions/GuildRoleUpdate.js +39 -39
- package/src/client/actions/GuildRolesPositionUpdate.js +21 -21
- package/src/client/actions/GuildScheduledEventCreate.js +27 -27
- package/src/client/actions/GuildScheduledEventDelete.js +31 -31
- package/src/client/actions/GuildScheduledEventUpdate.js +30 -30
- package/src/client/actions/GuildScheduledEventUserAdd.js +32 -32
- package/src/client/actions/GuildScheduledEventUserRemove.js +32 -32
- package/src/client/actions/GuildStickerCreate.js +20 -20
- package/src/client/actions/GuildStickerDelete.js +21 -21
- package/src/client/actions/GuildStickerUpdate.js +20 -20
- package/src/client/actions/GuildStickersUpdate.js +34 -34
- package/src/client/actions/GuildUpdate.js +33 -33
- package/src/client/actions/InviteCreate.js +28 -28
- package/src/client/actions/InviteDelete.js +30 -30
- package/src/client/actions/MessageCreate.js +50 -46
- package/src/client/actions/MessageDelete.js +32 -32
- package/src/client/actions/MessageDeleteBulk.js +46 -46
- package/src/client/actions/MessagePollVoteAdd.js +33 -0
- package/src/client/actions/MessagePollVoteRemove.js +33 -0
- package/src/client/actions/MessageReactionAdd.js +68 -56
- package/src/client/actions/MessageReactionRemove.js +50 -45
- package/src/client/actions/MessageReactionRemoveAll.js +33 -33
- package/src/client/actions/MessageReactionRemoveEmoji.js +28 -28
- package/src/client/actions/MessageUpdate.js +26 -26
- package/src/client/actions/PresenceUpdate.js +50 -46
- package/src/client/actions/StageInstanceCreate.js +28 -28
- package/src/client/actions/StageInstanceDelete.js +33 -33
- package/src/client/actions/StageInstanceUpdate.js +30 -30
- package/src/client/actions/ThreadCreate.js +24 -24
- package/src/client/actions/ThreadDelete.js +32 -32
- package/src/client/actions/ThreadListSync.js +59 -59
- package/src/client/actions/ThreadMemberUpdate.js +30 -30
- package/src/client/actions/ThreadMembersUpdate.js +34 -34
- package/src/client/actions/TypingStart.js +29 -29
- package/src/client/actions/UserUpdate.js +35 -35
- package/src/client/actions/VoiceStateUpdate.js +50 -57
- package/src/client/actions/WebhooksUpdate.js +20 -20
- package/src/client/voice/ClientVoiceManager.js +151 -51
- package/src/client/voice/VoiceConnection.js +1249 -0
- package/src/client/voice/dispatcher/AnnexBDispatcher.js +120 -0
- package/src/client/voice/dispatcher/AudioDispatcher.js +145 -0
- package/src/client/voice/dispatcher/BaseDispatcher.js +459 -0
- package/src/client/voice/dispatcher/VPxDispatcher.js +54 -0
- package/src/client/voice/dispatcher/VideoDispatcher.js +68 -0
- package/src/client/voice/networking/VoiceUDPClient.js +173 -0
- package/src/client/voice/networking/VoiceWebSocket.js +286 -0
- package/src/client/voice/player/MediaPlayer.js +321 -0
- package/src/client/voice/player/processing/AnnexBNalSplitter.js +244 -0
- package/src/client/voice/player/processing/IvfSplitter.js +106 -0
- package/src/client/voice/player/processing/PCMInsertSilence.js +37 -0
- package/src/client/voice/receiver/PacketHandler.js +260 -0
- package/src/client/voice/receiver/Receiver.js +96 -0
- package/src/client/voice/receiver/Recorder.js +173 -0
- package/src/client/voice/util/Function.js +116 -0
- package/src/client/voice/util/PlayInterface.js +122 -0
- package/src/client/voice/util/Secretbox.js +64 -0
- package/src/client/voice/util/Silence.js +16 -0
- package/src/client/voice/util/Socket.js +62 -0
- package/src/client/voice/util/VolumeInterface.js +104 -0
- package/src/client/websocket/WebSocketManager.js +392 -392
- package/src/client/websocket/WebSocketShard.js +907 -906
- package/src/client/websocket/handlers/APPLICATION_COMMAND_CREATE.js +18 -18
- package/src/client/websocket/handlers/APPLICATION_COMMAND_DELETE.js +20 -20
- package/src/client/websocket/handlers/APPLICATION_COMMAND_PERMISSIONS_UPDATE.js +5 -5
- package/src/client/websocket/handlers/APPLICATION_COMMAND_UPDATE.js +20 -20
- package/src/client/websocket/handlers/AUTO_MODERATION_ACTION_EXECUTION.js +5 -5
- package/src/client/websocket/handlers/AUTO_MODERATION_RULE_CREATE.js +5 -5
- package/src/client/websocket/handlers/AUTO_MODERATION_RULE_DELETE.js +5 -5
- package/src/client/websocket/handlers/AUTO_MODERATION_RULE_UPDATE.js +5 -5
- package/src/client/websocket/handlers/CALL_CREATE.js +14 -14
- package/src/client/websocket/handlers/CALL_DELETE.js +11 -11
- package/src/client/websocket/handlers/CALL_UPDATE.js +11 -11
- package/src/client/websocket/handlers/CHANNEL_CREATE.js +5 -5
- package/src/client/websocket/handlers/CHANNEL_DELETE.js +5 -5
- package/src/client/websocket/handlers/CHANNEL_PINS_UPDATE.js +22 -22
- package/src/client/websocket/handlers/CHANNEL_RECIPIENT_ADD.js +19 -19
- package/src/client/websocket/handlers/CHANNEL_RECIPIENT_REMOVE.js +16 -16
- package/src/client/websocket/handlers/CHANNEL_UPDATE.js +16 -16
- package/src/client/websocket/handlers/GUILD_AUDIT_LOG_ENTRY_CREATE.js +5 -5
- package/src/client/websocket/handlers/GUILD_BAN_ADD.js +5 -5
- package/src/client/websocket/handlers/GUILD_BAN_REMOVE.js +5 -5
- package/src/client/websocket/handlers/GUILD_CREATE.js +52 -53
- package/src/client/websocket/handlers/GUILD_DELETE.js +5 -5
- package/src/client/websocket/handlers/GUILD_EMOJIS_UPDATE.js +5 -5
- package/src/client/websocket/handlers/GUILD_INTEGRATIONS_UPDATE.js +5 -5
- package/src/client/websocket/handlers/GUILD_MEMBERS_CHUNK.js +39 -39
- package/src/client/websocket/handlers/GUILD_MEMBER_ADD.js +20 -20
- package/src/client/websocket/handlers/GUILD_MEMBER_REMOVE.js +5 -5
- package/src/client/websocket/handlers/GUILD_MEMBER_UPDATE.js +5 -5
- package/src/client/websocket/handlers/GUILD_ROLE_CREATE.js +5 -5
- package/src/client/websocket/handlers/GUILD_ROLE_DELETE.js +5 -5
- package/src/client/websocket/handlers/GUILD_ROLE_UPDATE.js +5 -5
- package/src/client/websocket/handlers/GUILD_SCHEDULED_EVENT_CREATE.js +5 -5
- package/src/client/websocket/handlers/GUILD_SCHEDULED_EVENT_DELETE.js +5 -5
- package/src/client/websocket/handlers/GUILD_SCHEDULED_EVENT_UPDATE.js +5 -5
- package/src/client/websocket/handlers/GUILD_SCHEDULED_EVENT_USER_ADD.js +5 -5
- package/src/client/websocket/handlers/GUILD_SCHEDULED_EVENT_USER_REMOVE.js +5 -5
- package/src/client/websocket/handlers/GUILD_STICKERS_UPDATE.js +5 -5
- package/src/client/websocket/handlers/GUILD_UPDATE.js +5 -5
- package/src/client/websocket/handlers/INTERACTION_MODAL_CREATE.js +12 -12
- package/src/client/websocket/handlers/INVITE_CREATE.js +5 -5
- package/src/client/websocket/handlers/INVITE_DELETE.js +5 -5
- package/src/client/websocket/handlers/MESSAGE_CREATE.js +5 -5
- package/src/client/websocket/handlers/MESSAGE_DELETE.js +5 -5
- package/src/client/websocket/handlers/MESSAGE_DELETE_BULK.js +5 -5
- package/src/client/websocket/handlers/MESSAGE_POLL_VOTE_ADD.js +5 -0
- package/src/client/websocket/handlers/MESSAGE_POLL_VOTE_REMOVE.js +5 -0
- package/src/client/websocket/handlers/MESSAGE_REACTION_ADD.js +5 -5
- package/src/client/websocket/handlers/MESSAGE_REACTION_REMOVE.js +5 -5
- package/src/client/websocket/handlers/MESSAGE_REACTION_REMOVE_ALL.js +5 -5
- package/src/client/websocket/handlers/MESSAGE_REACTION_REMOVE_EMOJI.js +5 -5
- package/src/client/websocket/handlers/MESSAGE_UPDATE.js +16 -16
- package/src/client/websocket/handlers/PRESENCE_UPDATE.js +5 -5
- package/src/client/websocket/handlers/READY.js +121 -80
- package/src/client/websocket/handlers/RELATIONSHIP_ADD.js +19 -19
- package/src/client/websocket/handlers/RELATIONSHIP_REMOVE.js +17 -17
- package/src/client/websocket/handlers/RELATIONSHIP_UPDATE.js +41 -41
- package/src/client/websocket/handlers/RESUMED.js +14 -14
- package/src/client/websocket/handlers/STAGE_INSTANCE_CREATE.js +5 -5
- package/src/client/websocket/handlers/STAGE_INSTANCE_DELETE.js +5 -5
- package/src/client/websocket/handlers/STAGE_INSTANCE_UPDATE.js +5 -5
- package/src/client/websocket/handlers/THREAD_CREATE.js +5 -5
- package/src/client/websocket/handlers/THREAD_DELETE.js +5 -5
- package/src/client/websocket/handlers/THREAD_LIST_SYNC.js +5 -5
- package/src/client/websocket/handlers/THREAD_MEMBERS_UPDATE.js +5 -5
- package/src/client/websocket/handlers/THREAD_MEMBER_UPDATE.js +5 -5
- package/src/client/websocket/handlers/THREAD_UPDATE.js +16 -16
- package/src/client/websocket/handlers/TYPING_START.js +5 -5
- package/src/client/websocket/handlers/USER_GUILD_SETTINGS_UPDATE.js +6 -6
- package/src/client/websocket/handlers/USER_NOTE_UPDATE.js +5 -5
- package/src/client/websocket/handlers/USER_REQUIRED_ACTION_UPDATE.js +78 -78
- package/src/client/websocket/handlers/USER_SETTINGS_UPDATE.js +5 -5
- package/src/client/websocket/handlers/USER_UPDATE.js +5 -5
- package/src/client/websocket/handlers/VOICE_CHANNEL_EFFECT_SEND.js +16 -0
- package/src/client/websocket/handlers/VOICE_CHANNEL_STATUS_UPDATE.js +12 -12
- package/src/client/websocket/handlers/VOICE_SERVER_UPDATE.js +6 -6
- package/src/client/websocket/handlers/VOICE_STATE_UPDATE.js +5 -5
- package/src/client/websocket/handlers/WEBHOOKS_UPDATE.js +5 -5
- package/src/client/websocket/handlers/index.js +84 -81
- package/src/errors/DJSError.js +61 -61
- package/src/errors/Messages.js +217 -182
- package/src/errors/index.js +4 -4
- package/src/index.js +172 -158
- package/src/managers/ApplicationCommandManager.js +264 -264
- package/src/managers/ApplicationCommandPermissionsManager.js +417 -417
- package/src/managers/AutoModerationRuleManager.js +296 -296
- package/src/managers/BaseGuildEmojiManager.js +80 -80
- package/src/managers/BaseManager.js +19 -19
- package/src/managers/BillingManager.js +66 -66
- package/src/managers/CachedManager.js +71 -71
- package/src/managers/ChannelManager.js +148 -138
- package/src/managers/ClientUserSettingManager.js +372 -372
- package/src/managers/DataManager.js +61 -61
- package/src/managers/GuildBanManager.js +250 -204
- package/src/managers/GuildChannelManager.js +488 -504
- package/src/managers/GuildEmojiManager.js +171 -171
- package/src/managers/GuildEmojiRoleManager.js +118 -118
- package/src/managers/GuildForumThreadManager.js +108 -108
- package/src/managers/GuildInviteManager.js +213 -213
- package/src/managers/GuildManager.js +338 -304
- package/src/managers/GuildMemberManager.js +599 -593
- package/src/managers/GuildMemberRoleManager.js +195 -191
- package/src/managers/GuildScheduledEventManager.js +314 -296
- package/src/managers/GuildSettingManager.js +155 -155
- package/src/managers/GuildStickerManager.js +179 -179
- package/src/managers/GuildTextThreadManager.js +98 -98
- package/src/managers/InteractionManager.js +39 -39
- package/src/managers/MessageManager.js +423 -391
- package/src/managers/PermissionOverwriteManager.js +164 -166
- package/src/managers/PresenceManager.js +71 -58
- package/src/managers/ReactionManager.js +67 -67
- package/src/managers/ReactionUserManager.js +73 -71
- package/src/managers/RelationshipManager.js +278 -265
- package/src/managers/RoleManager.js +448 -352
- package/src/managers/SessionManager.js +66 -0
- package/src/managers/StageInstanceManager.js +162 -162
- package/src/managers/ThreadManager.js +175 -174
- package/src/managers/ThreadMemberManager.js +186 -186
- package/src/managers/UserManager.js +136 -146
- package/src/managers/UserNoteManager.js +53 -53
- package/src/managers/VoiceStateManager.js +59 -37
- package/src/rest/APIRequest.js +154 -154
- package/src/rest/APIRouter.js +53 -53
- package/src/rest/DiscordAPIError.js +119 -104
- package/src/rest/HTTPError.js +62 -62
- package/src/rest/RESTManager.js +67 -62
- package/src/rest/RateLimitError.js +55 -55
- package/src/rest/RequestHandler.js +466 -444
- package/src/sharding/Shard.js +444 -443
- package/src/sharding/ShardClientUtil.js +279 -275
- package/src/sharding/ShardingManager.js +319 -318
- package/src/structures/AnonymousGuild.js +98 -98
- package/src/structures/ApplicationCommand.js +593 -593
- package/src/structures/ApplicationRoleConnectionMetadata.js +48 -48
- package/src/structures/AutoModerationActionExecution.js +89 -89
- package/src/structures/AutoModerationRule.js +294 -294
- package/src/structures/AutocompleteInteraction.js +107 -107
- package/src/structures/Base.js +43 -43
- package/src/structures/BaseCommandInteraction.js +211 -211
- package/src/structures/BaseGuild.js +116 -116
- package/src/structures/BaseGuildEmoji.js +56 -56
- package/src/structures/BaseGuildTextChannel.js +191 -191
- package/src/structures/BaseGuildVoiceChannel.js +241 -241
- package/src/structures/BaseMessageComponent.js +181 -114
- package/src/structures/ButtonInteraction.js +11 -11
- package/src/structures/CallState.js +63 -63
- package/src/structures/CategoryChannel.js +85 -85
- package/src/structures/Channel.js +284 -270
- package/src/structures/ClientPresence.js +77 -88
- package/src/structures/ClientUser.js +479 -450
- package/src/structures/CommandInteraction.js +41 -41
- package/src/structures/CommandInteractionOptionResolver.js +276 -276
- package/src/structures/ContainerComponent.js +68 -0
- package/src/structures/ContextMenuInteraction.js +65 -65
- package/src/structures/DMChannel.js +219 -217
- package/src/structures/DirectoryChannel.js +20 -20
- package/src/structures/Emoji.js +148 -148
- package/src/structures/FileComponent.js +49 -0
- package/src/structures/ForumChannel.js +31 -261
- package/src/structures/GroupDMChannel.js +394 -387
- package/src/structures/Guild.js +1643 -1608
- package/src/structures/GuildAuditLogs.js +746 -729
- package/src/structures/GuildBan.js +59 -59
- package/src/structures/GuildBoost.js +108 -108
- package/src/structures/GuildChannel.js +470 -468
- package/src/structures/GuildEmoji.js +161 -161
- package/src/structures/GuildMember.js +636 -568
- package/src/structures/GuildPreview.js +191 -191
- package/src/structures/GuildPreviewEmoji.js +27 -27
- package/src/structures/GuildScheduledEvent.js +536 -441
- package/src/structures/GuildTemplate.js +236 -236
- package/src/structures/Integration.js +188 -188
- package/src/structures/IntegrationApplication.js +96 -96
- package/src/structures/Interaction.js +290 -290
- package/src/structures/InteractionCollector.js +248 -248
- package/src/structures/InteractionWebhook.js +43 -43
- package/src/structures/Invite.js +358 -358
- package/src/structures/InviteGuild.js +23 -23
- package/src/structures/InviteStageInstance.js +86 -86
- package/src/structures/MediaChannel.js +11 -0
- package/src/structures/MediaGalleryComponent.js +41 -0
- package/src/structures/MediaGalleryItem.js +47 -0
- package/src/structures/Message.js +1252 -1236
- package/src/structures/MessageActionRow.js +105 -103
- package/src/structures/MessageAttachment.js +216 -204
- package/src/structures/MessageButton.js +166 -165
- package/src/structures/MessageCollector.js +146 -146
- package/src/structures/MessageComponentInteraction.js +120 -120
- package/src/structures/MessageContextMenuInteraction.js +20 -20
- package/src/structures/MessageEmbed.js +596 -586
- package/src/structures/MessageMentions.js +273 -273
- package/src/structures/MessagePayload.js +354 -316
- package/src/structures/MessageReaction.js +181 -171
- package/src/structures/MessageSelectMenu.js +141 -140
- package/src/structures/Modal.js +161 -174
- package/src/structures/ModalSubmitFieldsResolver.js +53 -53
- package/src/structures/ModalSubmitInteraction.js +119 -119
- package/src/structures/NewsChannel.js +32 -32
- package/src/structures/OAuth2Guild.js +28 -28
- package/src/structures/PermissionOverwrites.js +198 -196
- package/src/structures/Poll.js +108 -0
- package/src/structures/PollAnswer.js +88 -0
- package/src/structures/Presence.js +1105 -443
- package/src/structures/ReactionCollector.js +229 -229
- package/src/structures/ReactionEmoji.js +31 -31
- package/src/structures/Role.js +590 -531
- package/src/structures/SectionComponent.js +48 -0
- package/src/structures/SelectMenuInteraction.js +21 -21
- package/src/structures/SeparatorComponent.js +48 -0
- package/src/structures/Session.js +81 -0
- package/src/structures/StageChannel.js +104 -104
- package/src/structures/StageInstance.js +208 -208
- package/src/structures/Sticker.js +310 -310
- package/src/structures/StickerPack.js +95 -95
- package/src/structures/StoreChannel.js +56 -56
- package/src/structures/Team.js +118 -118
- package/src/structures/TeamMember.js +80 -71
- package/src/structures/TextChannel.js +33 -33
- package/src/structures/TextDisplayComponent.js +40 -0
- package/src/structures/TextInputComponent.js +132 -131
- package/src/structures/ThreadChannel.js +605 -607
- package/src/structures/ThreadMember.js +105 -105
- package/src/structures/ThreadOnlyChannel.js +249 -0
- package/src/structures/ThumbnailComponent.js +57 -0
- package/src/structures/Typing.js +74 -74
- package/src/structures/UnfurledMediaItem.js +29 -0
- package/src/structures/User.js +640 -509
- package/src/structures/UserContextMenuInteraction.js +29 -29
- package/src/structures/VoiceChannel.js +110 -110
- package/src/structures/VoiceChannelEffect.js +69 -0
- package/src/structures/VoiceRegion.js +53 -53
- package/src/structures/VoiceState.js +354 -341
- package/src/structures/WebEmbed.js +373 -373
- package/src/structures/Webhook.js +478 -467
- package/src/structures/WelcomeChannel.js +60 -60
- package/src/structures/WelcomeScreen.js +48 -48
- package/src/structures/Widget.js +87 -87
- package/src/structures/WidgetMember.js +99 -99
- package/src/structures/interfaces/Application.js +825 -313
- package/src/structures/interfaces/Collector.js +300 -300
- package/src/structures/interfaces/InteractionResponses.js +313 -313
- package/src/structures/interfaces/TextBasedChannel.js +759 -721
- package/src/util/APITypes.js +59 -0
- package/src/util/ActivityFlags.js +44 -44
- package/src/util/ApplicationFlags.js +76 -76
- package/src/util/AttachmentFlags.js +38 -38
- package/src/util/BitField.js +170 -170
- package/src/util/ChannelFlags.js +45 -45
- package/src/util/Constants.js +1914 -1760
- package/src/util/DataResolver.js +146 -145
- package/src/util/Formatters.js +228 -228
- package/src/util/GuildMemberFlags.js +43 -43
- package/src/util/Intents.js +74 -74
- package/src/util/InviteFlags.js +34 -29
- package/src/util/LimitedCollection.js +131 -131
- package/src/util/MessageFlags.js +63 -54
- package/src/util/Options.js +358 -342
- package/src/util/Permissions.js +202 -192
- package/src/util/PremiumUsageFlags.js +31 -31
- package/src/util/PurchasedFlags.js +33 -33
- package/src/util/RemoteAuth.js +382 -379
- package/src/util/RoleFlags.js +37 -37
- package/src/util/SnowflakeUtil.js +92 -92
- package/src/util/Speaking.js +33 -0
- package/src/util/Sweepers.js +466 -466
- package/src/util/SystemChannelFlags.js +55 -55
- package/src/util/ThreadMemberFlags.js +30 -30
- package/src/util/UserFlags.js +104 -104
- package/src/util/Util.js +1048 -803
- package/typings/enums.d.ts +439 -291
- package/typings/index.d.ts +8247 -7390
- package/typings/rawDataTypes.d.ts +403 -342
- package/src/structures/RichPresence.js +0 -702
package/src/util/Formatters.js
CHANGED
|
@@ -1,228 +1,228 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
const {
|
|
4
|
-
blockQuote,
|
|
5
|
-
bold,
|
|
6
|
-
channelMention,
|
|
7
|
-
codeBlock,
|
|
8
|
-
formatEmoji,
|
|
9
|
-
hideLinkEmbed,
|
|
10
|
-
hyperlink,
|
|
11
|
-
inlineCode,
|
|
12
|
-
italic,
|
|
13
|
-
quote,
|
|
14
|
-
roleMention,
|
|
15
|
-
spoiler,
|
|
16
|
-
strikethrough,
|
|
17
|
-
time,
|
|
18
|
-
TimestampStyles,
|
|
19
|
-
underscore,
|
|
20
|
-
userMention,
|
|
21
|
-
} = require('@discordjs/builders');
|
|
22
|
-
|
|
23
|
-
/**
|
|
24
|
-
* Contains various Discord-specific functions for formatting messages.
|
|
25
|
-
*/
|
|
26
|
-
class Formatters extends null {}
|
|
27
|
-
|
|
28
|
-
/**
|
|
29
|
-
* Formats the content into a block quote. This needs to be at the start of the line for Discord to format it.
|
|
30
|
-
* @method blockQuote
|
|
31
|
-
* @memberof Formatters
|
|
32
|
-
* @param {string} content The content to wrap.
|
|
33
|
-
* @returns {string}
|
|
34
|
-
*/
|
|
35
|
-
Formatters.blockQuote = blockQuote;
|
|
36
|
-
|
|
37
|
-
/**
|
|
38
|
-
* Formats the content into bold text.
|
|
39
|
-
* @method bold
|
|
40
|
-
* @memberof Formatters
|
|
41
|
-
* @param {string} content The content to wrap.
|
|
42
|
-
* @returns {string}
|
|
43
|
-
*/
|
|
44
|
-
Formatters.bold = bold;
|
|
45
|
-
|
|
46
|
-
/**
|
|
47
|
-
* Formats a channel id into a channel mention.
|
|
48
|
-
* @method channelMention
|
|
49
|
-
* @memberof Formatters
|
|
50
|
-
* @param {string} channelId The channel id to format.
|
|
51
|
-
* @returns {string}
|
|
52
|
-
*/
|
|
53
|
-
Formatters.channelMention = channelMention;
|
|
54
|
-
|
|
55
|
-
/**
|
|
56
|
-
* Formats an application command name, subcommand group name, subcommand name, and ID
|
|
57
|
-
* into an application command mention
|
|
58
|
-
* @method chatInputApplicationCommandMention
|
|
59
|
-
* @memberof Formatters
|
|
60
|
-
* @param {string} commandName The name of the application command
|
|
61
|
-
* @param {string|Snowflake} subcommandGroupOrSubOrId
|
|
62
|
-
* The subcommand group name, subcommand name, or application command id
|
|
63
|
-
* @param {?(string|Snowflake)} [subcommandNameOrId] The subcommand name or application command id
|
|
64
|
-
* @param {?Snowflake} [commandId] The id of the application command
|
|
65
|
-
* @returns {string}
|
|
66
|
-
* @static
|
|
67
|
-
*/
|
|
68
|
-
Formatters.chatInputApplicationCommandMention = function chatInputApplicationCommandMention(
|
|
69
|
-
commandName,
|
|
70
|
-
subcommandGroupOrSubOrId,
|
|
71
|
-
subcommandNameOrId,
|
|
72
|
-
commandId,
|
|
73
|
-
) {
|
|
74
|
-
if (typeof commandId !== 'undefined') {
|
|
75
|
-
return `</${commandName} ${subcommandGroupOrSubOrId} ${subcommandNameOrId}:${commandId}>`;
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
if (typeof subcommandNameOrId !== 'undefined') {
|
|
79
|
-
return `</${commandName} ${subcommandGroupOrSubOrId}:${subcommandNameOrId}>`;
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
return `</${commandName}:${subcommandGroupOrSubOrId}>`;
|
|
83
|
-
};
|
|
84
|
-
|
|
85
|
-
/**
|
|
86
|
-
* Wraps the content inside a code block with an optional language.
|
|
87
|
-
* @method codeBlock
|
|
88
|
-
* @memberof Formatters
|
|
89
|
-
* @param {string} contentOrLanguage The language to use, content if a second parameter isn't provided.
|
|
90
|
-
* @param {string} [content] The content to wrap.
|
|
91
|
-
* @returns {string}
|
|
92
|
-
*/
|
|
93
|
-
Formatters.codeBlock = codeBlock;
|
|
94
|
-
|
|
95
|
-
/**
|
|
96
|
-
* Formats an emoji id into a fully qualified emoji identifier
|
|
97
|
-
* @method formatEmoji
|
|
98
|
-
* @memberof Formatters
|
|
99
|
-
* @param {string} emojiId The emoji id to format.
|
|
100
|
-
* @param {boolean} [animated] Whether the emoji is animated or not. Defaults to `false`
|
|
101
|
-
* @returns {string}
|
|
102
|
-
*/
|
|
103
|
-
Formatters.formatEmoji = formatEmoji;
|
|
104
|
-
|
|
105
|
-
/**
|
|
106
|
-
* Wraps the URL into `<>`, which stops it from embedding.
|
|
107
|
-
* @method hideLinkEmbed
|
|
108
|
-
* @memberof Formatters
|
|
109
|
-
* @param {string} content The content to wrap.
|
|
110
|
-
* @returns {string}
|
|
111
|
-
*/
|
|
112
|
-
Formatters.hideLinkEmbed = hideLinkEmbed;
|
|
113
|
-
|
|
114
|
-
/**
|
|
115
|
-
* Formats the content and the URL into a masked URL with an optional title.
|
|
116
|
-
* @method hyperlink
|
|
117
|
-
* @memberof Formatters
|
|
118
|
-
* @param {string} content The content to display.
|
|
119
|
-
* @param {string} url The URL the content links to.
|
|
120
|
-
* @param {string} [title] The title shown when hovering on the masked link.
|
|
121
|
-
* @returns {string}
|
|
122
|
-
*/
|
|
123
|
-
Formatters.hyperlink = hyperlink;
|
|
124
|
-
|
|
125
|
-
/**
|
|
126
|
-
* Wraps the content inside \`backticks\`, which formats it as inline code.
|
|
127
|
-
* @method inlineCode
|
|
128
|
-
* @memberof Formatters
|
|
129
|
-
* @param {string} content The content to wrap.
|
|
130
|
-
* @returns {string}
|
|
131
|
-
*/
|
|
132
|
-
Formatters.inlineCode = inlineCode;
|
|
133
|
-
|
|
134
|
-
/**
|
|
135
|
-
* Formats the content into italic text.
|
|
136
|
-
* @method italic
|
|
137
|
-
* @memberof Formatters
|
|
138
|
-
* @param {string} content The content to wrap.
|
|
139
|
-
* @returns {string}
|
|
140
|
-
*/
|
|
141
|
-
Formatters.italic = italic;
|
|
142
|
-
|
|
143
|
-
/**
|
|
144
|
-
* Formats the content into a quote. This needs to be at the start of the line for Discord to format it.
|
|
145
|
-
* @method quote
|
|
146
|
-
* @memberof Formatters
|
|
147
|
-
* @param {string} content The content to wrap.
|
|
148
|
-
* @returns {string}
|
|
149
|
-
*/
|
|
150
|
-
Formatters.quote = quote;
|
|
151
|
-
|
|
152
|
-
/**
|
|
153
|
-
* Formats a role id into a role mention.
|
|
154
|
-
* @method roleMention
|
|
155
|
-
* @memberof Formatters
|
|
156
|
-
* @param {string} roleId The role id to format.
|
|
157
|
-
* @returns {string}
|
|
158
|
-
*/
|
|
159
|
-
Formatters.roleMention = roleMention;
|
|
160
|
-
|
|
161
|
-
/**
|
|
162
|
-
* Formats the content into spoiler text.
|
|
163
|
-
* @method spoiler
|
|
164
|
-
* @memberof Formatters
|
|
165
|
-
* @param {string} content The content to spoiler.
|
|
166
|
-
* @returns {string}
|
|
167
|
-
*/
|
|
168
|
-
Formatters.spoiler = spoiler;
|
|
169
|
-
|
|
170
|
-
/**
|
|
171
|
-
* Formats the content into strike-through text.
|
|
172
|
-
* @method strikethrough
|
|
173
|
-
* @memberof Formatters
|
|
174
|
-
* @param {string} content The content to wrap.
|
|
175
|
-
* @returns {string}
|
|
176
|
-
*/
|
|
177
|
-
Formatters.strikethrough = strikethrough;
|
|
178
|
-
|
|
179
|
-
/**
|
|
180
|
-
* Formats a date into a short date-time string.
|
|
181
|
-
* @method time
|
|
182
|
-
* @memberof Formatters
|
|
183
|
-
* @param {number|Date} [date] The date to format.
|
|
184
|
-
* @param {TimestampStylesString} [style] The style to use.
|
|
185
|
-
* @returns {string}
|
|
186
|
-
*/
|
|
187
|
-
Formatters.time = time;
|
|
188
|
-
|
|
189
|
-
/**
|
|
190
|
-
* A message formatting timestamp style, as defined in
|
|
191
|
-
* [here](https://discord.com/developers/docs/reference#message-formatting-timestamp-styles).
|
|
192
|
-
* * `t` Short time format, consisting of hours and minutes, e.g. 16:20.
|
|
193
|
-
* * `T` Long time format, consisting of hours, minutes, and seconds, e.g. 16:20:30.
|
|
194
|
-
* * `d` Short date format, consisting of day, month, and year, e.g. 20/04/2021.
|
|
195
|
-
* * `D` Long date format, consisting of day, month, and year, e.g. 20 April 2021.
|
|
196
|
-
* * `f` Short date-time format, consisting of short date and short time formats, e.g. 20 April 2021 16:20.
|
|
197
|
-
* * `F` Long date-time format, consisting of long date and short time formats, e.g. Tuesday, 20 April 2021 16:20.
|
|
198
|
-
* * `R` Relative time format, consisting of a relative duration format, e.g. 2 months ago.
|
|
199
|
-
* @typedef {string} TimestampStylesString
|
|
200
|
-
*/
|
|
201
|
-
|
|
202
|
-
/**
|
|
203
|
-
* The message formatting timestamp
|
|
204
|
-
* [styles](https://discord.com/developers/docs/reference#message-formatting-timestamp-styles) supported by Discord.
|
|
205
|
-
* @memberof Formatters
|
|
206
|
-
* @type {Object<string, TimestampStylesString>}
|
|
207
|
-
*/
|
|
208
|
-
Formatters.TimestampStyles = TimestampStyles;
|
|
209
|
-
|
|
210
|
-
/**
|
|
211
|
-
* Formats the content into underscored text.
|
|
212
|
-
* @method underscore
|
|
213
|
-
* @memberof Formatters
|
|
214
|
-
* @param {string} content The content to wrap.
|
|
215
|
-
* @returns {string}
|
|
216
|
-
*/
|
|
217
|
-
Formatters.underscore = underscore;
|
|
218
|
-
|
|
219
|
-
/**
|
|
220
|
-
* Formats a user id into a user mention.
|
|
221
|
-
* @method userMention
|
|
222
|
-
* @memberof Formatters
|
|
223
|
-
* @param {string} userId The user id to format.
|
|
224
|
-
* @returns {string}
|
|
225
|
-
*/
|
|
226
|
-
Formatters.userMention = userMention;
|
|
227
|
-
|
|
228
|
-
module.exports = Formatters;
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const {
|
|
4
|
+
blockQuote,
|
|
5
|
+
bold,
|
|
6
|
+
channelMention,
|
|
7
|
+
codeBlock,
|
|
8
|
+
formatEmoji,
|
|
9
|
+
hideLinkEmbed,
|
|
10
|
+
hyperlink,
|
|
11
|
+
inlineCode,
|
|
12
|
+
italic,
|
|
13
|
+
quote,
|
|
14
|
+
roleMention,
|
|
15
|
+
spoiler,
|
|
16
|
+
strikethrough,
|
|
17
|
+
time,
|
|
18
|
+
TimestampStyles,
|
|
19
|
+
underscore,
|
|
20
|
+
userMention,
|
|
21
|
+
} = require('@discordjs/builders');
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Contains various Discord-specific functions for formatting messages.
|
|
25
|
+
*/
|
|
26
|
+
class Formatters extends null {}
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Formats the content into a block quote. This needs to be at the start of the line for Discord to format it.
|
|
30
|
+
* @method blockQuote
|
|
31
|
+
* @memberof Formatters
|
|
32
|
+
* @param {string} content The content to wrap.
|
|
33
|
+
* @returns {string}
|
|
34
|
+
*/
|
|
35
|
+
Formatters.blockQuote = blockQuote;
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Formats the content into bold text.
|
|
39
|
+
* @method bold
|
|
40
|
+
* @memberof Formatters
|
|
41
|
+
* @param {string} content The content to wrap.
|
|
42
|
+
* @returns {string}
|
|
43
|
+
*/
|
|
44
|
+
Formatters.bold = bold;
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* Formats a channel id into a channel mention.
|
|
48
|
+
* @method channelMention
|
|
49
|
+
* @memberof Formatters
|
|
50
|
+
* @param {string} channelId The channel id to format.
|
|
51
|
+
* @returns {string}
|
|
52
|
+
*/
|
|
53
|
+
Formatters.channelMention = channelMention;
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* Formats an application command name, subcommand group name, subcommand name, and ID
|
|
57
|
+
* into an application command mention
|
|
58
|
+
* @method chatInputApplicationCommandMention
|
|
59
|
+
* @memberof Formatters
|
|
60
|
+
* @param {string} commandName The name of the application command
|
|
61
|
+
* @param {string|Snowflake} subcommandGroupOrSubOrId
|
|
62
|
+
* The subcommand group name, subcommand name, or application command id
|
|
63
|
+
* @param {?(string|Snowflake)} [subcommandNameOrId] The subcommand name or application command id
|
|
64
|
+
* @param {?Snowflake} [commandId] The id of the application command
|
|
65
|
+
* @returns {string}
|
|
66
|
+
* @static
|
|
67
|
+
*/
|
|
68
|
+
Formatters.chatInputApplicationCommandMention = function chatInputApplicationCommandMention(
|
|
69
|
+
commandName,
|
|
70
|
+
subcommandGroupOrSubOrId,
|
|
71
|
+
subcommandNameOrId,
|
|
72
|
+
commandId,
|
|
73
|
+
) {
|
|
74
|
+
if (typeof commandId !== 'undefined') {
|
|
75
|
+
return `</${commandName} ${subcommandGroupOrSubOrId} ${subcommandNameOrId}:${commandId}>`;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
if (typeof subcommandNameOrId !== 'undefined') {
|
|
79
|
+
return `</${commandName} ${subcommandGroupOrSubOrId}:${subcommandNameOrId}>`;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
return `</${commandName}:${subcommandGroupOrSubOrId}>`;
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
* Wraps the content inside a code block with an optional language.
|
|
87
|
+
* @method codeBlock
|
|
88
|
+
* @memberof Formatters
|
|
89
|
+
* @param {string} contentOrLanguage The language to use, content if a second parameter isn't provided.
|
|
90
|
+
* @param {string} [content] The content to wrap.
|
|
91
|
+
* @returns {string}
|
|
92
|
+
*/
|
|
93
|
+
Formatters.codeBlock = codeBlock;
|
|
94
|
+
|
|
95
|
+
/**
|
|
96
|
+
* Formats an emoji id into a fully qualified emoji identifier
|
|
97
|
+
* @method formatEmoji
|
|
98
|
+
* @memberof Formatters
|
|
99
|
+
* @param {string} emojiId The emoji id to format.
|
|
100
|
+
* @param {boolean} [animated] Whether the emoji is animated or not. Defaults to `false`
|
|
101
|
+
* @returns {string}
|
|
102
|
+
*/
|
|
103
|
+
Formatters.formatEmoji = formatEmoji;
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* Wraps the URL into `<>`, which stops it from embedding.
|
|
107
|
+
* @method hideLinkEmbed
|
|
108
|
+
* @memberof Formatters
|
|
109
|
+
* @param {string} content The content to wrap.
|
|
110
|
+
* @returns {string}
|
|
111
|
+
*/
|
|
112
|
+
Formatters.hideLinkEmbed = hideLinkEmbed;
|
|
113
|
+
|
|
114
|
+
/**
|
|
115
|
+
* Formats the content and the URL into a masked URL with an optional title.
|
|
116
|
+
* @method hyperlink
|
|
117
|
+
* @memberof Formatters
|
|
118
|
+
* @param {string} content The content to display.
|
|
119
|
+
* @param {string} url The URL the content links to.
|
|
120
|
+
* @param {string} [title] The title shown when hovering on the masked link.
|
|
121
|
+
* @returns {string}
|
|
122
|
+
*/
|
|
123
|
+
Formatters.hyperlink = hyperlink;
|
|
124
|
+
|
|
125
|
+
/**
|
|
126
|
+
* Wraps the content inside \`backticks\`, which formats it as inline code.
|
|
127
|
+
* @method inlineCode
|
|
128
|
+
* @memberof Formatters
|
|
129
|
+
* @param {string} content The content to wrap.
|
|
130
|
+
* @returns {string}
|
|
131
|
+
*/
|
|
132
|
+
Formatters.inlineCode = inlineCode;
|
|
133
|
+
|
|
134
|
+
/**
|
|
135
|
+
* Formats the content into italic text.
|
|
136
|
+
* @method italic
|
|
137
|
+
* @memberof Formatters
|
|
138
|
+
* @param {string} content The content to wrap.
|
|
139
|
+
* @returns {string}
|
|
140
|
+
*/
|
|
141
|
+
Formatters.italic = italic;
|
|
142
|
+
|
|
143
|
+
/**
|
|
144
|
+
* Formats the content into a quote. This needs to be at the start of the line for Discord to format it.
|
|
145
|
+
* @method quote
|
|
146
|
+
* @memberof Formatters
|
|
147
|
+
* @param {string} content The content to wrap.
|
|
148
|
+
* @returns {string}
|
|
149
|
+
*/
|
|
150
|
+
Formatters.quote = quote;
|
|
151
|
+
|
|
152
|
+
/**
|
|
153
|
+
* Formats a role id into a role mention.
|
|
154
|
+
* @method roleMention
|
|
155
|
+
* @memberof Formatters
|
|
156
|
+
* @param {string} roleId The role id to format.
|
|
157
|
+
* @returns {string}
|
|
158
|
+
*/
|
|
159
|
+
Formatters.roleMention = roleMention;
|
|
160
|
+
|
|
161
|
+
/**
|
|
162
|
+
* Formats the content into spoiler text.
|
|
163
|
+
* @method spoiler
|
|
164
|
+
* @memberof Formatters
|
|
165
|
+
* @param {string} content The content to spoiler.
|
|
166
|
+
* @returns {string}
|
|
167
|
+
*/
|
|
168
|
+
Formatters.spoiler = spoiler;
|
|
169
|
+
|
|
170
|
+
/**
|
|
171
|
+
* Formats the content into strike-through text.
|
|
172
|
+
* @method strikethrough
|
|
173
|
+
* @memberof Formatters
|
|
174
|
+
* @param {string} content The content to wrap.
|
|
175
|
+
* @returns {string}
|
|
176
|
+
*/
|
|
177
|
+
Formatters.strikethrough = strikethrough;
|
|
178
|
+
|
|
179
|
+
/**
|
|
180
|
+
* Formats a date into a short date-time string.
|
|
181
|
+
* @method time
|
|
182
|
+
* @memberof Formatters
|
|
183
|
+
* @param {number|Date} [date] The date to format.
|
|
184
|
+
* @param {TimestampStylesString} [style] The style to use.
|
|
185
|
+
* @returns {string}
|
|
186
|
+
*/
|
|
187
|
+
Formatters.time = time;
|
|
188
|
+
|
|
189
|
+
/**
|
|
190
|
+
* A message formatting timestamp style, as defined in
|
|
191
|
+
* [here](https://discord.com/developers/docs/reference#message-formatting-timestamp-styles).
|
|
192
|
+
* * `t` Short time format, consisting of hours and minutes, e.g. 16:20.
|
|
193
|
+
* * `T` Long time format, consisting of hours, minutes, and seconds, e.g. 16:20:30.
|
|
194
|
+
* * `d` Short date format, consisting of day, month, and year, e.g. 20/04/2021.
|
|
195
|
+
* * `D` Long date format, consisting of day, month, and year, e.g. 20 April 2021.
|
|
196
|
+
* * `f` Short date-time format, consisting of short date and short time formats, e.g. 20 April 2021 16:20.
|
|
197
|
+
* * `F` Long date-time format, consisting of long date and short time formats, e.g. Tuesday, 20 April 2021 16:20.
|
|
198
|
+
* * `R` Relative time format, consisting of a relative duration format, e.g. 2 months ago.
|
|
199
|
+
* @typedef {string} TimestampStylesString
|
|
200
|
+
*/
|
|
201
|
+
|
|
202
|
+
/**
|
|
203
|
+
* The message formatting timestamp
|
|
204
|
+
* [styles](https://discord.com/developers/docs/reference#message-formatting-timestamp-styles) supported by Discord.
|
|
205
|
+
* @memberof Formatters
|
|
206
|
+
* @type {Object<string, TimestampStylesString>}
|
|
207
|
+
*/
|
|
208
|
+
Formatters.TimestampStyles = TimestampStyles;
|
|
209
|
+
|
|
210
|
+
/**
|
|
211
|
+
* Formats the content into underscored text.
|
|
212
|
+
* @method underscore
|
|
213
|
+
* @memberof Formatters
|
|
214
|
+
* @param {string} content The content to wrap.
|
|
215
|
+
* @returns {string}
|
|
216
|
+
*/
|
|
217
|
+
Formatters.underscore = underscore;
|
|
218
|
+
|
|
219
|
+
/**
|
|
220
|
+
* Formats a user id into a user mention.
|
|
221
|
+
* @method userMention
|
|
222
|
+
* @memberof Formatters
|
|
223
|
+
* @param {string} userId The user id to format.
|
|
224
|
+
* @returns {string}
|
|
225
|
+
*/
|
|
226
|
+
Formatters.userMention = userMention;
|
|
227
|
+
|
|
228
|
+
module.exports = Formatters;
|
|
@@ -1,43 +1,43 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
const BitField = require('./BitField');
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* Data structure that makes it easy to interact with an {@link GuildMember#flags} bitfield.
|
|
7
|
-
* @extends {BitField}
|
|
8
|
-
*/
|
|
9
|
-
class GuildMemberFlags extends BitField {}
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* @name GuildMemberFlags
|
|
13
|
-
* @kind constructor
|
|
14
|
-
* @memberof GuildMemberFlags
|
|
15
|
-
* @param {BitFieldResolvable} [bits=0] Bit(s) to read from
|
|
16
|
-
*/
|
|
17
|
-
|
|
18
|
-
/**
|
|
19
|
-
* Numeric guild member flags. All available properties:
|
|
20
|
-
* * `DID_REJOIN`
|
|
21
|
-
* * `COMPLETED_ONBOARDING`
|
|
22
|
-
* * `BYPASSES_VERIFICATION`
|
|
23
|
-
* * `STARTED_ONBOARDING`
|
|
24
|
-
* @type {Object}
|
|
25
|
-
* @see {@link https://discord.com/developers/docs/resources/guild#guild-member-object-guild-member-flags}
|
|
26
|
-
*/
|
|
27
|
-
GuildMemberFlags.FLAGS = {
|
|
28
|
-
DID_REJOIN: 1 << 0,
|
|
29
|
-
COMPLETED_ONBOARDING: 1 << 1,
|
|
30
|
-
BYPASSES_VERIFICATION: 1 << 2,
|
|
31
|
-
STARTED_ONBOARDING: 1 << 3,
|
|
32
|
-
};
|
|
33
|
-
|
|
34
|
-
/**
|
|
35
|
-
* Data that can be resolved to give a guild member flag bitfield. This can be:
|
|
36
|
-
* * A string (see {@link GuildMemberFlags.FLAGS})
|
|
37
|
-
* * A guild member flag
|
|
38
|
-
* * An instance of GuildMemberFlags
|
|
39
|
-
* * An Array of GuildMemberFlagsResolvable
|
|
40
|
-
* @typedef {string|number|GuildMemberFlags|GuildMemberFlagsResolvable[]} GuildMemberFlagsResolvable
|
|
41
|
-
*/
|
|
42
|
-
|
|
43
|
-
module.exports = GuildMemberFlags;
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const BitField = require('./BitField');
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Data structure that makes it easy to interact with an {@link GuildMember#flags} bitfield.
|
|
7
|
+
* @extends {BitField}
|
|
8
|
+
*/
|
|
9
|
+
class GuildMemberFlags extends BitField {}
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* @name GuildMemberFlags
|
|
13
|
+
* @kind constructor
|
|
14
|
+
* @memberof GuildMemberFlags
|
|
15
|
+
* @param {BitFieldResolvable} [bits=0] Bit(s) to read from
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Numeric guild member flags. All available properties:
|
|
20
|
+
* * `DID_REJOIN`
|
|
21
|
+
* * `COMPLETED_ONBOARDING`
|
|
22
|
+
* * `BYPASSES_VERIFICATION`
|
|
23
|
+
* * `STARTED_ONBOARDING`
|
|
24
|
+
* @type {Object}
|
|
25
|
+
* @see {@link https://discord.com/developers/docs/resources/guild#guild-member-object-guild-member-flags}
|
|
26
|
+
*/
|
|
27
|
+
GuildMemberFlags.FLAGS = {
|
|
28
|
+
DID_REJOIN: 1 << 0,
|
|
29
|
+
COMPLETED_ONBOARDING: 1 << 1,
|
|
30
|
+
BYPASSES_VERIFICATION: 1 << 2,
|
|
31
|
+
STARTED_ONBOARDING: 1 << 3,
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* Data that can be resolved to give a guild member flag bitfield. This can be:
|
|
36
|
+
* * A string (see {@link GuildMemberFlags.FLAGS})
|
|
37
|
+
* * A guild member flag
|
|
38
|
+
* * An instance of GuildMemberFlags
|
|
39
|
+
* * An Array of GuildMemberFlagsResolvable
|
|
40
|
+
* @typedef {string|number|GuildMemberFlags|GuildMemberFlagsResolvable[]} GuildMemberFlagsResolvable
|
|
41
|
+
*/
|
|
42
|
+
|
|
43
|
+
module.exports = GuildMemberFlags;
|