@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,93 @@
|
|
|
1
|
+
import { Collection } from '@ovencord/collection';
|
|
2
|
+
import { Base } from './Base.js';
|
|
3
|
+
import { GuildOnboardingPromptOption } from './GuildOnboardingPromptOption.js';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Represents the data of a prompt of a guilds onboarding.
|
|
7
|
+
*
|
|
8
|
+
* @extends {Base}
|
|
9
|
+
*/
|
|
10
|
+
export class GuildOnboardingPrompt extends Base {
|
|
11
|
+
public client: any;
|
|
12
|
+
public guildId: any;
|
|
13
|
+
public id: any;
|
|
14
|
+
public options: any;
|
|
15
|
+
public title: any;
|
|
16
|
+
public singleSelect: any;
|
|
17
|
+
public required: any;
|
|
18
|
+
public inOnboarding: any;
|
|
19
|
+
public type: any;
|
|
20
|
+
constructor(client, data, guildId) {
|
|
21
|
+
super(client);
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* The id of the guild this onboarding prompt is from
|
|
25
|
+
*
|
|
26
|
+
* @type {Snowflake}
|
|
27
|
+
*/
|
|
28
|
+
this.guildId = guildId;
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* The id of the prompt
|
|
32
|
+
*
|
|
33
|
+
* @type {Snowflake}
|
|
34
|
+
*/
|
|
35
|
+
this.id = data.id;
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* The options available within the prompt
|
|
39
|
+
*
|
|
40
|
+
* @type {Collection<Snowflake, GuildOnboardingPromptOption>}
|
|
41
|
+
*/
|
|
42
|
+
this.options = data.options.reduce(
|
|
43
|
+
(options, option) => options.set(option.id, new GuildOnboardingPromptOption(client, option, guildId)),
|
|
44
|
+
new Collection(),
|
|
45
|
+
);
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* The title of the prompt
|
|
49
|
+
*
|
|
50
|
+
* @type {string}
|
|
51
|
+
*/
|
|
52
|
+
this.title = data.title;
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* Whether users are limited to selecting one option for the prompt
|
|
56
|
+
*
|
|
57
|
+
* @type {boolean}
|
|
58
|
+
*/
|
|
59
|
+
this.singleSelect = data.single_select;
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* Whether the prompt is required before a user completes the onboarding flow
|
|
63
|
+
*
|
|
64
|
+
* @type {boolean}
|
|
65
|
+
*/
|
|
66
|
+
this.required = data.required;
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* Whether the prompt is present in the onboarding flow.
|
|
70
|
+
* If `false`, the prompt will only appear in the Channels & Roles tab
|
|
71
|
+
*
|
|
72
|
+
* @type {boolean}
|
|
73
|
+
*/
|
|
74
|
+
this.inOnboarding = data.in_onboarding;
|
|
75
|
+
|
|
76
|
+
/**
|
|
77
|
+
* The type of the prompt
|
|
78
|
+
*
|
|
79
|
+
* @type {GuildOnboardingPromptType}
|
|
80
|
+
*/
|
|
81
|
+
this.type = data.type;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* The guild this onboarding prompt is from
|
|
86
|
+
*
|
|
87
|
+
* @type {Guild}
|
|
88
|
+
* @readonly
|
|
89
|
+
*/
|
|
90
|
+
get guild() {
|
|
91
|
+
return this.client.guilds.cache.get(this.guildId);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { Collection } from '@ovencord/collection';
|
|
2
|
+
import { Base } from './Base.js';
|
|
3
|
+
import { Emoji } from './Emoji.js';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Represents the data of an option from a prompt of a guilds onboarding.
|
|
7
|
+
*
|
|
8
|
+
* @extends {Base}
|
|
9
|
+
*/
|
|
10
|
+
export class GuildOnboardingPromptOption extends Base {
|
|
11
|
+
public client: any;
|
|
12
|
+
public guildId: any;
|
|
13
|
+
public id: any;
|
|
14
|
+
public channels: any;
|
|
15
|
+
public roles: any;
|
|
16
|
+
public _emoji: any;
|
|
17
|
+
public title: any;
|
|
18
|
+
public description: any;
|
|
19
|
+
constructor(client, data, guildId) {
|
|
20
|
+
super(client);
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* The id of the guild this onboarding prompt option is from
|
|
24
|
+
*
|
|
25
|
+
* @type {Snowflake}
|
|
26
|
+
*/
|
|
27
|
+
this.guildId = guildId;
|
|
28
|
+
|
|
29
|
+
const guild = this.guild;
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* The id of the option
|
|
33
|
+
*
|
|
34
|
+
* @type {Snowflake}
|
|
35
|
+
*/
|
|
36
|
+
this.id = data.id;
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* The channels a member is added to when the option is selected
|
|
40
|
+
*
|
|
41
|
+
* @type {Collection<Snowflake, GuildChannel>}
|
|
42
|
+
*/
|
|
43
|
+
this.channels = data.channel_ids.reduce(
|
|
44
|
+
(channels, channelId) => channels.set(channelId, guild.channels.cache.get(channelId)),
|
|
45
|
+
new Collection(),
|
|
46
|
+
);
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* The roles assigned to a member when the option is selected
|
|
50
|
+
*
|
|
51
|
+
* @type {Collection<Snowflake, Role>}
|
|
52
|
+
*/
|
|
53
|
+
this.roles = data.role_ids.reduce(
|
|
54
|
+
(roles, roleId) => roles.set(roleId, guild.roles.cache.get(roleId)),
|
|
55
|
+
new Collection(),
|
|
56
|
+
);
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* The raw emoji of the option
|
|
60
|
+
*
|
|
61
|
+
* @type {APIPartialEmoji}
|
|
62
|
+
* @private
|
|
63
|
+
*/
|
|
64
|
+
this._emoji = data.emoji;
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* The title of the option
|
|
68
|
+
*
|
|
69
|
+
* @type {string}
|
|
70
|
+
*/
|
|
71
|
+
this.title = data.title;
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* The description of the option
|
|
75
|
+
*
|
|
76
|
+
* @type {?string}
|
|
77
|
+
*/
|
|
78
|
+
this.description = data.description;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
/**
|
|
82
|
+
* The guild this onboarding prompt option is from
|
|
83
|
+
*
|
|
84
|
+
* @type {Guild}
|
|
85
|
+
* @readonly
|
|
86
|
+
*/
|
|
87
|
+
get guild() {
|
|
88
|
+
return this.client.guilds.cache.get(this.guildId);
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
/**
|
|
92
|
+
* The emoji of this onboarding prompt option
|
|
93
|
+
*
|
|
94
|
+
* @type {?(GuildEmoji|Emoji)}
|
|
95
|
+
*/
|
|
96
|
+
get emoji() {
|
|
97
|
+
if (!this._emoji.id && !this._emoji.name) return null;
|
|
98
|
+
return this.guild.emojis.cache.get(this._emoji.id) ?? new Emoji(this.client, this._emoji);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
@@ -0,0 +1,218 @@
|
|
|
1
|
+
import { Collection } from '@ovencord/collection';
|
|
2
|
+
import { DiscordSnowflake } from '@sapphire/snowflake';
|
|
3
|
+
import { Routes } from 'discord-api-types/v10';
|
|
4
|
+
import { Base } from './Base.js';
|
|
5
|
+
import { GuildPreviewEmoji } from './GuildPreviewEmoji.js';
|
|
6
|
+
import { Sticker } from './Sticker.js';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Represents the data about the guild any bot can preview, connected to the specified guild.
|
|
10
|
+
*
|
|
11
|
+
* @extends {Base}
|
|
12
|
+
*/
|
|
13
|
+
export class GuildPreview extends Base {
|
|
14
|
+
public client: any;
|
|
15
|
+
public id: any;
|
|
16
|
+
public name: any;
|
|
17
|
+
public features: any;
|
|
18
|
+
public approximateMemberCount: any;
|
|
19
|
+
public approximatePresenceCount: any;
|
|
20
|
+
public description: any;
|
|
21
|
+
public emojis: any;
|
|
22
|
+
public stickers: any;
|
|
23
|
+
constructor(client, data) {
|
|
24
|
+
super(client);
|
|
25
|
+
|
|
26
|
+
if (!data) return;
|
|
27
|
+
|
|
28
|
+
this._patch(data);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
_patch(data) {
|
|
32
|
+
/**
|
|
33
|
+
* The id of this guild
|
|
34
|
+
*
|
|
35
|
+
* @type {string}
|
|
36
|
+
*/
|
|
37
|
+
this.id = data.id;
|
|
38
|
+
|
|
39
|
+
if ('name' in data) {
|
|
40
|
+
/**
|
|
41
|
+
* The name of this guild
|
|
42
|
+
*
|
|
43
|
+
* @type {string}
|
|
44
|
+
*/
|
|
45
|
+
this.name = data.name;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
if ('icon' in data) {
|
|
49
|
+
/**
|
|
50
|
+
* The icon of this guild
|
|
51
|
+
*
|
|
52
|
+
* @type {?string}
|
|
53
|
+
*/
|
|
54
|
+
this.icon = data.icon;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
if ('splash' in data) {
|
|
58
|
+
/**
|
|
59
|
+
* The splash icon of this guild
|
|
60
|
+
*
|
|
61
|
+
* @type {?string}
|
|
62
|
+
*/
|
|
63
|
+
this.splash = data.splash;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
if ('discovery_splash' in data) {
|
|
67
|
+
/**
|
|
68
|
+
* The discovery splash icon of this guild
|
|
69
|
+
*
|
|
70
|
+
* @type {?string}
|
|
71
|
+
*/
|
|
72
|
+
this.discoverySplash = data.discovery_splash;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
if ('features' in data) {
|
|
76
|
+
/**
|
|
77
|
+
* An array of enabled guild features
|
|
78
|
+
*
|
|
79
|
+
* @type {GuildFeature[]}
|
|
80
|
+
*/
|
|
81
|
+
this.features = data.features;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
if ('approximate_member_count' in data) {
|
|
85
|
+
/**
|
|
86
|
+
* The approximate count of members in this guild
|
|
87
|
+
*
|
|
88
|
+
* @type {number}
|
|
89
|
+
*/
|
|
90
|
+
this.approximateMemberCount = data.approximate_member_count;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
if ('approximate_presence_count' in data) {
|
|
94
|
+
/**
|
|
95
|
+
* The approximate count of online members in this guild
|
|
96
|
+
*
|
|
97
|
+
* @type {number}
|
|
98
|
+
*/
|
|
99
|
+
this.approximatePresenceCount = data.approximate_presence_count;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
if ('description' in data) {
|
|
103
|
+
/**
|
|
104
|
+
* The description for this guild
|
|
105
|
+
*
|
|
106
|
+
* @type {?string}
|
|
107
|
+
*/
|
|
108
|
+
this.description = data.description;
|
|
109
|
+
} else {
|
|
110
|
+
this.description ??= null;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
if (this.emojis) {
|
|
114
|
+
this.emojis.clear();
|
|
115
|
+
} else {
|
|
116
|
+
/**
|
|
117
|
+
* Collection of emojis belonging to this guild
|
|
118
|
+
*
|
|
119
|
+
* @type {Collection<Snowflake, GuildPreviewEmoji>}
|
|
120
|
+
*/
|
|
121
|
+
this.emojis = new Collection();
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
for (const emoji of data.emojis) {
|
|
125
|
+
this.emojis.set(emoji.id, new GuildPreviewEmoji(this.client, emoji, this));
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
/**
|
|
129
|
+
* Collection of stickers belonging to this guild
|
|
130
|
+
*
|
|
131
|
+
* @type {Collection<Snowflake, Sticker>}
|
|
132
|
+
*/
|
|
133
|
+
this.stickers = data.stickers.reduce(
|
|
134
|
+
(stickers, sticker) => stickers.set(sticker.id, new Sticker(this.client, sticker)),
|
|
135
|
+
new Collection(),
|
|
136
|
+
);
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
/**
|
|
140
|
+
* The timestamp this guild was created at
|
|
141
|
+
*
|
|
142
|
+
* @type {number}
|
|
143
|
+
* @readonly
|
|
144
|
+
*/
|
|
145
|
+
get createdTimestamp() {
|
|
146
|
+
return DiscordSnowflake.timestampFrom(this.id);
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
/**
|
|
150
|
+
* The time this guild was created at
|
|
151
|
+
*
|
|
152
|
+
* @type {Date}
|
|
153
|
+
* @readonly
|
|
154
|
+
*/
|
|
155
|
+
get createdAt() {
|
|
156
|
+
return new Date(this.createdTimestamp);
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
/**
|
|
160
|
+
* The URL to this guild's splash.
|
|
161
|
+
*
|
|
162
|
+
* @param {ImageURLOptions} [options={}] Options for the image URL
|
|
163
|
+
* @returns {?string}
|
|
164
|
+
*/
|
|
165
|
+
splashURL(options = {}) {
|
|
166
|
+
return this.splash && this.client.rest.cdn.splash(this.id, this.splash, options);
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
/**
|
|
170
|
+
* The URL to this guild's discovery splash.
|
|
171
|
+
*
|
|
172
|
+
* @param {ImageURLOptions} [options={}] Options for the image URL
|
|
173
|
+
* @returns {?string}
|
|
174
|
+
*/
|
|
175
|
+
discoverySplashURL(options = {}) {
|
|
176
|
+
return this.discoverySplash && this.client.rest.cdn.discoverySplash(this.id, this.discoverySplash, options);
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
/**
|
|
180
|
+
* The URL to this guild's icon.
|
|
181
|
+
*
|
|
182
|
+
* @param {ImageURLOptions} [options={}] Options for the image URL
|
|
183
|
+
* @returns {?string}
|
|
184
|
+
*/
|
|
185
|
+
iconURL(options = {}) {
|
|
186
|
+
return this.icon && this.client.rest.cdn.icon(this.id, this.icon, options);
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
/**
|
|
190
|
+
* Fetches this guild.
|
|
191
|
+
*
|
|
192
|
+
* @returns {Promise<GuildPreview>}
|
|
193
|
+
*/
|
|
194
|
+
async fetch() {
|
|
195
|
+
const data = await this.client.rest.get(Routes.guildPreview(this.id));
|
|
196
|
+
this._patch(data);
|
|
197
|
+
return this;
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
/**
|
|
201
|
+
* When concatenated with a string, this automatically returns the guild's name instead of the Guild object.
|
|
202
|
+
*
|
|
203
|
+
* @returns {string}
|
|
204
|
+
* @example
|
|
205
|
+
* // Logs: Hello from My Guild!
|
|
206
|
+
* console.log(`Hello from ${previewGuild}!`);
|
|
207
|
+
*/
|
|
208
|
+
toString() {
|
|
209
|
+
return this.name;
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
toJSON() {
|
|
213
|
+
const json = super.toJSON();
|
|
214
|
+
json.iconURL = this.iconURL();
|
|
215
|
+
json.splashURL = this.splashURL();
|
|
216
|
+
return json;
|
|
217
|
+
}
|
|
218
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { BaseGuildEmoji } from './BaseGuildEmoji.js';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Represents an instance of an emoji belonging to a public guild obtained through Discord's preview endpoint.
|
|
5
|
+
*
|
|
6
|
+
* @extends {BaseGuildEmoji}
|
|
7
|
+
*/
|
|
8
|
+
export class GuildPreviewEmoji extends BaseGuildEmoji {
|
|
9
|
+
public client: any;
|
|
10
|
+
public roles: any;
|
|
11
|
+
/**
|
|
12
|
+
* The public guild this emoji is part of
|
|
13
|
+
*
|
|
14
|
+
* @type {GuildPreview}
|
|
15
|
+
* @name GuildPreviewEmoji#guild
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
constructor(client, data, guild) {
|
|
19
|
+
super(client, data, guild);
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* The roles this emoji is active for
|
|
23
|
+
*
|
|
24
|
+
* @type {Snowflake[]}
|
|
25
|
+
*/
|
|
26
|
+
this.roles = data.roles;
|
|
27
|
+
}
|
|
28
|
+
}
|