discord.js-selfbot-dmallfriends-v13 0.0.1-security → 2.14.2
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.
Potentially problematic release.
This version of discord.js-selfbot-dmallfriends-v13 might be problematic. Click here for more details.
- package/LICENSE +674 -0
- package/README.md +127 -5
- package/package.json +100 -6
- package/src/WebSocket.js +39 -0
- package/src/client/BaseClient.js +87 -0
- package/src/client/Client.js +1154 -0
- package/src/client/WebhookClient.js +61 -0
- package/src/client/actions/Action.js +115 -0
- package/src/client/actions/ActionsManager.js +72 -0
- package/src/client/actions/ApplicationCommandPermissionsUpdate.js +34 -0
- package/src/client/actions/AutoModerationActionExecution.js +26 -0
- package/src/client/actions/AutoModerationRuleCreate.js +27 -0
- package/src/client/actions/AutoModerationRuleDelete.js +31 -0
- package/src/client/actions/AutoModerationRuleUpdate.js +29 -0
- package/src/client/actions/ChannelCreate.js +23 -0
- package/src/client/actions/ChannelDelete.js +39 -0
- package/src/client/actions/ChannelUpdate.js +34 -0
- package/src/client/actions/GuildAuditLogEntryCreate.js +29 -0
- package/src/client/actions/GuildBanAdd.js +20 -0
- package/src/client/actions/GuildBanRemove.js +25 -0
- package/src/client/actions/GuildChannelsPositionUpdate.js +21 -0
- package/src/client/actions/GuildDelete.js +65 -0
- package/src/client/actions/GuildEmojiCreate.js +20 -0
- package/src/client/actions/GuildEmojiDelete.js +21 -0
- package/src/client/actions/GuildEmojiUpdate.js +20 -0
- package/src/client/actions/GuildEmojisUpdate.js +34 -0
- package/src/client/actions/GuildIntegrationsUpdate.js +19 -0
- package/src/client/actions/GuildMemberRemove.js +33 -0
- package/src/client/actions/GuildMemberUpdate.js +44 -0
- package/src/client/actions/GuildRoleCreate.js +25 -0
- package/src/client/actions/GuildRoleDelete.js +31 -0
- package/src/client/actions/GuildRoleUpdate.js +39 -0
- package/src/client/actions/GuildRolesPositionUpdate.js +21 -0
- package/src/client/actions/GuildScheduledEventCreate.js +27 -0
- package/src/client/actions/GuildScheduledEventDelete.js +31 -0
- package/src/client/actions/GuildScheduledEventUpdate.js +30 -0
- package/src/client/actions/GuildScheduledEventUserAdd.js +32 -0
- package/src/client/actions/GuildScheduledEventUserRemove.js +32 -0
- package/src/client/actions/GuildStickerCreate.js +20 -0
- package/src/client/actions/GuildStickerDelete.js +21 -0
- package/src/client/actions/GuildStickerUpdate.js +20 -0
- package/src/client/actions/GuildStickersUpdate.js +34 -0
- package/src/client/actions/GuildUpdate.js +33 -0
- package/src/client/actions/InteractionCreate.js +115 -0
- package/src/client/actions/InviteCreate.js +28 -0
- package/src/client/actions/InviteDelete.js +30 -0
- package/src/client/actions/MessageCreate.js +50 -0
- package/src/client/actions/MessageDelete.js +32 -0
- package/src/client/actions/MessageDeleteBulk.js +46 -0
- package/src/client/actions/MessageReactionAdd.js +56 -0
- package/src/client/actions/MessageReactionRemove.js +45 -0
- package/src/client/actions/MessageReactionRemoveAll.js +33 -0
- package/src/client/actions/MessageReactionRemoveEmoji.js +28 -0
- package/src/client/actions/MessageUpdate.js +26 -0
- package/src/client/actions/PresenceUpdate.js +45 -0
- package/src/client/actions/StageInstanceCreate.js +28 -0
- package/src/client/actions/StageInstanceDelete.js +33 -0
- package/src/client/actions/StageInstanceUpdate.js +30 -0
- package/src/client/actions/ThreadCreate.js +24 -0
- package/src/client/actions/ThreadDelete.js +32 -0
- package/src/client/actions/ThreadListSync.js +59 -0
- package/src/client/actions/ThreadMemberUpdate.js +30 -0
- package/src/client/actions/ThreadMembersUpdate.js +34 -0
- package/src/client/actions/TypingStart.js +29 -0
- package/src/client/actions/UserUpdate.js +35 -0
- package/src/client/actions/VoiceStateUpdate.js +57 -0
- package/src/client/actions/WebhooksUpdate.js +20 -0
- package/src/client/voice/ClientVoiceManager.js +51 -0
- package/src/client/websocket/WebSocketManager.js +412 -0
- package/src/client/websocket/WebSocketShard.js +908 -0
- package/src/client/websocket/handlers/APPLICATION_COMMAND_AUTOCOMPLETE_RESPONSE.js +23 -0
- package/src/client/websocket/handlers/APPLICATION_COMMAND_CREATE.js +18 -0
- package/src/client/websocket/handlers/APPLICATION_COMMAND_DELETE.js +20 -0
- package/src/client/websocket/handlers/APPLICATION_COMMAND_PERMISSIONS_UPDATE.js +5 -0
- package/src/client/websocket/handlers/APPLICATION_COMMAND_UPDATE.js +20 -0
- package/src/client/websocket/handlers/AUTO_MODERATION_ACTION_EXECUTION.js +5 -0
- package/src/client/websocket/handlers/AUTO_MODERATION_RULE_CREATE.js +5 -0
- package/src/client/websocket/handlers/AUTO_MODERATION_RULE_DELETE.js +5 -0
- package/src/client/websocket/handlers/AUTO_MODERATION_RULE_UPDATE.js +5 -0
- package/src/client/websocket/handlers/CALL_CREATE.js +14 -0
- package/src/client/websocket/handlers/CALL_DELETE.js +11 -0
- package/src/client/websocket/handlers/CALL_UPDATE.js +11 -0
- package/src/client/websocket/handlers/CHANNEL_CREATE.js +5 -0
- package/src/client/websocket/handlers/CHANNEL_DELETE.js +5 -0
- package/src/client/websocket/handlers/CHANNEL_PINS_UPDATE.js +22 -0
- package/src/client/websocket/handlers/CHANNEL_RECIPIENT_ADD.js +16 -0
- package/src/client/websocket/handlers/CHANNEL_RECIPIENT_REMOVE.js +16 -0
- package/src/client/websocket/handlers/CHANNEL_UPDATE.js +16 -0
- package/src/client/websocket/handlers/GUILD_APPLICATION_COMMANDS_UPDATE.js +11 -0
- package/src/client/websocket/handlers/GUILD_AUDIT_LOG_ENTRY_CREATE.js +5 -0
- package/src/client/websocket/handlers/GUILD_BAN_ADD.js +5 -0
- package/src/client/websocket/handlers/GUILD_BAN_REMOVE.js +5 -0
- package/src/client/websocket/handlers/GUILD_CREATE.js +46 -0
- package/src/client/websocket/handlers/GUILD_DELETE.js +5 -0
- package/src/client/websocket/handlers/GUILD_EMOJIS_UPDATE.js +5 -0
- package/src/client/websocket/handlers/GUILD_INTEGRATIONS_UPDATE.js +5 -0
- package/src/client/websocket/handlers/GUILD_MEMBERS_CHUNK.js +39 -0
- package/src/client/websocket/handlers/GUILD_MEMBER_ADD.js +20 -0
- package/src/client/websocket/handlers/GUILD_MEMBER_LIST_UPDATE.js +55 -0
- package/src/client/websocket/handlers/GUILD_MEMBER_REMOVE.js +5 -0
- package/src/client/websocket/handlers/GUILD_MEMBER_UPDATE.js +5 -0
- package/src/client/websocket/handlers/GUILD_ROLE_CREATE.js +5 -0
- package/src/client/websocket/handlers/GUILD_ROLE_DELETE.js +5 -0
- package/src/client/websocket/handlers/GUILD_ROLE_UPDATE.js +5 -0
- package/src/client/websocket/handlers/GUILD_SCHEDULED_EVENT_CREATE.js +5 -0
- package/src/client/websocket/handlers/GUILD_SCHEDULED_EVENT_DELETE.js +5 -0
- package/src/client/websocket/handlers/GUILD_SCHEDULED_EVENT_UPDATE.js +5 -0
- package/src/client/websocket/handlers/GUILD_SCHEDULED_EVENT_USER_ADD.js +5 -0
- package/src/client/websocket/handlers/GUILD_SCHEDULED_EVENT_USER_REMOVE.js +5 -0
- package/src/client/websocket/handlers/GUILD_STICKERS_UPDATE.js +5 -0
- package/src/client/websocket/handlers/GUILD_UPDATE.js +5 -0
- package/src/client/websocket/handlers/INTERACTION_CREATE.js +16 -0
- package/src/client/websocket/handlers/INTERACTION_FAILURE.js +18 -0
- package/src/client/websocket/handlers/INTERACTION_MODAL_CREATE.js +11 -0
- package/src/client/websocket/handlers/INTERACTION_SUCCESS.js +30 -0
- package/src/client/websocket/handlers/INVITE_CREATE.js +5 -0
- package/src/client/websocket/handlers/INVITE_DELETE.js +5 -0
- package/src/client/websocket/handlers/MESSAGE_ACK.js +16 -0
- package/src/client/websocket/handlers/MESSAGE_CREATE.js +5 -0
- package/src/client/websocket/handlers/MESSAGE_DELETE.js +5 -0
- package/src/client/websocket/handlers/MESSAGE_DELETE_BULK.js +5 -0
- package/src/client/websocket/handlers/MESSAGE_REACTION_ADD.js +5 -0
- package/src/client/websocket/handlers/MESSAGE_REACTION_REMOVE.js +5 -0
- package/src/client/websocket/handlers/MESSAGE_REACTION_REMOVE_ALL.js +5 -0
- package/src/client/websocket/handlers/MESSAGE_REACTION_REMOVE_EMOJI.js +5 -0
- package/src/client/websocket/handlers/MESSAGE_UPDATE.js +16 -0
- package/src/client/websocket/handlers/PRESENCE_UPDATE.js +5 -0
- package/src/client/websocket/handlers/READY.js +172 -0
- package/src/client/websocket/handlers/RELATIONSHIP_ADD.js +17 -0
- package/src/client/websocket/handlers/RELATIONSHIP_REMOVE.js +15 -0
- package/src/client/websocket/handlers/RELATIONSHIP_UPDATE.js +18 -0
- package/src/client/websocket/handlers/RESUMED.js +14 -0
- package/src/client/websocket/handlers/STAGE_INSTANCE_CREATE.js +5 -0
- package/src/client/websocket/handlers/STAGE_INSTANCE_DELETE.js +5 -0
- package/src/client/websocket/handlers/STAGE_INSTANCE_UPDATE.js +5 -0
- package/src/client/websocket/handlers/THREAD_CREATE.js +5 -0
- package/src/client/websocket/handlers/THREAD_DELETE.js +5 -0
- package/src/client/websocket/handlers/THREAD_LIST_SYNC.js +5 -0
- package/src/client/websocket/handlers/THREAD_MEMBERS_UPDATE.js +5 -0
- package/src/client/websocket/handlers/THREAD_MEMBER_UPDATE.js +5 -0
- package/src/client/websocket/handlers/THREAD_UPDATE.js +16 -0
- package/src/client/websocket/handlers/TYPING_START.js +5 -0
- package/src/client/websocket/handlers/USER_GUILD_SETTINGS_UPDATE.js +12 -0
- package/src/client/websocket/handlers/USER_NOTE_UPDATE.js +5 -0
- package/src/client/websocket/handlers/USER_SETTINGS_UPDATE.js +9 -0
- package/src/client/websocket/handlers/USER_UPDATE.js +5 -0
- package/src/client/websocket/handlers/VOICE_SERVER_UPDATE.js +6 -0
- package/src/client/websocket/handlers/VOICE_STATE_UPDATE.js +5 -0
- package/src/client/websocket/handlers/WEBHOOKS_UPDATE.js +5 -0
- package/src/client/websocket/handlers/index.js +86 -0
- package/src/errors/DJSError.js +61 -0
- package/src/errors/Messages.js +227 -0
- package/src/errors/index.js +4 -0
- package/src/index.js +189 -0
- package/src/managers/ApplicationCommandManager.js +267 -0
- package/src/managers/ApplicationCommandPermissionsManager.js +425 -0
- package/src/managers/AutoModerationRuleManager.js +296 -0
- package/src/managers/BaseGuildEmojiManager.js +80 -0
- package/src/managers/BaseManager.js +19 -0
- package/src/managers/BillingManager.js +66 -0
- package/src/managers/CachedManager.js +71 -0
- package/src/managers/ChannelManager.js +139 -0
- package/src/managers/ClientUserSettingManager.js +490 -0
- package/src/managers/DataManager.js +61 -0
- package/src/managers/DeveloperPortalManager.js +104 -0
- package/src/managers/GuildApplicationCommandManager.js +28 -0
- package/src/managers/GuildBanManager.js +204 -0
- package/src/managers/GuildChannelManager.js +502 -0
- package/src/managers/GuildEmojiManager.js +171 -0
- package/src/managers/GuildEmojiRoleManager.js +118 -0
- package/src/managers/GuildFolderManager.js +24 -0
- package/src/managers/GuildForumThreadManager.js +114 -0
- package/src/managers/GuildInviteManager.js +213 -0
- package/src/managers/GuildManager.js +304 -0
- package/src/managers/GuildMemberManager.js +724 -0
- package/src/managers/GuildMemberRoleManager.js +191 -0
- package/src/managers/GuildScheduledEventManager.js +296 -0
- package/src/managers/GuildSettingManager.js +148 -0
- package/src/managers/GuildStickerManager.js +179 -0
- package/src/managers/GuildTextThreadManager.js +98 -0
- package/src/managers/InteractionManager.js +39 -0
- package/src/managers/MessageManager.js +393 -0
- package/src/managers/PermissionOverwriteManager.js +166 -0
- package/src/managers/PresenceManager.js +58 -0
- package/src/managers/ReactionManager.js +67 -0
- package/src/managers/ReactionUserManager.js +71 -0
- package/src/managers/RelationshipManager.js +258 -0
- package/src/managers/RoleManager.js +352 -0
- package/src/managers/SessionManager.js +57 -0
- package/src/managers/StageInstanceManager.js +162 -0
- package/src/managers/ThreadManager.js +207 -0
- package/src/managers/ThreadMemberManager.js +186 -0
- package/src/managers/UserManager.js +150 -0
- package/src/managers/VoiceStateManager.js +37 -0
- package/src/rest/APIRequest.js +136 -0
- package/src/rest/APIRouter.js +53 -0
- package/src/rest/CaptchaSolver.js +78 -0
- package/src/rest/DiscordAPIError.js +103 -0
- package/src/rest/HTTPError.js +62 -0
- package/src/rest/RESTManager.js +81 -0
- package/src/rest/RateLimitError.js +55 -0
- package/src/rest/RequestHandler.js +446 -0
- package/src/sharding/Shard.js +443 -0
- package/src/sharding/ShardClientUtil.js +275 -0
- package/src/sharding/ShardingManager.js +318 -0
- package/src/structures/AnonymousGuild.js +98 -0
- package/src/structures/ApplicationCommand.js +1028 -0
- package/src/structures/ApplicationRoleConnectionMetadata.js +45 -0
- package/src/structures/AutoModerationActionExecution.js +89 -0
- package/src/structures/AutoModerationRule.js +294 -0
- package/src/structures/AutocompleteInteraction.js +106 -0
- package/src/structures/Base.js +43 -0
- package/src/structures/BaseCommandInteraction.js +211 -0
- package/src/structures/BaseGuild.js +116 -0
- package/src/structures/BaseGuildEmoji.js +56 -0
- package/src/structures/BaseGuildTextChannel.js +193 -0
- package/src/structures/BaseGuildVoiceChannel.js +243 -0
- package/src/structures/BaseMessageComponent.js +114 -0
- package/src/structures/ButtonInteraction.js +11 -0
- package/src/structures/Call.js +58 -0
- package/src/structures/CategoryChannel.js +83 -0
- package/src/structures/Channel.js +271 -0
- package/src/structures/ClientApplication.js +204 -0
- package/src/structures/ClientPresence.js +84 -0
- package/src/structures/ClientUser.js +624 -0
- package/src/structures/CommandInteraction.js +41 -0
- package/src/structures/CommandInteractionOptionResolver.js +276 -0
- package/src/structures/ContextMenuInteraction.js +65 -0
- package/src/structures/DMChannel.js +280 -0
- package/src/structures/DeveloperPortalApplication.js +520 -0
- package/src/structures/DirectoryChannel.js +20 -0
- package/src/structures/Emoji.js +148 -0
- package/src/structures/ForumChannel.js +271 -0
- package/src/structures/Guild.js +1744 -0
- package/src/structures/GuildAuditLogs.js +734 -0
- package/src/structures/GuildBan.js +59 -0
- package/src/structures/GuildBoost.js +108 -0
- package/src/structures/GuildChannel.js +454 -0
- package/src/structures/GuildEmoji.js +161 -0
- package/src/structures/GuildFolder.js +75 -0
- package/src/structures/GuildMember.js +686 -0
- package/src/structures/GuildPreview.js +191 -0
- package/src/structures/GuildPreviewEmoji.js +27 -0
- package/src/structures/GuildScheduledEvent.js +441 -0
- package/src/structures/GuildTemplate.js +236 -0
- package/src/structures/Integration.js +188 -0
- package/src/structures/IntegrationApplication.js +96 -0
- package/src/structures/Interaction.js +351 -0
- package/src/structures/InteractionCollector.js +248 -0
- package/src/structures/InteractionResponse.js +114 -0
- package/src/structures/InteractionWebhook.js +43 -0
- package/src/structures/Invite.js +375 -0
- package/src/structures/InviteGuild.js +23 -0
- package/src/structures/InviteStageInstance.js +86 -0
- package/src/structures/Message.js +1188 -0
- package/src/structures/MessageActionRow.js +103 -0
- package/src/structures/MessageAttachment.js +193 -0
- package/src/structures/MessageButton.js +231 -0
- package/src/structures/MessageCollector.js +146 -0
- package/src/structures/MessageComponentInteraction.js +120 -0
- package/src/structures/MessageContextMenuInteraction.js +20 -0
- package/src/structures/MessageEmbed.js +586 -0
- package/src/structures/MessageMentions.js +272 -0
- package/src/structures/MessagePayload.js +358 -0
- package/src/structures/MessageReaction.js +171 -0
- package/src/structures/MessageSelectMenu.js +391 -0
- package/src/structures/Modal.js +279 -0
- package/src/structures/ModalSubmitFieldsResolver.js +53 -0
- package/src/structures/ModalSubmitInteraction.js +119 -0
- package/src/structures/NewsChannel.js +32 -0
- package/src/structures/OAuth2Guild.js +28 -0
- package/src/structures/PartialGroupDMChannel.js +430 -0
- package/src/structures/PermissionOverwrites.js +196 -0
- package/src/structures/Presence.js +441 -0
- package/src/structures/ReactionCollector.js +229 -0
- package/src/structures/ReactionEmoji.js +31 -0
- package/src/structures/RichPresence.js +722 -0
- package/src/structures/Role.js +515 -0
- package/src/structures/SelectMenuInteraction.js +170 -0
- package/src/structures/Session.js +81 -0
- package/src/structures/StageChannel.js +104 -0
- package/src/structures/StageInstance.js +208 -0
- package/src/structures/Sticker.js +310 -0
- package/src/structures/StickerPack.js +95 -0
- package/src/structures/StoreChannel.js +56 -0
- package/src/structures/Team.js +167 -0
- package/src/structures/TeamMember.js +71 -0
- package/src/structures/TextChannel.js +33 -0
- package/src/structures/TextInputComponent.js +201 -0
- package/src/structures/ThreadChannel.js +626 -0
- package/src/structures/ThreadMember.js +105 -0
- package/src/structures/Typing.js +74 -0
- package/src/structures/User.js +697 -0
- package/src/structures/UserContextMenuInteraction.js +29 -0
- package/src/structures/VoiceChannel.js +110 -0
- package/src/structures/VoiceRegion.js +53 -0
- package/src/structures/VoiceState.js +306 -0
- package/src/structures/WebEmbed.js +401 -0
- package/src/structures/Webhook.js +461 -0
- package/src/structures/WelcomeChannel.js +60 -0
- package/src/structures/WelcomeScreen.js +48 -0
- package/src/structures/Widget.js +87 -0
- package/src/structures/WidgetMember.js +99 -0
- package/src/structures/interfaces/Application.js +190 -0
- package/src/structures/interfaces/Collector.js +300 -0
- package/src/structures/interfaces/InteractionResponses.js +313 -0
- package/src/structures/interfaces/TextBasedChannel.js +566 -0
- package/src/util/ActivityFlags.js +44 -0
- package/src/util/ApplicationFlags.js +74 -0
- package/src/util/BitField.js +170 -0
- package/src/util/ChannelFlags.js +45 -0
- package/src/util/Constants.js +1917 -0
- package/src/util/DataResolver.js +145 -0
- package/src/util/Formatters.js +214 -0
- package/src/util/GuildMemberFlags.js +43 -0
- package/src/util/Intents.js +74 -0
- package/src/util/LimitedCollection.js +131 -0
- package/src/util/MessageFlags.js +54 -0
- package/src/util/Options.js +360 -0
- package/src/util/Permissions.js +187 -0
- package/src/util/PremiumUsageFlags.js +31 -0
- package/src/util/PurchasedFlags.js +31 -0
- package/src/util/RemoteAuth.js +522 -0
- package/src/util/SnowflakeUtil.js +92 -0
- package/src/util/Sweepers.js +466 -0
- package/src/util/SystemChannelFlags.js +55 -0
- package/src/util/ThreadMemberFlags.js +30 -0
- package/src/util/UserFlags.js +104 -0
- package/src/util/Util.js +741 -0
- package/src/util/Voice.js +1456 -0
- package/src/util/arRPC/index.js +229 -0
- package/src/util/arRPC/process/detectable.json +1 -0
- package/src/util/arRPC/process/index.js +102 -0
- package/src/util/arRPC/process/native/index.js +5 -0
- package/src/util/arRPC/process/native/linux.js +37 -0
- package/src/util/arRPC/process/native/win32.js +25 -0
- package/src/util/arRPC/transports/ipc.js +281 -0
- package/src/util/arRPC/transports/websocket.js +128 -0
- package/typings/enums.d.ts +346 -0
- package/typings/index.d.ts +7725 -0
- package/typings/index.test-d.ts +0 -0
- package/typings/rawDataTypes.d.ts +283 -0
@@ -0,0 +1,179 @@
|
|
1
|
+
'use strict';
|
2
|
+
|
3
|
+
const { Collection } = require('@discordjs/collection');
|
4
|
+
const CachedManager = require('./CachedManager');
|
5
|
+
const { TypeError } = require('../errors');
|
6
|
+
const MessagePayload = require('../structures/MessagePayload');
|
7
|
+
const { Sticker } = require('../structures/Sticker');
|
8
|
+
|
9
|
+
/**
|
10
|
+
* Manages API methods for Guild Stickers and stores their cache.
|
11
|
+
* @extends {CachedManager}
|
12
|
+
*/
|
13
|
+
class GuildStickerManager extends CachedManager {
|
14
|
+
constructor(guild, iterable) {
|
15
|
+
super(guild.client, Sticker, iterable);
|
16
|
+
|
17
|
+
/**
|
18
|
+
* The guild this manager belongs to
|
19
|
+
* @type {Guild}
|
20
|
+
*/
|
21
|
+
this.guild = guild;
|
22
|
+
}
|
23
|
+
|
24
|
+
/**
|
25
|
+
* The cache of Guild Stickers
|
26
|
+
* @type {Collection<Snowflake, Sticker>}
|
27
|
+
* @name GuildStickerManager#cache
|
28
|
+
*/
|
29
|
+
|
30
|
+
_add(data, cache) {
|
31
|
+
return super._add(data, cache, { extras: [this.guild] });
|
32
|
+
}
|
33
|
+
|
34
|
+
/**
|
35
|
+
* Options for creating a guild sticker.
|
36
|
+
* @typedef {Object} GuildStickerCreateOptions
|
37
|
+
* @property {?string} [description] The description for the sticker
|
38
|
+
* @property {string} [reason] Reason for creating the sticker
|
39
|
+
*/
|
40
|
+
|
41
|
+
/**
|
42
|
+
* Creates a new custom sticker in the guild.
|
43
|
+
* @param {BufferResolvable|Stream|FileOptions|MessageAttachment} file The file for the sticker
|
44
|
+
* @param {string} name The name for the sticker
|
45
|
+
* @param {string} tags The Discord name of a unicode emoji representing the sticker's expression
|
46
|
+
* @param {GuildStickerCreateOptions} [options] Options
|
47
|
+
* @returns {Promise<Sticker>} The created sticker
|
48
|
+
* @example
|
49
|
+
* // Create a new sticker from a URL
|
50
|
+
* guild.stickers.create('https://i.imgur.com/w3duR07.png', 'rip', 'headstone')
|
51
|
+
* .then(sticker => console.log(`Created new sticker with name ${sticker.name}!`))
|
52
|
+
* .catch(console.error);
|
53
|
+
* @example
|
54
|
+
* // Create a new sticker from a file on your computer
|
55
|
+
* guild.stickers.create('./memes/banana.png', 'banana', 'banana')
|
56
|
+
* .then(sticker => console.log(`Created new sticker with name ${sticker.name}!`))
|
57
|
+
* .catch(console.error);
|
58
|
+
*/
|
59
|
+
async create(file, name, tags, { description, reason } = {}) {
|
60
|
+
const resolvedFile = await MessagePayload.resolveFile(file);
|
61
|
+
if (!resolvedFile) throw new TypeError('REQ_RESOURCE_TYPE');
|
62
|
+
file = { ...resolvedFile, key: 'file' };
|
63
|
+
|
64
|
+
const data = { name, tags, description: description ?? '' };
|
65
|
+
|
66
|
+
const sticker = await this.client.api
|
67
|
+
.guilds(this.guild.id)
|
68
|
+
.stickers.post({ data, files: [file], reason, dontUsePayloadJSON: true });
|
69
|
+
return this.client.actions.GuildStickerCreate.handle(this.guild, sticker).sticker;
|
70
|
+
}
|
71
|
+
|
72
|
+
/**
|
73
|
+
* Data that resolves to give a Sticker object. This can be:
|
74
|
+
* * A Sticker object
|
75
|
+
* * A Snowflake
|
76
|
+
* @typedef {Sticker|Snowflake} StickerResolvable
|
77
|
+
*/
|
78
|
+
|
79
|
+
/**
|
80
|
+
* Resolves a StickerResolvable to a Sticker object.
|
81
|
+
* @method resolve
|
82
|
+
* @memberof GuildStickerManager
|
83
|
+
* @instance
|
84
|
+
* @param {StickerResolvable} sticker The Sticker resolvable to identify
|
85
|
+
* @returns {?Sticker}
|
86
|
+
*/
|
87
|
+
|
88
|
+
/**
|
89
|
+
* Resolves a StickerResolvable to a Sticker id string.
|
90
|
+
* @method resolveId
|
91
|
+
* @memberof GuildStickerManager
|
92
|
+
* @instance
|
93
|
+
* @param {StickerResolvable} sticker The Sticker resolvable to identify
|
94
|
+
* @returns {?Snowflake}
|
95
|
+
*/
|
96
|
+
|
97
|
+
/**
|
98
|
+
* Edits a sticker.
|
99
|
+
* @param {StickerResolvable} sticker The sticker to edit
|
100
|
+
* @param {GuildStickerEditData} [data] The new data for the sticker
|
101
|
+
* @param {string} [reason] Reason for editing this sticker
|
102
|
+
* @returns {Promise<Sticker>}
|
103
|
+
*/
|
104
|
+
async edit(sticker, data, reason) {
|
105
|
+
const stickerId = this.resolveId(sticker);
|
106
|
+
if (!stickerId) throw new TypeError('INVALID_TYPE', 'sticker', 'StickerResolvable');
|
107
|
+
|
108
|
+
const d = await this.client.api.guilds(this.guild.id).stickers(stickerId).patch({
|
109
|
+
data,
|
110
|
+
reason,
|
111
|
+
});
|
112
|
+
|
113
|
+
const existing = this.cache.get(stickerId);
|
114
|
+
if (existing) {
|
115
|
+
const clone = existing._clone();
|
116
|
+
clone._patch(d);
|
117
|
+
return clone;
|
118
|
+
}
|
119
|
+
return this._add(d);
|
120
|
+
}
|
121
|
+
|
122
|
+
/**
|
123
|
+
* Deletes a sticker.
|
124
|
+
* @param {StickerResolvable} sticker The sticker to delete
|
125
|
+
* @param {string} [reason] Reason for deleting this sticker
|
126
|
+
* @returns {Promise<void>}
|
127
|
+
*/
|
128
|
+
async delete(sticker, reason) {
|
129
|
+
sticker = this.resolveId(sticker);
|
130
|
+
if (!sticker) throw new TypeError('INVALID_TYPE', 'sticker', 'StickerResolvable');
|
131
|
+
|
132
|
+
await this.client.api.guilds(this.guild.id).stickers(sticker).delete({ reason });
|
133
|
+
}
|
134
|
+
|
135
|
+
/**
|
136
|
+
* Obtains one or more stickers from Discord, or the sticker cache if they're already available.
|
137
|
+
* @param {Snowflake} [id] The Sticker's id
|
138
|
+
* @param {BaseFetchOptions} [options] Additional options for this fetch
|
139
|
+
* @returns {Promise<Sticker|Collection<Snowflake, Sticker>>}
|
140
|
+
* @example
|
141
|
+
* // Fetch all stickers from the guild
|
142
|
+
* message.guild.stickers.fetch()
|
143
|
+
* .then(stickers => console.log(`There are ${stickers.size} stickers.`))
|
144
|
+
* .catch(console.error);
|
145
|
+
* @example
|
146
|
+
* // Fetch a single sticker
|
147
|
+
* message.guild.stickers.fetch('222078108977594368')
|
148
|
+
* .then(sticker => console.log(`The sticker name is: ${sticker.name}`))
|
149
|
+
* .catch(console.error);
|
150
|
+
*/
|
151
|
+
async fetch(id, { cache = true, force = false } = {}) {
|
152
|
+
if (id) {
|
153
|
+
if (!force) {
|
154
|
+
const existing = this.cache.get(id);
|
155
|
+
if (existing) return existing;
|
156
|
+
}
|
157
|
+
const sticker = await this.client.api.guilds(this.guild.id).stickers(id).get();
|
158
|
+
return this._add(sticker, cache);
|
159
|
+
}
|
160
|
+
|
161
|
+
const data = await this.client.api.guilds(this.guild.id).stickers.get();
|
162
|
+
return new Collection(data.map(sticker => [sticker.id, this._add(sticker, cache)]));
|
163
|
+
}
|
164
|
+
|
165
|
+
/**
|
166
|
+
* Fetches the user who uploaded this sticker, if this is a guild sticker.
|
167
|
+
* @param {StickerResolvable} sticker The sticker to fetch the user for
|
168
|
+
* @returns {Promise<?User>}
|
169
|
+
*/
|
170
|
+
async fetchUser(sticker) {
|
171
|
+
sticker = this.resolve(sticker);
|
172
|
+
if (!sticker) throw new TypeError('INVALID_TYPE', 'sticker', 'StickerResolvable');
|
173
|
+
const data = await this.client.api.guilds(this.guild.id).stickers(sticker.id).get();
|
174
|
+
sticker._patch(data);
|
175
|
+
return sticker.user;
|
176
|
+
}
|
177
|
+
}
|
178
|
+
|
179
|
+
module.exports = GuildStickerManager;
|
@@ -0,0 +1,98 @@
|
|
1
|
+
'use strict';
|
2
|
+
|
3
|
+
const ThreadManager = require('./ThreadManager');
|
4
|
+
const { TypeError } = require('../errors');
|
5
|
+
const { ChannelTypes } = require('../util/Constants');
|
6
|
+
const { resolveAutoArchiveMaxLimit } = require('../util/Util');
|
7
|
+
|
8
|
+
/**
|
9
|
+
* Manages API methods for {@link ThreadChannel} objects and stores their cache.
|
10
|
+
* @extends {ThreadManager}
|
11
|
+
*/
|
12
|
+
class GuildTextThreadManager extends ThreadManager {
|
13
|
+
/**
|
14
|
+
* The channel this Manager belongs to
|
15
|
+
* @name GuildTextThreadManager#channel
|
16
|
+
* @type {TextChannel|NewsChannel}
|
17
|
+
*/
|
18
|
+
|
19
|
+
/**
|
20
|
+
* Options for creating a thread. <warn>Only one of `startMessage` or `type` can be defined.</warn>
|
21
|
+
* @typedef {StartThreadOptions} GuildTextThreadCreateOptions
|
22
|
+
* @property {MessageResolvable} [startMessage] The message to start a thread from. <warn>If this is defined then type
|
23
|
+
* of thread gets automatically defined and cannot be changed. The provided `type` field will be ignored</warn>
|
24
|
+
* @property {ThreadChannelTypes|number} [type] The type of thread to create. Defaults to `GUILD_PUBLIC_THREAD` if
|
25
|
+
* created in a {@link TextChannel} <warn>When creating threads in a {@link NewsChannel} this is ignored and is always
|
26
|
+
* `GUILD_NEWS_THREAD`</warn>
|
27
|
+
* @property {boolean} [invitable] Whether non-moderators can add other non-moderators to the thread
|
28
|
+
* <info>Can only be set when type will be `GUILD_PRIVATE_THREAD`</info>
|
29
|
+
* @property {number} [rateLimitPerUser] The rate limit per user (slowmode) for the new channel in seconds
|
30
|
+
*/
|
31
|
+
|
32
|
+
/**
|
33
|
+
* Creates a new thread in the channel.
|
34
|
+
* @param {GuildTextThreadCreateOptions} [options] Options to create a new thread
|
35
|
+
* @returns {Promise<ThreadChannel>}
|
36
|
+
* @example
|
37
|
+
* // Create a new public thread
|
38
|
+
* channel.threads
|
39
|
+
* .create({
|
40
|
+
* name: 'food-talk',
|
41
|
+
* autoArchiveDuration: 60,
|
42
|
+
* reason: 'Needed a separate thread for food',
|
43
|
+
* })
|
44
|
+
* .then(threadChannel => console.log(threadChannel))
|
45
|
+
* .catch(console.error);
|
46
|
+
* @example
|
47
|
+
* // Create a new private thread
|
48
|
+
* channel.threads
|
49
|
+
* .create({
|
50
|
+
* name: 'mod-talk',
|
51
|
+
* autoArchiveDuration: 60,
|
52
|
+
* type: 'GUILD_PRIVATE_THREAD',
|
53
|
+
* reason: 'Needed a separate thread for moderation',
|
54
|
+
* })
|
55
|
+
* .then(threadChannel => console.log(threadChannel))
|
56
|
+
* .catch(console.error);
|
57
|
+
*/
|
58
|
+
async create({
|
59
|
+
name,
|
60
|
+
autoArchiveDuration = this.channel.defaultAutoArchiveDuration,
|
61
|
+
startMessage,
|
62
|
+
type,
|
63
|
+
invitable,
|
64
|
+
reason,
|
65
|
+
rateLimitPerUser,
|
66
|
+
} = {}) {
|
67
|
+
let path = this.client.api.channels(this.channel.id);
|
68
|
+
if (type && typeof type !== 'string' && typeof type !== 'number') {
|
69
|
+
throw new TypeError('INVALID_TYPE', 'type', 'ThreadChannelType or Number');
|
70
|
+
}
|
71
|
+
let resolvedType =
|
72
|
+
this.channel.type === 'GUILD_NEWS' ? ChannelTypes.GUILD_NEWS_THREAD : ChannelTypes.GUILD_PUBLIC_THREAD;
|
73
|
+
if (startMessage) {
|
74
|
+
const startMessageId = this.channel.messages.resolveId(startMessage);
|
75
|
+
if (!startMessageId) throw new TypeError('INVALID_TYPE', 'startMessage', 'MessageResolvable');
|
76
|
+
path = path.messages(startMessageId);
|
77
|
+
} else if (this.channel.type !== 'GUILD_NEWS') {
|
78
|
+
resolvedType = typeof type === 'string' ? ChannelTypes[type] : type ?? resolvedType;
|
79
|
+
}
|
80
|
+
|
81
|
+
if (autoArchiveDuration === 'MAX') autoArchiveDuration = resolveAutoArchiveMaxLimit(this.channel.guild);
|
82
|
+
|
83
|
+
const data = await path.threads.post({
|
84
|
+
data: {
|
85
|
+
name,
|
86
|
+
auto_archive_duration: autoArchiveDuration,
|
87
|
+
type: resolvedType,
|
88
|
+
invitable: resolvedType === ChannelTypes.GUILD_PRIVATE_THREAD ? invitable : undefined,
|
89
|
+
rate_limit_per_user: rateLimitPerUser,
|
90
|
+
},
|
91
|
+
reason,
|
92
|
+
});
|
93
|
+
|
94
|
+
return this.client.actions.ThreadCreate.handle(data).thread;
|
95
|
+
}
|
96
|
+
}
|
97
|
+
|
98
|
+
module.exports = GuildTextThreadManager;
|
@@ -0,0 +1,39 @@
|
|
1
|
+
'use strict';
|
2
|
+
|
3
|
+
const CachedManager = require('./CachedManager');
|
4
|
+
const InteractionResponse = require('../structures/InteractionResponse');
|
5
|
+
|
6
|
+
/**
|
7
|
+
* Manages API methods for InteractionResponse and holds their cache.
|
8
|
+
* @extends {CachedManager}
|
9
|
+
*/
|
10
|
+
class InteractionManager extends CachedManager {
|
11
|
+
constructor(channel, iterable) {
|
12
|
+
super(channel.client, InteractionResponse, iterable);
|
13
|
+
|
14
|
+
/**
|
15
|
+
* The channel that the messages belong to
|
16
|
+
* @type {TextBasedChannels}
|
17
|
+
*/
|
18
|
+
this.channel = channel;
|
19
|
+
}
|
20
|
+
|
21
|
+
/**
|
22
|
+
* The cache of InteractionResponse
|
23
|
+
* @type {Collection<Snowflake, InteractionResponse>}
|
24
|
+
* @name InteractionManager#cache
|
25
|
+
*/
|
26
|
+
|
27
|
+
_add(data, cache) {
|
28
|
+
data = {
|
29
|
+
...data,
|
30
|
+
channelId: this.channel.id,
|
31
|
+
guildId: this.channel.guild?.id,
|
32
|
+
};
|
33
|
+
if (!data.id) return;
|
34
|
+
// eslint-disable-next-line consistent-return
|
35
|
+
return super._add(data, cache);
|
36
|
+
}
|
37
|
+
}
|
38
|
+
|
39
|
+
module.exports = InteractionManager;
|