@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,192 @@
|
|
|
1
|
+
import { RouteBases } from 'discord-api-types/v10';
|
|
2
|
+
import { Base } from './Base.js';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* The base invite class.
|
|
6
|
+
*
|
|
7
|
+
* @extends {Base}
|
|
8
|
+
*/
|
|
9
|
+
export class BaseInvite extends Base {
|
|
10
|
+
public client: any;
|
|
11
|
+
public type: any;
|
|
12
|
+
public code: any;
|
|
13
|
+
public inviterId: any;
|
|
14
|
+
public maxAge: any;
|
|
15
|
+
public createdTimestamp: any;
|
|
16
|
+
public _expiresTimestamp: any;
|
|
17
|
+
public channelId: any;
|
|
18
|
+
public approximateMemberCount: any;
|
|
19
|
+
constructor(client, data) {
|
|
20
|
+
super(client);
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* The type of this invite.
|
|
24
|
+
*
|
|
25
|
+
* @type {InviteType}
|
|
26
|
+
*/
|
|
27
|
+
this.type = data.type;
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* The invite code.
|
|
31
|
+
*
|
|
32
|
+
* @type {string}
|
|
33
|
+
*/
|
|
34
|
+
this.code = data.code;
|
|
35
|
+
|
|
36
|
+
this._patch(data);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
_patch(data) {
|
|
40
|
+
if ('inviter_id' in data) {
|
|
41
|
+
/**
|
|
42
|
+
* The id of the user that created this invite.
|
|
43
|
+
*
|
|
44
|
+
* @type {?Snowflake}
|
|
45
|
+
*/
|
|
46
|
+
this.inviterId = data.inviter_id;
|
|
47
|
+
} else {
|
|
48
|
+
this.inviterId ??= null;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
if ('inviter' in data) {
|
|
52
|
+
this.client.users._add(data.inviter);
|
|
53
|
+
this.inviterId ??= data.inviter.id;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
if ('max_age' in data) {
|
|
57
|
+
/**
|
|
58
|
+
* The maximum age of the invite in seconds. `0` for no expiry.
|
|
59
|
+
*
|
|
60
|
+
* @type {?number}
|
|
61
|
+
*/
|
|
62
|
+
this.maxAge = data.max_age;
|
|
63
|
+
} else {
|
|
64
|
+
this.maxAge ??= null;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
if ('created_at' in data) {
|
|
68
|
+
/**
|
|
69
|
+
* The timestamp this invite was created at.
|
|
70
|
+
*
|
|
71
|
+
* @type {?number}
|
|
72
|
+
*/
|
|
73
|
+
this.createdTimestamp = Date.parse(data.created_at);
|
|
74
|
+
} else {
|
|
75
|
+
this.createdTimestamp ??= null;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
if ('expires_at' in data) {
|
|
79
|
+
this._expiresTimestamp = data.expires_at && Date.parse(data.expires_at);
|
|
80
|
+
} else {
|
|
81
|
+
this._expiresTimestamp ??= null;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
if ('channel_id' in data) {
|
|
85
|
+
/**
|
|
86
|
+
* The id of the channel this invite is for.
|
|
87
|
+
*
|
|
88
|
+
* @type {?Snowflake}
|
|
89
|
+
*/
|
|
90
|
+
this.channelId = data.channel_id;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
if ('approximate_member_count' in data) {
|
|
94
|
+
/**
|
|
95
|
+
* The approximate total number of members.
|
|
96
|
+
*
|
|
97
|
+
* @type {?number}
|
|
98
|
+
*/
|
|
99
|
+
this.approximateMemberCount = data.approximate_member_count;
|
|
100
|
+
} else {
|
|
101
|
+
this.approximateMemberCount ??= null;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* The user that created this invite.
|
|
107
|
+
*
|
|
108
|
+
* @type {?User}
|
|
109
|
+
* @readonly
|
|
110
|
+
*/
|
|
111
|
+
get inviter() {
|
|
112
|
+
return this.inviterId && this.client.users.resolve(this.inviterId);
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
/**
|
|
116
|
+
* The creation date of this invite.
|
|
117
|
+
*
|
|
118
|
+
* @type {?Date}
|
|
119
|
+
* @readonly
|
|
120
|
+
*/
|
|
121
|
+
get createdAt() {
|
|
122
|
+
return this.createdTimestamp && new Date(this.createdTimestamp);
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
/**
|
|
126
|
+
* The timestamp this invite expires at.
|
|
127
|
+
*
|
|
128
|
+
* @type {?number}
|
|
129
|
+
* @readonly
|
|
130
|
+
*/
|
|
131
|
+
get expiresTimestamp() {
|
|
132
|
+
return (
|
|
133
|
+
this._expiresTimestamp ??
|
|
134
|
+
(this.createdTimestamp && this.maxAge ? this.createdTimestamp + this.maxAge * 1_000 : null)
|
|
135
|
+
);
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
/**
|
|
139
|
+
* The expiry date of this invite.
|
|
140
|
+
*
|
|
141
|
+
* @type {?Date}
|
|
142
|
+
* @readonly
|
|
143
|
+
*/
|
|
144
|
+
get expiresAt() {
|
|
145
|
+
return this.expiresTimestamp && new Date(this.expiresTimestamp);
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
/**
|
|
149
|
+
* The URL to the invite.
|
|
150
|
+
*
|
|
151
|
+
* @type {string}
|
|
152
|
+
* @readonly
|
|
153
|
+
*/
|
|
154
|
+
get url() {
|
|
155
|
+
return `${RouteBases.invite}/${this.code}`;
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
/**
|
|
159
|
+
* A regular expression that matches Discord invite links.
|
|
160
|
+
* The `code` group property is present on the `exec()` result of this expression.
|
|
161
|
+
*
|
|
162
|
+
* @type {RegExp}
|
|
163
|
+
* @memberof BaseInvite
|
|
164
|
+
*/
|
|
165
|
+
static InvitesPattern = /discord(?:(?:app)?\.com\/invite|\.gg(?:\/invite)?)\/(?<code>[\w-]{2,255})/i;
|
|
166
|
+
|
|
167
|
+
/**
|
|
168
|
+
* When concatenated with a string, this automatically concatenates the invite's URL instead of the object.
|
|
169
|
+
*
|
|
170
|
+
* @returns {string}
|
|
171
|
+
* @example
|
|
172
|
+
* // Logs: Invite: https://discord.gg/djs
|
|
173
|
+
* console.log(`Invite: ${invite}`);
|
|
174
|
+
*/
|
|
175
|
+
toString() {
|
|
176
|
+
return this.url;
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
toJSON() {
|
|
180
|
+
return super.toJSON({
|
|
181
|
+
url: true,
|
|
182
|
+
expiresTimestamp: true,
|
|
183
|
+
uses: false,
|
|
184
|
+
channel: 'channelId',
|
|
185
|
+
inviter: 'inviterId',
|
|
186
|
+
});
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
valueOf() {
|
|
190
|
+
return this.code;
|
|
191
|
+
}
|
|
192
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { Component } from './Component.js';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Represents a select menu component
|
|
5
|
+
*
|
|
6
|
+
* @extends {Component}
|
|
7
|
+
*/
|
|
8
|
+
export class BaseSelectMenuComponent extends Component {
|
|
9
|
+
/**
|
|
10
|
+
* The placeholder for this select menu
|
|
11
|
+
*
|
|
12
|
+
* @type {?string}
|
|
13
|
+
* @readonly
|
|
14
|
+
*/
|
|
15
|
+
get placeholder() {
|
|
16
|
+
return this.data.placeholder ?? null;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* The maximum amount of options that can be selected
|
|
21
|
+
*
|
|
22
|
+
* @type {?number}
|
|
23
|
+
* @readonly
|
|
24
|
+
*/
|
|
25
|
+
get maxValues() {
|
|
26
|
+
return this.data.max_values ?? null;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* The minimum amount of options that must be selected
|
|
31
|
+
*
|
|
32
|
+
* @type {?number}
|
|
33
|
+
* @readonly
|
|
34
|
+
*/
|
|
35
|
+
get minValues() {
|
|
36
|
+
return this.data.min_values ?? null;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* The custom id of this select menu
|
|
41
|
+
*
|
|
42
|
+
* @type {string}
|
|
43
|
+
* @readonly
|
|
44
|
+
*/
|
|
45
|
+
get customId() {
|
|
46
|
+
return this.data.custom_id;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* Whether this select menu is disabled
|
|
51
|
+
*
|
|
52
|
+
* @type {boolean}
|
|
53
|
+
* @readonly
|
|
54
|
+
*/
|
|
55
|
+
get disabled() {
|
|
56
|
+
return this.data.disabled ?? false;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { Component } from './Component.js';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Represents a button component
|
|
5
|
+
*
|
|
6
|
+
* @extends {Component}
|
|
7
|
+
*/
|
|
8
|
+
export class ButtonComponent extends Component {
|
|
9
|
+
/**
|
|
10
|
+
* The style of this button
|
|
11
|
+
*
|
|
12
|
+
* @type {ButtonStyle}
|
|
13
|
+
* @readonly
|
|
14
|
+
*/
|
|
15
|
+
get style() {
|
|
16
|
+
return this.data.style;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* The label of this button
|
|
21
|
+
*
|
|
22
|
+
* @type {?string}
|
|
23
|
+
* @readonly
|
|
24
|
+
*/
|
|
25
|
+
get label() {
|
|
26
|
+
return this.data.label ?? null;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* The emoji used in this button
|
|
31
|
+
*
|
|
32
|
+
* @type {?APIMessageComponentEmoji}
|
|
33
|
+
* @readonly
|
|
34
|
+
*/
|
|
35
|
+
get emoji() {
|
|
36
|
+
return this.data.emoji ?? null;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* Whether this button is disabled
|
|
41
|
+
*
|
|
42
|
+
* @type {boolean}
|
|
43
|
+
* @readonly
|
|
44
|
+
*/
|
|
45
|
+
get disabled() {
|
|
46
|
+
return this.data.disabled ?? false;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* The custom id of this button (only defined on non-link buttons)
|
|
51
|
+
*
|
|
52
|
+
* @type {?string}
|
|
53
|
+
* @readonly
|
|
54
|
+
*/
|
|
55
|
+
get customId() {
|
|
56
|
+
return this.data.custom_id ?? null;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* The URL of this button (only defined on link buttons)
|
|
61
|
+
*
|
|
62
|
+
* @type {?string}
|
|
63
|
+
* @readonly
|
|
64
|
+
*/
|
|
65
|
+
get url() {
|
|
66
|
+
return this.data.url ?? null;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { CategoryChannelChildManager } from '../managers/CategoryChannelChildManager.js';
|
|
2
|
+
import { GuildChannel } from './GuildChannel.js';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Represents a guild category channel on Discord.
|
|
6
|
+
*
|
|
7
|
+
* @extends {GuildChannel}
|
|
8
|
+
*/
|
|
9
|
+
export class CategoryChannel extends GuildChannel {
|
|
10
|
+
/**
|
|
11
|
+
* The id of the parent of this channel.
|
|
12
|
+
*
|
|
13
|
+
* @name CategoryChannel#parentId
|
|
14
|
+
* @type {null}
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* The parent of this channel.
|
|
19
|
+
*
|
|
20
|
+
* @name CategoryChannel#parent
|
|
21
|
+
* @type {null}
|
|
22
|
+
* @readonly
|
|
23
|
+
*/
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Sets the category parent of this channel.
|
|
27
|
+
* <warn>It is not possible to set the parent of a CategoryChannel.</warn>
|
|
28
|
+
*
|
|
29
|
+
* @method setParent
|
|
30
|
+
* @memberof CategoryChannel
|
|
31
|
+
* @instance
|
|
32
|
+
* @param {?CategoryChannelResolvable} channel The channel to set as parent
|
|
33
|
+
* @param {SetParentOptions} [options={}] The options for setting the parent
|
|
34
|
+
* @returns {Promise<GuildChannel>}
|
|
35
|
+
*/
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* A manager of the channels belonging to this category
|
|
39
|
+
*
|
|
40
|
+
* @type {CategoryChannelChildManager}
|
|
41
|
+
* @readonly
|
|
42
|
+
*/
|
|
43
|
+
get children() {
|
|
44
|
+
return new CategoryChannelChildManager(this);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { BaseSelectMenuComponent } from './BaseSelectMenuComponent.js';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Represents a channel select menu component
|
|
5
|
+
*
|
|
6
|
+
* @extends {BaseSelectMenuComponent}
|
|
7
|
+
*/
|
|
8
|
+
export class ChannelSelectMenuComponent extends BaseSelectMenuComponent {
|
|
9
|
+
/**
|
|
10
|
+
* The options in this select menu
|
|
11
|
+
*
|
|
12
|
+
* @type {?(ChannelType[])}
|
|
13
|
+
* @readonly
|
|
14
|
+
*/
|
|
15
|
+
get channelTypes() {
|
|
16
|
+
return this.data.channel_types ?? null;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { Collection } from '@ovencord/collection';
|
|
2
|
+
import { MessageComponentInteraction } from './MessageComponentInteraction.js';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Represents a {@link ComponentType.ChannelSelect} select menu interaction.
|
|
6
|
+
*
|
|
7
|
+
* @extends {MessageComponentInteraction}
|
|
8
|
+
*/
|
|
9
|
+
export class ChannelSelectMenuInteraction extends MessageComponentInteraction {
|
|
10
|
+
public client: any;
|
|
11
|
+
public channels: any;
|
|
12
|
+
constructor(client, data) {
|
|
13
|
+
super(client, data);
|
|
14
|
+
const { resolved, values } = data.data;
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* An array of the selected channel ids
|
|
18
|
+
*
|
|
19
|
+
* @type {Snowflake[]}
|
|
20
|
+
*/
|
|
21
|
+
this.values = values ?? [];
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Collection of the selected channels
|
|
25
|
+
*
|
|
26
|
+
* @type {Collection<Snowflake, BaseChannel|APIChannel>}
|
|
27
|
+
*/
|
|
28
|
+
this.channels = new Collection();
|
|
29
|
+
|
|
30
|
+
for (const channel of Object.values(resolved?.channels ?? {})) {
|
|
31
|
+
this.channels.set(channel.id, this.client.channels._add(channel, this.guild) ?? channel);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { transformResolved } from '../util/Util.js';
|
|
2
|
+
import { CommandInteraction } from './CommandInteraction.js';
|
|
3
|
+
import { CommandInteractionOptionResolver } from './CommandInteractionOptionResolver.js';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Represents a command interaction.
|
|
7
|
+
*
|
|
8
|
+
* @extends {CommandInteraction}
|
|
9
|
+
*/
|
|
10
|
+
export class ChatInputCommandInteraction extends CommandInteraction {
|
|
11
|
+
public client: any;
|
|
12
|
+
public options: any;
|
|
13
|
+
constructor(client, data) {
|
|
14
|
+
super(client, data);
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* The options passed to the command.
|
|
18
|
+
*
|
|
19
|
+
* @type {CommandInteractionOptionResolver}
|
|
20
|
+
*/
|
|
21
|
+
this.options = new CommandInteractionOptionResolver(
|
|
22
|
+
this.client,
|
|
23
|
+
data.data.options?.map(option => this.transformOption(option, data.data.resolved)) ?? [],
|
|
24
|
+
transformResolved({ client: this.client, guild: this.guild, channel: this.channel }, data.data.resolved),
|
|
25
|
+
);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Returns a string representation of the command interaction.
|
|
30
|
+
* This can then be copied by a user and executed again in a new command while keeping the option order.
|
|
31
|
+
*
|
|
32
|
+
* @returns {string}
|
|
33
|
+
*/
|
|
34
|
+
toString() {
|
|
35
|
+
const properties = [
|
|
36
|
+
this.commandName,
|
|
37
|
+
this.options._group,
|
|
38
|
+
this.options._subcommand,
|
|
39
|
+
...this.options._hoistedOptions.map(option => `${option.name}:${option.value}`),
|
|
40
|
+
];
|
|
41
|
+
return `/${properties.filter(Boolean).join(' ')}`;
|
|
42
|
+
}
|
|
43
|
+
}
|