@ovencord/discord.js 14.16.3
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 +191 -0
- package/README.md +148 -0
- package/package.json +73 -0
- package/src/client/Client.ts +967 -0
- package/src/client/actions/Action.ts +141 -0
- package/src/client/actions/ActionsManager.ts +138 -0
- package/src/client/actions/ChannelCreate.ts +21 -0
- package/src/client/actions/ChannelDelete.ts +20 -0
- package/src/client/actions/ChannelUpdate.ts +38 -0
- package/src/client/actions/GuildChannelsPositionUpdate.ts +17 -0
- package/src/client/actions/GuildEmojiCreate.ts +17 -0
- package/src/client/actions/GuildEmojiDelete.ts +16 -0
- package/src/client/actions/GuildEmojiUpdate.ts +17 -0
- package/src/client/actions/GuildEmojisUpdate.ts +30 -0
- package/src/client/actions/GuildMemberRemove.ts +29 -0
- package/src/client/actions/GuildMemberUpdate.ts +41 -0
- package/src/client/actions/GuildRoleCreate.ts +23 -0
- package/src/client/actions/GuildRoleDelete.ts +26 -0
- package/src/client/actions/GuildRolesPositionUpdate.ts +17 -0
- package/src/client/actions/GuildScheduledEventDelete.ts +28 -0
- package/src/client/actions/GuildScheduledEventUserAdd.ts +29 -0
- package/src/client/actions/GuildScheduledEventUserRemove.ts +29 -0
- package/src/client/actions/GuildSoundboardSoundDelete.ts +26 -0
- package/src/client/actions/GuildStickerCreate.ts +17 -0
- package/src/client/actions/GuildStickerDelete.ts +16 -0
- package/src/client/actions/GuildStickerUpdate.ts +17 -0
- package/src/client/actions/GuildStickersUpdate.ts +30 -0
- package/src/client/actions/GuildUpdate.ts +30 -0
- package/src/client/actions/InteractionCreate.ts +104 -0
- package/src/client/actions/MessageCreate.ts +38 -0
- package/src/client/actions/MessageDelete.ts +29 -0
- package/src/client/actions/MessageDeleteBulk.ts +45 -0
- package/src/client/actions/MessagePollVoteAdd.ts +37 -0
- package/src/client/actions/MessagePollVoteRemove.ts +35 -0
- package/src/client/actions/MessageReactionAdd.ts +68 -0
- package/src/client/actions/MessageReactionRemove.ts +47 -0
- package/src/client/actions/MessageReactionRemoveAll.ts +30 -0
- package/src/client/actions/MessageReactionRemoveEmoji.ts +25 -0
- package/src/client/actions/MessageUpdate.ts +22 -0
- package/src/client/actions/StageInstanceCreate.ts +25 -0
- package/src/client/actions/StageInstanceDelete.ts +28 -0
- package/src/client/actions/StageInstanceUpdate.ts +27 -0
- package/src/client/actions/ThreadCreate.ts +22 -0
- package/src/client/actions/ThreadMembersUpdate.ts +45 -0
- package/src/client/actions/TypingStart.ts +26 -0
- package/src/client/actions/UserUpdate.ts +33 -0
- package/src/client/voice/ClientVoiceManager.ts +46 -0
- package/src/client/websocket/handlers/APPLICATION_COMMAND_PERMISSIONS_UPDATE.ts +19 -0
- package/src/client/websocket/handlers/AUTO_MODERATION_ACTION_EXECUTION.ts +17 -0
- package/src/client/websocket/handlers/AUTO_MODERATION_RULE_CREATE.ts +18 -0
- package/src/client/websocket/handlers/AUTO_MODERATION_RULE_DELETE.ts +21 -0
- package/src/client/websocket/handlers/AUTO_MODERATION_RULE_UPDATE.ts +20 -0
- package/src/client/websocket/handlers/CHANNEL_CREATE.ts +4 -0
- package/src/client/websocket/handlers/CHANNEL_DELETE.ts +4 -0
- package/src/client/websocket/handlers/CHANNEL_PINS_UPDATE.ts +22 -0
- package/src/client/websocket/handlers/CHANNEL_UPDATE.ts +16 -0
- package/src/client/websocket/handlers/ENTITLEMENT_CREATE.ts +14 -0
- package/src/client/websocket/handlers/ENTITLEMENT_DELETE.ts +18 -0
- package/src/client/websocket/handlers/ENTITLEMENT_UPDATE.ts +16 -0
- package/src/client/websocket/handlers/GUILD_AUDIT_LOG_ENTRY_CREATE.ts +19 -0
- package/src/client/websocket/handlers/GUILD_BAN_ADD.ts +15 -0
- package/src/client/websocket/handlers/GUILD_BAN_REMOVE.ts +20 -0
- package/src/client/websocket/handlers/GUILD_CREATE.ts +34 -0
- package/src/client/websocket/handlers/GUILD_DELETE.ts +36 -0
- package/src/client/websocket/handlers/GUILD_EMOJIS_UPDATE.ts +4 -0
- package/src/client/websocket/handlers/GUILD_INTEGRATIONS_UPDATE.ts +15 -0
- package/src/client/websocket/handlers/GUILD_MEMBERS_CHUNK.ts +40 -0
- package/src/client/websocket/handlers/GUILD_MEMBER_ADD.ts +17 -0
- package/src/client/websocket/handlers/GUILD_MEMBER_REMOVE.ts +4 -0
- package/src/client/websocket/handlers/GUILD_MEMBER_UPDATE.ts +4 -0
- package/src/client/websocket/handlers/GUILD_ROLE_CREATE.ts +4 -0
- package/src/client/websocket/handlers/GUILD_ROLE_DELETE.ts +4 -0
- package/src/client/websocket/handlers/GUILD_ROLE_UPDATE.ts +21 -0
- package/src/client/websocket/handlers/GUILD_SCHEDULED_EVENT_CREATE.ts +17 -0
- package/src/client/websocket/handlers/GUILD_SCHEDULED_EVENT_DELETE.ts +4 -0
- package/src/client/websocket/handlers/GUILD_SCHEDULED_EVENT_UPDATE.ts +19 -0
- package/src/client/websocket/handlers/GUILD_SCHEDULED_EVENT_USER_ADD.ts +4 -0
- package/src/client/websocket/handlers/GUILD_SCHEDULED_EVENT_USER_REMOVE.ts +4 -0
- package/src/client/websocket/handlers/GUILD_SOUNDBOARD_SOUNDS_UPDATE.ts +24 -0
- package/src/client/websocket/handlers/GUILD_SOUNDBOARD_SOUND_CREATE.ts +18 -0
- package/src/client/websocket/handlers/GUILD_SOUNDBOARD_SOUND_DELETE.ts +4 -0
- package/src/client/websocket/handlers/GUILD_SOUNDBOARD_SOUND_UPDATE.ts +20 -0
- package/src/client/websocket/handlers/GUILD_STICKERS_UPDATE.ts +4 -0
- package/src/client/websocket/handlers/GUILD_UPDATE.ts +4 -0
- package/src/client/websocket/handlers/INTERACTION_CREATE.ts +4 -0
- package/src/client/websocket/handlers/INVITE_CREATE.ts +20 -0
- package/src/client/websocket/handlers/INVITE_DELETE.ts +23 -0
- package/src/client/websocket/handlers/MESSAGE_CREATE.ts +4 -0
- package/src/client/websocket/handlers/MESSAGE_DELETE.ts +4 -0
- package/src/client/websocket/handlers/MESSAGE_DELETE_BULK.ts +4 -0
- package/src/client/websocket/handlers/MESSAGE_POLL_VOTE_ADD.ts +4 -0
- package/src/client/websocket/handlers/MESSAGE_POLL_VOTE_REMOVE.ts +4 -0
- package/src/client/websocket/handlers/MESSAGE_REACTION_ADD.ts +4 -0
- package/src/client/websocket/handlers/MESSAGE_REACTION_REMOVE.ts +4 -0
- package/src/client/websocket/handlers/MESSAGE_REACTION_REMOVE_ALL.ts +4 -0
- package/src/client/websocket/handlers/MESSAGE_REACTION_REMOVE_EMOJI.ts +4 -0
- package/src/client/websocket/handlers/MESSAGE_UPDATE.ts +16 -0
- package/src/client/websocket/handlers/PRESENCE_UPDATE.ts +42 -0
- package/src/client/websocket/handlers/RATE_LIMITED.ts +23 -0
- package/src/client/websocket/handlers/READY.ts +29 -0
- package/src/client/websocket/handlers/SOUNDBOARD_SOUNDS.ts +24 -0
- package/src/client/websocket/handlers/STAGE_INSTANCE_CREATE.ts +4 -0
- package/src/client/websocket/handlers/STAGE_INSTANCE_DELETE.ts +4 -0
- package/src/client/websocket/handlers/STAGE_INSTANCE_UPDATE.ts +4 -0
- package/src/client/websocket/handlers/SUBSCRIPTION_CREATE.ts +14 -0
- package/src/client/websocket/handlers/SUBSCRIPTION_DELETE.ts +16 -0
- package/src/client/websocket/handlers/SUBSCRIPTION_UPDATE.ts +16 -0
- package/src/client/websocket/handlers/THREAD_CREATE.ts +4 -0
- package/src/client/websocket/handlers/THREAD_DELETE.ts +17 -0
- package/src/client/websocket/handlers/THREAD_LIST_SYNC.ts +50 -0
- package/src/client/websocket/handlers/THREAD_MEMBERS_UPDATE.ts +4 -0
- package/src/client/websocket/handlers/THREAD_MEMBER_UPDATE.ts +25 -0
- package/src/client/websocket/handlers/THREAD_UPDATE.ts +16 -0
- package/src/client/websocket/handlers/TYPING_START.ts +4 -0
- package/src/client/websocket/handlers/USER_UPDATE.ts +4 -0
- package/src/client/websocket/handlers/VOICE_CHANNEL_EFFECT_SEND.ts +16 -0
- package/src/client/websocket/handlers/VOICE_SERVER_UPDATE.ts +5 -0
- package/src/client/websocket/handlers/VOICE_STATE_UPDATE.ts +37 -0
- package/src/client/websocket/handlers/WEBHOOKS_UPDATE.ts +16 -0
- package/src/client/websocket/handlers/index.ts +74 -0
- package/src/errors/DJSError.ts +50 -0
- package/src/errors/ErrorCodes.ts +277 -0
- package/src/errors/Messages.ts +155 -0
- package/src/errors/index.ts +6 -0
- package/src/index.ts +241 -0
- package/src/managers/ApplicationCommandManager.ts +303 -0
- package/src/managers/ApplicationCommandPermissionsManager.ts +453 -0
- package/src/managers/ApplicationEmojiManager.ts +149 -0
- package/src/managers/AutoModerationRuleManager.ts +307 -0
- package/src/managers/BaseManager.ts +13 -0
- package/src/managers/CachedManager.ts +56 -0
- package/src/managers/CategoryChannelChildManager.ts +81 -0
- package/src/managers/ChannelManager.ts +194 -0
- package/src/managers/DMMessageManager.ts +15 -0
- package/src/managers/DataManager.ts +38 -0
- package/src/managers/EntitlementManager.ts +182 -0
- package/src/managers/GuildApplicationCommandManager.ts +29 -0
- package/src/managers/GuildBanManager.ts +221 -0
- package/src/managers/GuildChannelManager.ts +552 -0
- package/src/managers/GuildEmojiManager.ts +262 -0
- package/src/managers/GuildEmojiRoleManager.ts +134 -0
- package/src/managers/GuildForumThreadManager.ts +84 -0
- package/src/managers/GuildInviteManager.ts +236 -0
- package/src/managers/GuildManager.ts +265 -0
- package/src/managers/GuildMemberManager.ts +619 -0
- package/src/managers/GuildMemberRoleManager.ts +230 -0
- package/src/managers/GuildMessageManager.ts +31 -0
- package/src/managers/GuildScheduledEventManager.ts +330 -0
- package/src/managers/GuildSoundboardSoundManager.ts +157 -0
- package/src/managers/GuildStickerManager.ts +192 -0
- package/src/managers/GuildTextThreadManager.ts +91 -0
- package/src/managers/MessageManager.ts +352 -0
- package/src/managers/PartialGroupDMMessageManager.ts +15 -0
- package/src/managers/PermissionOverwriteManager.ts +174 -0
- package/src/managers/PollAnswerVoterManager.ts +59 -0
- package/src/managers/PresenceManager.ts +60 -0
- package/src/managers/ReactionManager.ts +72 -0
- package/src/managers/ReactionUserManager.ts +82 -0
- package/src/managers/RoleManager.ts +432 -0
- package/src/managers/StageInstanceManager.ts +166 -0
- package/src/managers/SubscriptionManager.ts +83 -0
- package/src/managers/ThreadManager.ts +210 -0
- package/src/managers/ThreadMemberManager.ts +194 -0
- package/src/managers/UserManager.ts +139 -0
- package/src/managers/VoiceStateManager.ts +61 -0
- package/src/sharding/Shard.ts +513 -0
- package/src/sharding/ShardClientUtil.ts +293 -0
- package/src/sharding/ShardingManager.ts +374 -0
- package/src/structures/ActionRow.ts +31 -0
- package/src/structures/AnnouncementChannel.ts +25 -0
- package/src/structures/AnonymousGuild.ts +110 -0
- package/src/structures/ApplicationCommand.ts +675 -0
- package/src/structures/ApplicationEmoji.ts +189 -0
- package/src/structures/ApplicationRoleConnectionMetadata.ts +54 -0
- package/src/structures/Attachment.ts +189 -0
- package/src/structures/AuthorizingIntegrationOwners.ts +63 -0
- package/src/structures/AutoModerationActionExecution.ts +138 -0
- package/src/structures/AutoModerationRule.ts +325 -0
- package/src/structures/AutocompleteInteraction.ts +115 -0
- package/src/structures/Base.ts +37 -0
- package/src/structures/BaseChannel.ts +188 -0
- package/src/structures/BaseGuild.ts +134 -0
- package/src/structures/BaseGuildEmoji.ts +113 -0
- package/src/structures/BaseGuildTextChannel.ts +230 -0
- package/src/structures/BaseGuildVoiceChannel.ts +270 -0
- package/src/structures/BaseInteraction.ts +393 -0
- package/src/structures/BaseInvite.ts +192 -0
- package/src/structures/BaseSelectMenuComponent.ts +58 -0
- package/src/structures/ButtonComponent.ts +68 -0
- package/src/structures/ButtonInteraction.ts +8 -0
- package/src/structures/CategoryChannel.ts +46 -0
- package/src/structures/ChannelSelectMenuComponent.ts +18 -0
- package/src/structures/ChannelSelectMenuInteraction.ts +34 -0
- package/src/structures/ChatInputCommandInteraction.ts +43 -0
- package/src/structures/ClientApplication.ts +470 -0
- package/src/structures/ClientPresence.ts +87 -0
- package/src/structures/ClientUser.ts +219 -0
- package/src/structures/CommandInteraction.ts +193 -0
- package/src/structures/CommandInteractionOptionResolver.ts +336 -0
- package/src/structures/Component.ts +59 -0
- package/src/structures/ContainerComponent.ts +63 -0
- package/src/structures/ContextMenuCommandInteraction.ts +68 -0
- package/src/structures/DMChannel.ts +148 -0
- package/src/structures/DirectoryChannel.ts +40 -0
- package/src/structures/Embed.ts +251 -0
- package/src/structures/Emoji.ts +61 -0
- package/src/structures/Entitlement.ts +206 -0
- package/src/structures/FileComponent.ts +41 -0
- package/src/structures/ForumChannel.ts +31 -0
- package/src/structures/GroupDMInvite.ts +34 -0
- package/src/structures/Guild.ts +1605 -0
- package/src/structures/GuildAuditLogs.ts +99 -0
- package/src/structures/GuildAuditLogsEntry.ts +557 -0
- package/src/structures/GuildBan.ts +65 -0
- package/src/structures/GuildChannel.ts +515 -0
- package/src/structures/GuildEmoji.ts +159 -0
- package/src/structures/GuildInvite.ts +233 -0
- package/src/structures/GuildMember.ts +643 -0
- package/src/structures/GuildOnboarding.ts +73 -0
- package/src/structures/GuildOnboardingPrompt.ts +93 -0
- package/src/structures/GuildOnboardingPromptOption.ts +100 -0
- package/src/structures/GuildPreview.ts +218 -0
- package/src/structures/GuildPreviewEmoji.ts +28 -0
- package/src/structures/GuildScheduledEvent.ts +593 -0
- package/src/structures/GuildTemplate.ts +229 -0
- package/src/structures/Integration.ts +257 -0
- package/src/structures/IntegrationApplication.ts +84 -0
- package/src/structures/InteractionCallback.ts +86 -0
- package/src/structures/InteractionCallbackResource.ts +57 -0
- package/src/structures/InteractionCallbackResponse.ts +35 -0
- package/src/structures/InteractionCollector.ts +260 -0
- package/src/structures/InteractionWebhook.ts +65 -0
- package/src/structures/InviteGuild.ts +22 -0
- package/src/structures/LabelComponent.ts +51 -0
- package/src/structures/MediaChannel.ts +8 -0
- package/src/structures/MediaGalleryComponent.ts +31 -0
- package/src/structures/MediaGalleryItem.ts +54 -0
- package/src/structures/MentionableSelectMenuComponent.ts +8 -0
- package/src/structures/MentionableSelectMenuInteraction.ts +76 -0
- package/src/structures/Message.ts +1202 -0
- package/src/structures/MessageCollector.ts +155 -0
- package/src/structures/MessageComponentInteraction.ts +132 -0
- package/src/structures/MessageContextMenuCommandInteraction.ts +18 -0
- package/src/structures/MessageMentions.ts +327 -0
- package/src/structures/MessagePayload.ts +325 -0
- package/src/structures/MessageReaction.ts +219 -0
- package/src/structures/ModalComponentResolver.ts +237 -0
- package/src/structures/ModalSubmitInteraction.ts +260 -0
- package/src/structures/OAuth2Guild.ts +30 -0
- package/src/structures/PartialGroupDMChannel.ts +151 -0
- package/src/structures/PermissionOverwrites.ts +222 -0
- package/src/structures/Poll.ts +195 -0
- package/src/structures/PollAnswer.ts +100 -0
- package/src/structures/Presence.ts +448 -0
- package/src/structures/PrimaryEntryPointCommandInteraction.ts +8 -0
- package/src/structures/ReactionCollector.ts +245 -0
- package/src/structures/ReactionEmoji.ts +30 -0
- package/src/structures/Role.ts +543 -0
- package/src/structures/RoleSelectMenuComponent.ts +8 -0
- package/src/structures/RoleSelectMenuInteraction.ts +34 -0
- package/src/structures/SKU.ts +62 -0
- package/src/structures/SectionComponent.ts +44 -0
- package/src/structures/SeparatorComponent.ts +29 -0
- package/src/structures/SoundboardSound.ts +176 -0
- package/src/structures/StageChannel.ts +118 -0
- package/src/structures/StageInstance.ts +173 -0
- package/src/structures/Sticker.ts +300 -0
- package/src/structures/StickerPack.ts +111 -0
- package/src/structures/StringSelectMenuComponent.ts +18 -0
- package/src/structures/StringSelectMenuInteraction.ts +21 -0
- package/src/structures/Subscription.ts +138 -0
- package/src/structures/Team.ts +131 -0
- package/src/structures/TeamMember.ts +77 -0
- package/src/structures/TextChannel.ts +33 -0
- package/src/structures/TextDisplayComponent.ts +18 -0
- package/src/structures/TextInputComponent.ts +28 -0
- package/src/structures/ThreadChannel.ts +680 -0
- package/src/structures/ThreadMember.ts +125 -0
- package/src/structures/ThreadOnlyChannel.ts +276 -0
- package/src/structures/ThumbnailComponent.ts +51 -0
- package/src/structures/Typing.ts +81 -0
- package/src/structures/UnfurledMediaItem.ts +33 -0
- package/src/structures/User.ts +511 -0
- package/src/structures/UserContextMenuCommandInteraction.ts +28 -0
- package/src/structures/UserSelectMenuComponent.ts +8 -0
- package/src/structures/UserSelectMenuInteraction.ts +54 -0
- package/src/structures/VoiceChannel.ts +119 -0
- package/src/structures/VoiceChannelEffect.ts +92 -0
- package/src/structures/VoiceRegion.ts +52 -0
- package/src/structures/VoiceState.ts +346 -0
- package/src/structures/Webhook.ts +526 -0
- package/src/structures/WelcomeChannel.ts +67 -0
- package/src/structures/WelcomeScreen.ts +53 -0
- package/src/structures/Widget.ts +110 -0
- package/src/structures/WidgetMember.ts +124 -0
- package/src/structures/interfaces/Application.ts +179 -0
- package/src/structures/interfaces/Collector.ts +372 -0
- package/src/structures/interfaces/InteractionResponses.ts +384 -0
- package/src/structures/interfaces/TextBasedChannel.ts +430 -0
- package/src/util/APITypes.ts +690 -0
- package/src/util/ActivityFlagsBitField.ts +26 -0
- package/src/util/ApplicationFlagsBitField.ts +43 -0
- package/src/util/AttachmentFlagsBitField.ts +26 -0
- package/src/util/BitField.ts +178 -0
- package/src/util/ChannelFlagsBitField.ts +43 -0
- package/src/util/Channels.ts +165 -0
- package/src/util/Colors.ts +72 -0
- package/src/util/Components.ts +285 -0
- package/src/util/Constants.ts +251 -0
- package/src/util/DataResolver.ts +146 -0
- package/src/util/Enums.ts +10 -0
- package/src/util/Events.ts +178 -0
- package/src/util/GuildMemberFlagsBitField.ts +43 -0
- package/src/util/IntentsBitField.ts +35 -0
- package/src/util/InviteFlagsBitField.ts +26 -0
- package/src/util/Invites.ts +27 -0
- package/src/util/LimitedCollection.ts +73 -0
- package/src/util/MessageFlagsBitField.ts +43 -0
- package/src/util/Options.ts +215 -0
- package/src/util/Partials.ts +50 -0
- package/src/util/PermissionsBitField.ts +113 -0
- package/src/util/RoleFlagsBitField.ts +26 -0
- package/src/util/SKUFlagsBitField.ts +26 -0
- package/src/util/ShardEvents.ts +26 -0
- package/src/util/Status.ts +16 -0
- package/src/util/Sweepers.ts +532 -0
- package/src/util/Symbols.ts +1 -0
- package/src/util/SystemChannelFlagsBitField.ts +45 -0
- package/src/util/ThreadMemberFlagsBitField.ts +33 -0
- package/src/util/Transformers.ts +123 -0
- package/src/util/UserFlagsBitField.ts +33 -0
- package/src/util/Util.ts +519 -0
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
import { Emoji } from './Emoji.js';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Represents a custom emoji.
|
|
5
|
+
*
|
|
6
|
+
* @extends {Emoji}
|
|
7
|
+
*/
|
|
8
|
+
export class ApplicationEmoji extends Emoji {
|
|
9
|
+
public client: any;
|
|
10
|
+
public application: any;
|
|
11
|
+
public name: any;
|
|
12
|
+
public author: any;
|
|
13
|
+
public managed: any;
|
|
14
|
+
public requiresColons: any;
|
|
15
|
+
public available: any;
|
|
16
|
+
constructor(client, data, application) {
|
|
17
|
+
super(client, data);
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* The application this emoji originates from
|
|
21
|
+
*
|
|
22
|
+
* @type {ClientApplication}
|
|
23
|
+
*/
|
|
24
|
+
this.application = application;
|
|
25
|
+
|
|
26
|
+
this._patch(data);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
_patch(data) {
|
|
30
|
+
if ('name' in data) this.name = data.name;
|
|
31
|
+
if (data.user) {
|
|
32
|
+
/**
|
|
33
|
+
* The user who created this emoji
|
|
34
|
+
*
|
|
35
|
+
* @type {User}
|
|
36
|
+
*/
|
|
37
|
+
this.author = this.client.users._add(data.user);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
if ('managed' in data) {
|
|
41
|
+
/**
|
|
42
|
+
* Whether this emoji is managed by an external service. Always `false` for application emojis
|
|
43
|
+
*
|
|
44
|
+
* @type {false}
|
|
45
|
+
*/
|
|
46
|
+
this.managed = data.managed;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
if ('require_colons' in data) {
|
|
50
|
+
/**
|
|
51
|
+
* Whether this emoji requires colons surrounding it. Always `true` for application emojis
|
|
52
|
+
*
|
|
53
|
+
* @type {true}
|
|
54
|
+
*/
|
|
55
|
+
this.requiresColons = data.require_colons;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
if ('available' in data) {
|
|
59
|
+
/**
|
|
60
|
+
* Whether this emoji is available. Always `true` for application emojis
|
|
61
|
+
*
|
|
62
|
+
* @type {true}
|
|
63
|
+
*/
|
|
64
|
+
this.available = data.available;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* Fetches the author for this emoji
|
|
70
|
+
*
|
|
71
|
+
* @returns {Promise<User>}
|
|
72
|
+
*/
|
|
73
|
+
async fetchAuthor() {
|
|
74
|
+
return this.application.emojis.fetchAuthor(this);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* Data for editing an emoji.
|
|
79
|
+
*
|
|
80
|
+
* @typedef {Object} ApplicationEmojiEditOptions
|
|
81
|
+
* @property {string} [name] The name of the emoji
|
|
82
|
+
*/
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* Edits the emoji.
|
|
86
|
+
*
|
|
87
|
+
* @param {ApplicationEmojiEditOptions} options The options to provide
|
|
88
|
+
* @returns {Promise<ApplicationEmoji>}
|
|
89
|
+
* @example
|
|
90
|
+
* // Edit an emoji
|
|
91
|
+
* emoji.edit({ name: 'newemoji' })
|
|
92
|
+
* .then(emoji => console.log(`Edited emoji ${emoji}`))
|
|
93
|
+
* .catch(console.error);
|
|
94
|
+
*/
|
|
95
|
+
async edit(options) {
|
|
96
|
+
return this.application.emojis.edit(this.id, options);
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
/**
|
|
100
|
+
* Sets the name of the emoji.
|
|
101
|
+
*
|
|
102
|
+
* @param {string} name The new name for the emoji
|
|
103
|
+
* @returns {Promise<ApplicationEmoji>}
|
|
104
|
+
*/
|
|
105
|
+
async setName(name) {
|
|
106
|
+
return this.edit({ name });
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
/**
|
|
110
|
+
* Deletes the emoji.
|
|
111
|
+
*
|
|
112
|
+
* @returns {Promise<ApplicationEmoji>}
|
|
113
|
+
*/
|
|
114
|
+
async delete() {
|
|
115
|
+
await this.application.emojis.delete(this.id);
|
|
116
|
+
return this;
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
/**
|
|
120
|
+
* Whether this emoji is the same as another one.
|
|
121
|
+
*
|
|
122
|
+
* @param {ApplicationEmoji|APIEmoji} other The emoji to compare it to
|
|
123
|
+
* @returns {boolean}
|
|
124
|
+
*/
|
|
125
|
+
equals(other) {
|
|
126
|
+
if (other instanceof ApplicationEmoji) {
|
|
127
|
+
return (
|
|
128
|
+
other.animated === this.animated &&
|
|
129
|
+
other.id === this.id &&
|
|
130
|
+
other.name === this.name &&
|
|
131
|
+
other.managed === this.managed &&
|
|
132
|
+
other.requiresColons === this.requiresColons &&
|
|
133
|
+
other.available === this.available
|
|
134
|
+
);
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
return other.id === this.id && other.name === this.name;
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
/**
|
|
142
|
+
* The emoji's name
|
|
143
|
+
*
|
|
144
|
+
* @name name
|
|
145
|
+
* @memberof ApplicationEmoji
|
|
146
|
+
* @instance
|
|
147
|
+
* @type {string}
|
|
148
|
+
* @readonly
|
|
149
|
+
*/
|
|
150
|
+
|
|
151
|
+
/**
|
|
152
|
+
* Whether the emoji is animated
|
|
153
|
+
*
|
|
154
|
+
* @name animated
|
|
155
|
+
* @memberof ApplicationEmoji
|
|
156
|
+
* @instance
|
|
157
|
+
* @type {boolean}
|
|
158
|
+
* @readonly
|
|
159
|
+
*/
|
|
160
|
+
|
|
161
|
+
/**
|
|
162
|
+
* Returns a URL for the emoji.
|
|
163
|
+
*
|
|
164
|
+
* @method imageURL
|
|
165
|
+
* @memberof ApplicationEmoji
|
|
166
|
+
* @instance
|
|
167
|
+
* @param {EmojiURLOptions} [options] Options for the image URL
|
|
168
|
+
* @returns {string}
|
|
169
|
+
*/
|
|
170
|
+
|
|
171
|
+
/**
|
|
172
|
+
* The time the emoji was created at
|
|
173
|
+
*
|
|
174
|
+
* @name createdAt
|
|
175
|
+
* @memberof ApplicationEmoji
|
|
176
|
+
* @instance
|
|
177
|
+
* @type {Date}
|
|
178
|
+
* @readonly
|
|
179
|
+
*/
|
|
180
|
+
|
|
181
|
+
/**
|
|
182
|
+
* The timestamp the emoji was created at
|
|
183
|
+
*
|
|
184
|
+
* @name createdTimestamp
|
|
185
|
+
* @memberof ApplicationEmoji
|
|
186
|
+
* @instance
|
|
187
|
+
* @type {number}
|
|
188
|
+
* @readonly
|
|
189
|
+
*/
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Role connection metadata object for an application.
|
|
3
|
+
*/
|
|
4
|
+
export class ApplicationRoleConnectionMetadata {
|
|
5
|
+
public name: any;
|
|
6
|
+
public nameLocalizations: any;
|
|
7
|
+
public description: any;
|
|
8
|
+
public descriptionLocalizations: any;
|
|
9
|
+
public key: any;
|
|
10
|
+
public type: any;
|
|
11
|
+
constructor(data) {
|
|
12
|
+
/**
|
|
13
|
+
* The name of this metadata field
|
|
14
|
+
*
|
|
15
|
+
* @type {string}
|
|
16
|
+
*/
|
|
17
|
+
this.name = data.name;
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* The name localizations for this metadata field
|
|
21
|
+
*
|
|
22
|
+
* @type {?LocalizationMap}
|
|
23
|
+
*/
|
|
24
|
+
this.nameLocalizations = data.name_localizations ?? null;
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* The description of this metadata field
|
|
28
|
+
*
|
|
29
|
+
* @type {string}
|
|
30
|
+
*/
|
|
31
|
+
this.description = data.description;
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* The description localizations for this metadata field
|
|
35
|
+
*
|
|
36
|
+
* @type {?LocalizationMap}
|
|
37
|
+
*/
|
|
38
|
+
this.descriptionLocalizations = data.description_localizations ?? null;
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* The dictionary key for this metadata field
|
|
42
|
+
*
|
|
43
|
+
* @type {string}
|
|
44
|
+
*/
|
|
45
|
+
this.key = data.key;
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* The type of this metadata field
|
|
49
|
+
*
|
|
50
|
+
* @type {ApplicationRoleConnectionMetadataType}
|
|
51
|
+
*/
|
|
52
|
+
this.type = data.type;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
import { AttachmentFlagsBitField } from '../util/AttachmentFlagsBitField.js';
|
|
2
|
+
import { basename, flatten } from '../util/Util.js';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* @typedef {Object} AttachmentPayload
|
|
6
|
+
* @property {Stream|BufferResolvable} attachment The attachment in this payload
|
|
7
|
+
* @property {string} [name] The name of the attachment
|
|
8
|
+
* @property {string} [description] The description of the attachment
|
|
9
|
+
* @property {title} [title] The title of the attachment
|
|
10
|
+
* @property {string} [waveform] The base64 encoded byte array representing a sampled waveform (from voice message attachments)
|
|
11
|
+
* @property {number} [duration] The duration of the attachment in seconds (from voice message attachments)
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Represents an attachment
|
|
16
|
+
*/
|
|
17
|
+
export class Attachment {
|
|
18
|
+
public id: any;
|
|
19
|
+
public size: any;
|
|
20
|
+
public url: any;
|
|
21
|
+
public proxyURL: any;
|
|
22
|
+
public height: any;
|
|
23
|
+
public width: any;
|
|
24
|
+
public contentType: any;
|
|
25
|
+
public ephemeral: any;
|
|
26
|
+
public duration: any;
|
|
27
|
+
public waveform: any;
|
|
28
|
+
public flags: any;
|
|
29
|
+
public title: any;
|
|
30
|
+
constructor(data) {
|
|
31
|
+
this.attachment = data.url;
|
|
32
|
+
/**
|
|
33
|
+
* The name of this attachment
|
|
34
|
+
*
|
|
35
|
+
* @type {string}
|
|
36
|
+
*/
|
|
37
|
+
this.name = data.filename;
|
|
38
|
+
this._patch(data);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
_patch(data) {
|
|
42
|
+
/**
|
|
43
|
+
* The attachment's id
|
|
44
|
+
*
|
|
45
|
+
* @type {Snowflake}
|
|
46
|
+
*/
|
|
47
|
+
this.id = data.id;
|
|
48
|
+
|
|
49
|
+
if ('size' in data) {
|
|
50
|
+
/**
|
|
51
|
+
* The size of this attachment in bytes
|
|
52
|
+
*
|
|
53
|
+
* @type {number}
|
|
54
|
+
*/
|
|
55
|
+
this.size = data.size;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
if ('url' in data) {
|
|
59
|
+
/**
|
|
60
|
+
* The URL to this attachment
|
|
61
|
+
*
|
|
62
|
+
* @type {string}
|
|
63
|
+
*/
|
|
64
|
+
this.url = data.url;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
if ('proxy_url' in data) {
|
|
68
|
+
/**
|
|
69
|
+
* The Proxy URL to this attachment
|
|
70
|
+
*
|
|
71
|
+
* @type {string}
|
|
72
|
+
*/
|
|
73
|
+
this.proxyURL = data.proxy_url;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
if ('height' in data) {
|
|
77
|
+
/**
|
|
78
|
+
* The height of this attachment (if an image or video)
|
|
79
|
+
*
|
|
80
|
+
* @type {?number}
|
|
81
|
+
*/
|
|
82
|
+
this.height = data.height;
|
|
83
|
+
} else {
|
|
84
|
+
this.height ??= null;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
if ('width' in data) {
|
|
88
|
+
/**
|
|
89
|
+
* The width of this attachment (if an image or video)
|
|
90
|
+
*
|
|
91
|
+
* @type {?number}
|
|
92
|
+
*/
|
|
93
|
+
this.width = data.width;
|
|
94
|
+
} else {
|
|
95
|
+
this.width ??= null;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
if ('content_type' in data) {
|
|
99
|
+
/**
|
|
100
|
+
* The media (MIME) type of this attachment
|
|
101
|
+
*
|
|
102
|
+
* @type {?string}
|
|
103
|
+
* @see {@link https://developer.mozilla.org/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types}
|
|
104
|
+
*/
|
|
105
|
+
this.contentType = data.content_type;
|
|
106
|
+
} else {
|
|
107
|
+
this.contentType ??= null;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
if ('description' in data) {
|
|
111
|
+
/**
|
|
112
|
+
* The description (alt text) of this attachment
|
|
113
|
+
*
|
|
114
|
+
* @type {?string}
|
|
115
|
+
*/
|
|
116
|
+
this.description = data.description;
|
|
117
|
+
} else {
|
|
118
|
+
this.description ??= null;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
/**
|
|
122
|
+
* Whether this attachment is ephemeral
|
|
123
|
+
*
|
|
124
|
+
* @type {boolean}
|
|
125
|
+
*/
|
|
126
|
+
this.ephemeral = data.ephemeral ?? false;
|
|
127
|
+
|
|
128
|
+
if ('duration_secs' in data) {
|
|
129
|
+
/**
|
|
130
|
+
* The duration of this attachment in seconds
|
|
131
|
+
* <info>This will only be available if the attachment is the audio file from a voice message.</info>
|
|
132
|
+
*
|
|
133
|
+
* @type {?number}
|
|
134
|
+
*/
|
|
135
|
+
this.duration = data.duration_secs;
|
|
136
|
+
} else {
|
|
137
|
+
this.duration ??= null;
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
if ('waveform' in data) {
|
|
141
|
+
/**
|
|
142
|
+
* The base64 encoded byte array representing a sampled waveform
|
|
143
|
+
* <info>This will only be available if this attachment is the audio file from a voice message.</info>
|
|
144
|
+
*
|
|
145
|
+
* @type {?string}
|
|
146
|
+
*/
|
|
147
|
+
this.waveform = data.waveform;
|
|
148
|
+
} else {
|
|
149
|
+
this.waveform ??= null;
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
if ('flags' in data) {
|
|
153
|
+
/**
|
|
154
|
+
* The flags of this attachment
|
|
155
|
+
*
|
|
156
|
+
* @type {Readonly<AttachmentFlagsBitField>}
|
|
157
|
+
*/
|
|
158
|
+
this.flags = new AttachmentFlagsBitField(data.flags).freeze();
|
|
159
|
+
} else {
|
|
160
|
+
this.flags ??= new AttachmentFlagsBitField().freeze();
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
if ('title' in data) {
|
|
164
|
+
/**
|
|
165
|
+
* The title of this attachment
|
|
166
|
+
* <info>This will only be available if the attachment name contains special characters.</info>
|
|
167
|
+
*
|
|
168
|
+
* @type {?string}
|
|
169
|
+
*/
|
|
170
|
+
this.title = data.title;
|
|
171
|
+
} else {
|
|
172
|
+
this.title ??= null;
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
/**
|
|
177
|
+
* Whether or not this attachment has been marked as a spoiler
|
|
178
|
+
*
|
|
179
|
+
* @type {boolean}
|
|
180
|
+
* @readonly
|
|
181
|
+
*/
|
|
182
|
+
get spoiler() {
|
|
183
|
+
return basename(this.url ?? this.name).startsWith('SPOILER_');
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
toJSON() {
|
|
187
|
+
return flatten(this);
|
|
188
|
+
}
|
|
189
|
+
}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { ApplicationIntegrationType } from 'discord-api-types/v10';
|
|
2
|
+
import { Base } from './Base.js';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Represents the owners of an authorizing integration.
|
|
6
|
+
*
|
|
7
|
+
* @extends {Base}
|
|
8
|
+
*/
|
|
9
|
+
export class AuthorizingIntegrationOwners extends Base {
|
|
10
|
+
public client: any;
|
|
11
|
+
public guildId: any;
|
|
12
|
+
public userId: any;
|
|
13
|
+
constructor(client, data) {
|
|
14
|
+
super(client);
|
|
15
|
+
|
|
16
|
+
Object.defineProperty(this, 'data', { value: data });
|
|
17
|
+
|
|
18
|
+
// Support accessing authorizingIntegrationOwners[ApplicationIntegrationType.GuildInstall] or similar, + forward compatibility if new installation types get added
|
|
19
|
+
for (const value of Object.values(ApplicationIntegrationType)) {
|
|
20
|
+
if (typeof value !== 'number') {
|
|
21
|
+
continue;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
Object.defineProperty(this, value, { value: this.data[value] });
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* The id of the guild where the integration is installed, if applicable.
|
|
29
|
+
*
|
|
30
|
+
* @type {?Snowflake}
|
|
31
|
+
*/
|
|
32
|
+
this.guildId = this.data[ApplicationIntegrationType.GuildInstall] ?? null;
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* The id of the user on which the integration is installed, if applicable.
|
|
36
|
+
*
|
|
37
|
+
* @type {?Snowflake}
|
|
38
|
+
*/
|
|
39
|
+
this.userId = this.data[ApplicationIntegrationType.UserInstall] ?? null;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* The guild where the integration is installed, if applicable.
|
|
44
|
+
*
|
|
45
|
+
* @type {?Guild}
|
|
46
|
+
*/
|
|
47
|
+
get guild() {
|
|
48
|
+
return (this.guildId && this.client.guilds.cache.get(this.guildId)) ?? null;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* The user on which the integration is installed, if applicable.
|
|
53
|
+
*
|
|
54
|
+
* @type {?User}
|
|
55
|
+
*/
|
|
56
|
+
get user() {
|
|
57
|
+
return (this.userId && this.client.users.cache.get(this.userId)) ?? null;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
toJSON() {
|
|
61
|
+
return this.data;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
import { _transformAPIAutoModerationAction } from '../util/Transformers.js';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Represents the structure of an executed action when an {@link AutoModerationRule} is triggered.
|
|
5
|
+
*/
|
|
6
|
+
export class AutoModerationActionExecution {
|
|
7
|
+
public guild: any;
|
|
8
|
+
public action: any;
|
|
9
|
+
public ruleId: any;
|
|
10
|
+
public ruleTriggerType: any;
|
|
11
|
+
public userId: any;
|
|
12
|
+
public channelId: any;
|
|
13
|
+
public messageId: any;
|
|
14
|
+
public alertSystemMessageId: any;
|
|
15
|
+
public content: any;
|
|
16
|
+
public matchedKeyword: any;
|
|
17
|
+
public matchedContent: any;
|
|
18
|
+
constructor(data, guild) {
|
|
19
|
+
/**
|
|
20
|
+
* The guild where this action was executed from.
|
|
21
|
+
*
|
|
22
|
+
* @type {Guild}
|
|
23
|
+
*/
|
|
24
|
+
this.guild = guild;
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* The action that was executed.
|
|
28
|
+
*
|
|
29
|
+
* @type {AutoModerationAction}
|
|
30
|
+
*/
|
|
31
|
+
this.action = _transformAPIAutoModerationAction(data.action);
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* The id of the auto moderation rule this action belongs to.
|
|
35
|
+
*
|
|
36
|
+
* @type {Snowflake}
|
|
37
|
+
*/
|
|
38
|
+
this.ruleId = data.rule_id;
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* The trigger type of the auto moderation rule which was triggered.
|
|
42
|
+
*
|
|
43
|
+
* @type {AutoModerationRuleTriggerType}
|
|
44
|
+
*/
|
|
45
|
+
this.ruleTriggerType = data.rule_trigger_type;
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* The id of the user that triggered this action.
|
|
49
|
+
*
|
|
50
|
+
* @type {Snowflake}
|
|
51
|
+
*/
|
|
52
|
+
this.userId = data.user_id;
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* The id of the channel where this action was triggered from.
|
|
56
|
+
*
|
|
57
|
+
* @type {?Snowflake}
|
|
58
|
+
*/
|
|
59
|
+
this.channelId = data.channel_id ?? null;
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* The id of the message that triggered this action.
|
|
63
|
+
* <info>This will not be present if the message was blocked or the content was not part of any message.</info>
|
|
64
|
+
*
|
|
65
|
+
* @type {?Snowflake}
|
|
66
|
+
*/
|
|
67
|
+
this.messageId = data.message_id ?? null;
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* The id of any system auto moderation messages posted as a result of this action.
|
|
71
|
+
*
|
|
72
|
+
* @type {?Snowflake}
|
|
73
|
+
*/
|
|
74
|
+
this.alertSystemMessageId = data.alert_system_message_id ?? null;
|
|
75
|
+
|
|
76
|
+
/**
|
|
77
|
+
* The content that triggered this action.
|
|
78
|
+
* <info>This property requires the {@link GatewayIntentBits.MessageContent} privileged gateway intent.</info>
|
|
79
|
+
*
|
|
80
|
+
* @type {string}
|
|
81
|
+
*/
|
|
82
|
+
this.content = data.content;
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* The word or phrase configured in the rule that triggered this action.
|
|
86
|
+
*
|
|
87
|
+
* @type {?string}
|
|
88
|
+
*/
|
|
89
|
+
this.matchedKeyword = data.matched_keyword ?? null;
|
|
90
|
+
|
|
91
|
+
/**
|
|
92
|
+
* The substring in content that triggered this action.
|
|
93
|
+
*
|
|
94
|
+
* @type {?string}
|
|
95
|
+
*/
|
|
96
|
+
this.matchedContent = data.matched_content ?? null;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
/**
|
|
100
|
+
* The auto moderation rule this action belongs to.
|
|
101
|
+
*
|
|
102
|
+
* @type {?AutoModerationRule}
|
|
103
|
+
* @readonly
|
|
104
|
+
*/
|
|
105
|
+
get autoModerationRule() {
|
|
106
|
+
return this.guild.autoModerationRules.cache.get(this.ruleId) ?? null;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
/**
|
|
110
|
+
* The channel where this action was triggered from.
|
|
111
|
+
*
|
|
112
|
+
* @type {?(GuildTextBasedChannel|ForumChannel|MediaChannel)}
|
|
113
|
+
* @readonly
|
|
114
|
+
*/
|
|
115
|
+
get channel() {
|
|
116
|
+
return this.guild.channels.cache.get(this.channelId) ?? null;
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
/**
|
|
120
|
+
* The user that triggered this action.
|
|
121
|
+
*
|
|
122
|
+
* @type {?User}
|
|
123
|
+
* @readonly
|
|
124
|
+
*/
|
|
125
|
+
get user() {
|
|
126
|
+
return this.guild.client.users.cache.get(this.userId) ?? null;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
/**
|
|
130
|
+
* The guild member that triggered this action.
|
|
131
|
+
*
|
|
132
|
+
* @type {?GuildMember}
|
|
133
|
+
* @readonly
|
|
134
|
+
*/
|
|
135
|
+
get member() {
|
|
136
|
+
return this.guild.members.cache.get(this.userId) ?? null;
|
|
137
|
+
}
|
|
138
|
+
}
|