@deffa5556/bail 1.0.6 → 1.0.9
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/cjs/WAProto/index.cjs +106053 -0
- package/cjs/deffa/config.cjs +14 -0
- package/cjs/deffa/plugins/ai/deepseekr1.cjs +35 -0
- package/cjs/deffa/plugins/ai/gita.cjs +26 -0
- package/cjs/deffa/plugins/ai/glm47flash.cjs +35 -0
- package/cjs/deffa/plugins/ai/gptoss120b.cjs +35 -0
- package/cjs/deffa/plugins/ai/qwq32b.cjs +35 -0
- package/cjs/deffa/plugins/berita/antara.cjs +25 -0
- package/cjs/deffa/plugins/berita/cnbcindonesia.cjs +25 -0
- package/cjs/deffa/plugins/berita/cnn.cjs +25 -0
- package/cjs/deffa/plugins/berita/kompas.cjs +25 -0
- package/cjs/deffa/plugins/berita/liputan6.cjs +25 -0
- package/cjs/deffa/plugins/berita/merdeka.cjs +25 -0
- package/cjs/deffa/plugins/berita/sindonews.cjs +25 -0
- package/cjs/deffa/plugins/berita/tribunnews.cjs +25 -0
- package/cjs/deffa/plugins/downloader/douyin.cjs +30 -0
- package/cjs/deffa/plugins/downloader/facebook.cjs +30 -0
- package/cjs/deffa/plugins/downloader/github.cjs +35 -0
- package/cjs/deffa/plugins/downloader/lahelu.cjs +30 -0
- package/cjs/deffa/plugins/downloader/snackvideo.cjs +30 -0
- package/cjs/deffa/plugins/downloader/soundcloud.cjs +30 -0
- package/cjs/deffa/plugins/downloader/tiktok.cjs +30 -0
- package/cjs/deffa/plugins/downloader/tiktokhd.cjs +30 -0
- package/cjs/deffa/plugins/downloader/twitter.cjs +30 -0
- package/cjs/deffa/plugins/downloader/ummy.cjs +36 -0
- package/cjs/deffa/plugins/index.cjs +213 -0
- package/cjs/deffa/plugins/info/bmkg.cjs +34 -0
- package/cjs/deffa/plugins/info/cuaca.cjs +31 -0
- package/cjs/deffa/plugins/info/jadwaltv.cjs +29 -0
- package/cjs/deffa/plugins/maker/brat.cjs +45 -0
- package/cjs/deffa/plugins/maker/bratvid.cjs +52 -0
- package/cjs/deffa/plugins/search/8font.cjs +28 -0
- package/cjs/deffa/plugins/search/applemusic.cjs +28 -0
- package/cjs/deffa/plugins/search/bimg.cjs +30 -0
- package/cjs/deffa/plugins/search/brave.cjs +34 -0
- package/cjs/deffa/plugins/search/duckduckgo.cjs +28 -0
- package/cjs/deffa/plugins/search/lahelu.cjs +28 -0
- package/cjs/deffa/plugins/search/mangatoon.cjs +28 -0
- package/cjs/deffa/plugins/search/mcpedl.cjs +28 -0
- package/cjs/deffa/plugins/search/myinstants.cjs +28 -0
- package/cjs/deffa/plugins/search/otakotaku.cjs +28 -0
- package/cjs/deffa/plugins/search/pinterest.cjs +30 -0
- package/cjs/deffa/plugins/search/resep.cjs +28 -0
- package/cjs/deffa/plugins/search/seegore.cjs +30 -0
- package/cjs/deffa/plugins/search/soundcloud.cjs +28 -0
- package/cjs/deffa/plugins/search/youtube.cjs +28 -0
- package/cjs/deffa/plugins/stalk/github.cjs +38 -0
- package/cjs/deffa/plugins/stalk/pinterest.cjs +37 -0
- package/cjs/deffa/plugins/stalk/threads.cjs +34 -0
- package/cjs/deffa/plugins/stalk/tiktok.cjs +37 -0
- package/cjs/deffa/plugins/stalk/twitter.cjs +37 -0
- package/cjs/deffa/plugins/stalk/youtube.cjs +37 -0
- package/cjs/lib/Defaults/index.cjs +158 -0
- package/cjs/lib/Discord/Client.cjs +263 -0
- package/cjs/lib/Discord/Constants.cjs +1842 -0
- package/cjs/lib/Discord/connect-dc.cjs +11 -0
- package/cjs/lib/Discord/esm-bridge.cjs +136 -0
- package/cjs/lib/Discord/gateway/Dispatcher.cjs +93 -0
- package/cjs/lib/Discord/gateway/Shard.cjs +695 -0
- package/cjs/lib/Discord/gateway/ShardManager.cjs +344 -0
- package/cjs/lib/Discord/gateway/compression/base.cjs +13 -0
- package/cjs/lib/Discord/gateway/compression/config.cjs +47 -0
- package/cjs/lib/Discord/gateway/compression/pako.cjs +44 -0
- package/cjs/lib/Discord/gateway/compression/zlib-native.cjs +47 -0
- package/cjs/lib/Discord/gateway/compression/zlib-sync.cjs +31 -0
- package/cjs/lib/Discord/gateway/compression/zstd-napi.cjs +80 -0
- package/cjs/lib/Discord/gateway/compression/zstd-native.cjs +46 -0
- package/cjs/lib/Discord/gateway/events.cjs +956 -0
- package/cjs/lib/Discord/index.cjs +238 -0
- package/cjs/lib/Discord/rest/Bucket.cjs +69 -0
- package/cjs/lib/Discord/rest/DiscordHTTPError.cjs +63 -0
- package/cjs/lib/Discord/rest/DiscordRESTError.cjs +84 -0
- package/cjs/lib/Discord/rest/OAuthHelper.cjs +226 -0
- package/cjs/lib/Discord/rest/RESTManager.cjs +116 -0
- package/cjs/lib/Discord/rest/RequestHandler.cjs +320 -0
- package/cjs/lib/Discord/rest/SequentialBucket.cjs +69 -0
- package/cjs/lib/Discord/routes/Applications.cjs +625 -0
- package/cjs/lib/Discord/routes/Channels.cjs +1199 -0
- package/cjs/lib/Discord/routes/Guilds.cjs +1792 -0
- package/cjs/lib/Discord/routes/Interactions.cjs +212 -0
- package/cjs/lib/Discord/routes/Lobbies.cjs +197 -0
- package/cjs/lib/Discord/routes/Miscellaneous.cjs +120 -0
- package/cjs/lib/Discord/routes/OAuth.cjs +350 -0
- package/cjs/lib/Discord/routes/Users.cjs +107 -0
- package/cjs/lib/Discord/routes/Webhooks.cjs +308 -0
- package/cjs/lib/Discord/structures/AnnouncementChannel.cjs +46 -0
- package/cjs/lib/Discord/structures/AnnouncementThreadChannel.cjs +28 -0
- package/cjs/lib/Discord/structures/Application.cjs +345 -0
- package/cjs/lib/Discord/structures/ApplicationCommand.cjs +109 -0
- package/cjs/lib/Discord/structures/Attachment.cjs +46 -0
- package/cjs/lib/Discord/structures/AuditLogEntry.cjs +41 -0
- package/cjs/lib/Discord/structures/AutoModerationRule.cjs +117 -0
- package/cjs/lib/Discord/structures/AutocompleteInteraction.cjs +90 -0
- package/cjs/lib/Discord/structures/Base.cjs +56 -0
- package/cjs/lib/Discord/structures/BaseEntitlement.cjs +40 -0
- package/cjs/lib/Discord/structures/CategoryChannel.cjs +102 -0
- package/cjs/lib/Discord/structures/Channel.cjs +89 -0
- package/cjs/lib/Discord/structures/ClientApplication.cjs +269 -0
- package/cjs/lib/Discord/structures/CommandInteraction.cjs +294 -0
- package/cjs/lib/Discord/structures/ComponentInteraction.cjs +306 -0
- package/cjs/lib/Discord/structures/Entitlement.cjs +24 -0
- package/cjs/lib/Discord/structures/ExtendedUser.cjs +48 -0
- package/cjs/lib/Discord/structures/ForumChannel.cjs +20 -0
- package/cjs/lib/Discord/structures/GroupChannel.cjs +160 -0
- package/cjs/lib/Discord/structures/Guild.cjs +1289 -0
- package/cjs/lib/Discord/structures/GuildChannel.cjs +82 -0
- package/cjs/lib/Discord/structures/GuildPreview.cjs +141 -0
- package/cjs/lib/Discord/structures/GuildScheduledEvent.cjs +166 -0
- package/cjs/lib/Discord/structures/GuildTemplate.cjs +96 -0
- package/cjs/lib/Discord/structures/Integration.cjs +123 -0
- package/cjs/lib/Discord/structures/Interaction.cjs +78 -0
- package/cjs/lib/Discord/structures/InteractionResolvedChannel.cjs +36 -0
- package/cjs/lib/Discord/structures/Invite.cjs +196 -0
- package/cjs/lib/Discord/structures/InviteGuild.cjs +117 -0
- package/cjs/lib/Discord/structures/InviteRole.cjs +88 -0
- package/cjs/lib/Discord/structures/Lobby.cjs +84 -0
- package/cjs/lib/Discord/structures/LobbyMember.cjs +30 -0
- package/cjs/lib/Discord/structures/MediaChannel.cjs +20 -0
- package/cjs/lib/Discord/structures/Member.cjs +300 -0
- package/cjs/lib/Discord/structures/Message.cjs +553 -0
- package/cjs/lib/Discord/structures/ModalSubmitInteraction.cjs +263 -0
- package/cjs/lib/Discord/structures/OAuthApplication.cjs +203 -0
- package/cjs/lib/Discord/structures/OAuthGuild.cjs +98 -0
- package/cjs/lib/Discord/structures/PartialApplication.cjs +97 -0
- package/cjs/lib/Discord/structures/Permission.cjs +61 -0
- package/cjs/lib/Discord/structures/PermissionOverwrite.cjs +46 -0
- package/cjs/lib/Discord/structures/PingInteraction.cjs +27 -0
- package/cjs/lib/Discord/structures/Poll.cjs +69 -0
- package/cjs/lib/Discord/structures/PrimaryGuild.cjs +93 -0
- package/cjs/lib/Discord/structures/PrivateChannel.cjs +131 -0
- package/cjs/lib/Discord/structures/PrivateThreadChannel.cjs +28 -0
- package/cjs/lib/Discord/structures/PublicThreadChannel.cjs +36 -0
- package/cjs/lib/Discord/structures/Role.cjs +126 -0
- package/cjs/lib/Discord/structures/SKU.cjs +58 -0
- package/cjs/lib/Discord/structures/Soundboard.cjs +58 -0
- package/cjs/lib/Discord/structures/StageChannel.cjs +45 -0
- package/cjs/lib/Discord/structures/StageInstance.cjs +80 -0
- package/cjs/lib/Discord/structures/Subscription.cjs +21 -0
- package/cjs/lib/Discord/structures/Team.cjs +70 -0
- package/cjs/lib/Discord/structures/TestEntitlement.cjs +22 -0
- package/cjs/lib/Discord/structures/TextChannel.cjs +48 -0
- package/cjs/lib/Discord/structures/TextableChannel.cjs +265 -0
- package/cjs/lib/Discord/structures/TextableVoiceChannel.cjs +70 -0
- package/cjs/lib/Discord/structures/ThreadChannel.cjs +276 -0
- package/cjs/lib/Discord/structures/ThreadOnlyChannel.cjs +205 -0
- package/cjs/lib/Discord/structures/ThreadableChannel.cjs +57 -0
- package/cjs/lib/Discord/structures/UnavailableGuild.cjs +21 -0
- package/cjs/lib/Discord/structures/User.cjs +223 -0
- package/cjs/lib/Discord/structures/VoiceChannel.cjs +34 -0
- package/cjs/lib/Discord/structures/VoiceState.cjs +113 -0
- package/cjs/lib/Discord/structures/Webhook.cjs +224 -0
- package/cjs/lib/Discord/util/Collection.cjs +77 -0
- package/cjs/lib/Discord/util/Errors.cjs +81 -0
- package/cjs/lib/Discord/util/QueryBuilder.cjs +20 -0
- package/cjs/lib/Discord/util/Routes.cjs +293 -0
- package/cjs/lib/Discord/util/SimpleCollection.cjs +78 -0
- package/cjs/lib/Discord/util/Time.cjs +92 -0
- package/cjs/lib/Discord/util/TypedCollection.cjs +78 -0
- package/cjs/lib/Discord/util/TypedEmitter.cjs +20 -0
- package/cjs/lib/Discord/util/Util.cjs +906 -0
- package/cjs/lib/Discord/util/interactions/InteractionOptionsWrapper.cjs +207 -0
- package/cjs/lib/Discord/util/interactions/MessageInteractionResponse.cjs +26 -0
- package/cjs/lib/Discord/util/interactions/ModalSubmitInteractionComponentsWrapper.cjs +98 -0
- package/cjs/lib/Discord/util/interactions/SelectMenuValuesWrapper.cjs +77 -0
- package/cjs/lib/Discord/util/interactions/shared.cjs +20 -0
- package/cjs/lib/Discord/util/warning.cjs +34 -0
- package/cjs/lib/Signal/Group/ciphertext-message.cjs +16 -0
- package/cjs/lib/Signal/Group/group-session-builder.cjs +67 -0
- package/cjs/lib/Signal/Group/group_cipher.cjs +86 -0
- package/cjs/lib/Signal/Group/index.cjs +58 -0
- package/cjs/lib/Signal/Group/keyhelper.cjs +56 -0
- package/cjs/lib/Signal/Group/sender-chain-key.cjs +30 -0
- package/cjs/lib/Signal/Group/sender-key-distribution-message.cjs +67 -0
- package/cjs/lib/Signal/Group/sender-key-message.cjs +70 -0
- package/cjs/lib/Signal/Group/sender-key-name.cjs +52 -0
- package/cjs/lib/Signal/Group/sender-key-record.cjs +45 -0
- package/cjs/lib/Signal/Group/sender-key-state.cjs +88 -0
- package/cjs/lib/Signal/Group/sender-message-key.cjs +30 -0
- package/cjs/lib/Signal/libsignal.cjs +467 -0
- package/cjs/lib/Signal/lid-mapping.cjs +281 -0
- package/cjs/lib/Socket/Client/index.cjs +19 -0
- package/cjs/lib/Socket/Client/types.cjs +15 -0
- package/cjs/lib/Socket/Client/websocket.cjs +61 -0
- package/cjs/lib/Socket/business.cjs +384 -0
- package/cjs/lib/Socket/chats.cjs +1221 -0
- package/cjs/lib/Socket/communities.cjs +440 -0
- package/cjs/lib/Socket/groups.cjs +353 -0
- package/cjs/lib/Socket/index.cjs +14 -0
- package/cjs/lib/Socket/messages-recv.cjs +1772 -0
- package/cjs/lib/Socket/messages-send.cjs +1376 -0
- package/cjs/lib/Socket/mex.cjs +46 -0
- package/cjs/lib/Socket/newsletter.cjs +230 -0
- package/cjs/lib/Socket/socket.cjs +976 -0
- package/cjs/lib/Store/index.cjs +20 -0
- package/cjs/lib/Store/make-in-memory-store.cjs +470 -0
- package/cjs/lib/Store/make-ordered-dictionary.cjs +82 -0
- package/cjs/lib/Store/object-repository.cjs +28 -0
- package/cjs/lib/Telegram/button.cjs +147 -0
- package/cjs/lib/Telegram/composer.cjs +582 -0
- package/cjs/lib/Telegram/context.cjs +853 -0
- package/cjs/lib/Telegram/core/helpers/args.cjs +57 -0
- package/cjs/lib/Telegram/core/helpers/check.cjs +55 -0
- package/cjs/lib/Telegram/core/helpers/compact.cjs +16 -0
- package/cjs/lib/Telegram/core/helpers/deunionize.cjs +12 -0
- package/cjs/lib/Telegram/core/helpers/formatting.cjs +91 -0
- package/cjs/lib/Telegram/core/helpers/util.cjs +50 -0
- package/cjs/lib/Telegram/core/network/client.cjs +338 -0
- package/cjs/lib/Telegram/core/network/error.cjs +21 -0
- package/cjs/lib/Telegram/core/network/multipart-stream.cjs +79 -0
- package/cjs/lib/Telegram/core/network/polling.cjs +87 -0
- package/cjs/lib/Telegram/core/network/webhook.cjs +54 -0
- package/cjs/lib/Telegram/core/types/typegram.cjs +31 -0
- package/cjs/lib/Telegram/deffa-telegraf.cjs +264 -0
- package/cjs/lib/Telegram/esm-bridge.cjs +20 -0
- package/cjs/lib/Telegram/filters.cjs +69 -0
- package/cjs/lib/Telegram/format.cjs +58 -0
- package/cjs/lib/Telegram/future.cjs +140 -0
- package/cjs/lib/Telegram/index.cjs +67 -0
- package/cjs/lib/Telegram/input.cjs +61 -0
- package/cjs/lib/Telegram/markup.cjs +129 -0
- package/cjs/lib/Telegram/middleware.cjs +2 -0
- package/cjs/lib/Telegram/reactions.cjs +84 -0
- package/cjs/lib/Telegram/router.cjs +46 -0
- package/cjs/lib/Telegram/scenes/base.cjs +39 -0
- package/cjs/lib/Telegram/scenes/context.cjs +104 -0
- package/cjs/lib/Telegram/scenes/index.cjs +21 -0
- package/cjs/lib/Telegram/scenes/stage.cjs +49 -0
- package/cjs/lib/Telegram/scenes/wizard/context.cjs +31 -0
- package/cjs/lib/Telegram/scenes/wizard/index.cjs +45 -0
- package/cjs/lib/Telegram/scenes.cjs +21 -0
- package/cjs/lib/Telegram/session.cjs +166 -0
- package/cjs/lib/Telegram/telegram-types.cjs +6 -0
- package/cjs/lib/Telegram/telegram.cjs +945 -0
- package/cjs/lib/Telegram/types.cjs +2 -0
- package/cjs/lib/Telegram/utils.cjs +5 -0
- package/cjs/lib/Types/Auth.cjs +3 -0
- package/cjs/lib/Types/Bussines.cjs +3 -0
- package/cjs/lib/Types/Call.cjs +3 -0
- package/cjs/lib/Types/Chat.cjs +11 -0
- package/cjs/lib/Types/Contact.cjs +3 -0
- package/cjs/lib/Types/Events.cjs +4 -0
- package/cjs/lib/Types/GroupMetadata.cjs +3 -0
- package/cjs/lib/Types/Label.cjs +26 -0
- package/cjs/lib/Types/LabelAssociation.cjs +8 -0
- package/cjs/lib/Types/Message.cjs +19 -0
- package/cjs/lib/Types/Mex.cjs +40 -0
- package/cjs/lib/Types/Product.cjs +3 -0
- package/cjs/lib/Types/RichType.cjs +24 -0
- package/cjs/lib/Types/Signal.cjs +4 -0
- package/cjs/lib/Types/Socket.cjs +4 -0
- package/cjs/lib/Types/State.cjs +54 -0
- package/cjs/lib/Types/USync.cjs +4 -0
- package/cjs/lib/Types/index.cjs +42 -0
- package/cjs/lib/Utils/auth-utils.cjs +312 -0
- package/cjs/lib/Utils/browser-utils.cjs +39 -0
- package/cjs/lib/Utils/business.cjs +241 -0
- package/cjs/lib/Utils/chat-utils.cjs +890 -0
- package/cjs/lib/Utils/companion-reg-client-utils.cjs +51 -0
- package/cjs/lib/Utils/crypto.cjs +170 -0
- package/cjs/lib/Utils/decode-wa-message.cjs +330 -0
- package/cjs/lib/Utils/event-buffer.cjs +629 -0
- package/cjs/lib/Utils/generics.cjs +427 -0
- package/cjs/lib/Utils/history.cjs +141 -0
- package/cjs/lib/Utils/identity-change-handler.cjs +56 -0
- package/cjs/lib/Utils/index.cjs +43 -0
- package/cjs/lib/Utils/link-preview.cjs +122 -0
- package/cjs/lib/Utils/logger.cjs +8 -0
- package/cjs/lib/Utils/lt-hash.cjs +11 -0
- package/cjs/lib/Utils/make-mutex.cjs +38 -0
- package/cjs/lib/Utils/message-retry-manager.cjs +267 -0
- package/cjs/lib/Utils/messages-media.cjs +906 -0
- package/cjs/lib/Utils/messages.cjs +1909 -0
- package/cjs/lib/Utils/noise-handler.cjs +205 -0
- package/cjs/lib/Utils/offline-node-processor.cjs +43 -0
- package/cjs/lib/Utils/pre-key-manager.cjs +113 -0
- package/cjs/lib/Utils/process-message.cjs +755 -0
- package/cjs/lib/Utils/reporting-utils.cjs +263 -0
- package/cjs/lib/Utils/rich-message-utils.cjs +434 -0
- package/cjs/lib/Utils/session-guard.cjs +163 -0
- package/cjs/lib/Utils/signal.cjs +214 -0
- package/cjs/lib/Utils/stanza-ack.cjs +41 -0
- package/cjs/lib/Utils/sync-action-utils.cjs +54 -0
- package/cjs/lib/Utils/tc-token-utils.cjs +174 -0
- package/cjs/lib/Utils/text-sticker.cjs +174 -0
- package/cjs/lib/Utils/use-multi-file-auth-state.cjs +125 -0
- package/cjs/lib/Utils/use-single-file-auth-state.cjs +113 -0
- package/cjs/lib/Utils/use-sqlite-auth-state.cjs +145 -0
- package/cjs/lib/Utils/validate-connection.cjs +210 -0
- package/cjs/lib/WABinary/constants.cjs +1470 -0
- package/cjs/lib/WABinary/decode.cjs +301 -0
- package/cjs/lib/WABinary/encode.cjs +257 -0
- package/cjs/lib/WABinary/generic-utils.cjs +240 -0
- package/cjs/lib/WABinary/index.cjs +22 -0
- package/cjs/lib/WABinary/jid-utils.cjs +114 -0
- package/cjs/lib/WABinary/types.cjs +37 -0
- package/cjs/lib/WAM/BinaryInfo.cjs +14 -0
- package/cjs/lib/WAM/constants.cjs +22856 -0
- package/cjs/lib/WAM/encode.cjs +154 -0
- package/cjs/lib/WAM/index.cjs +20 -0
- package/cjs/lib/WAUSync/Protocols/USyncContactProtocol.cjs +56 -0
- package/cjs/lib/WAUSync/Protocols/USyncDeviceProtocol.cjs +58 -0
- package/cjs/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.cjs +31 -0
- package/cjs/lib/WAUSync/Protocols/USyncStatusProtocol.cjs +42 -0
- package/cjs/lib/WAUSync/Protocols/USyncUsernameProtocol.cjs +29 -0
- package/cjs/lib/WAUSync/Protocols/UsyncBotProfileProtocol.cjs +55 -0
- package/cjs/lib/WAUSync/Protocols/UsyncLIDProtocol.cjs +33 -0
- package/cjs/lib/WAUSync/Protocols/index.cjs +22 -0
- package/cjs/lib/WAUSync/USyncQuery.cjs +102 -0
- package/cjs/lib/WAUSync/USyncUser.cjs +35 -0
- package/cjs/lib/WAUSync/index.cjs +20 -0
- package/cjs/lib/index.cjs +372 -0
- package/cjs/lib/plugins/loader.cjs +117 -0
- package/lib/Defaults/index.js +1 -1
- package/lib/Socket/socket.js +3 -3
- package/lib/Telegram/esm-bridge.mjs +1 -1
- package/package.json +11 -6
|
@@ -0,0 +1,294 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
/** @module CommandInteraction */
|
|
7
|
+
const Interaction_1 = __importDefault(require("./Interaction.cjs"));
|
|
8
|
+
const Attachment_1 = __importDefault(require("./Attachment.cjs"));
|
|
9
|
+
const Member_1 = __importDefault(require("./Member.cjs"));
|
|
10
|
+
const Message_1 = __importDefault(require("./Message.cjs"));
|
|
11
|
+
const Role_1 = __importDefault(require("./Role.cjs"));
|
|
12
|
+
const User_1 = __importDefault(require("./User.cjs"));
|
|
13
|
+
const Permission_1 = __importDefault(require("./Permission.cjs"));
|
|
14
|
+
const GuildChannel_1 = __importDefault(require("./GuildChannel.cjs"));
|
|
15
|
+
const InteractionResolvedChannel_1 = __importDefault(require("./InteractionResolvedChannel.cjs"));
|
|
16
|
+
const TypedCollection_1 = __importDefault(require("../util/TypedCollection.cjs"));
|
|
17
|
+
const Constants_1 = require("../Constants.cjs");
|
|
18
|
+
const InteractionOptionsWrapper_1 = __importDefault(require("../util/interactions/InteractionOptionsWrapper.cjs"));
|
|
19
|
+
const Errors_1 = require("../util/Errors.cjs");
|
|
20
|
+
const MessageInteractionResponse_1 = __importDefault(require("../util/interactions/MessageInteractionResponse.cjs"));
|
|
21
|
+
/** Represents a command interaction. */
|
|
22
|
+
class CommandInteraction extends Interaction_1.default {
|
|
23
|
+
constructor(data, client) {
|
|
24
|
+
super(data, client);
|
|
25
|
+
this.appPermissions = new Permission_1.default(data.app_permissions ?? "0");
|
|
26
|
+
this.attachmentSizeLimit = data.attachment_size_limit;
|
|
27
|
+
this.authorizingIntegrationOwners = data.authorizing_integration_owners;
|
|
28
|
+
this.channelID = data.channel_id;
|
|
29
|
+
this.context = data.context;
|
|
30
|
+
const resolved = {
|
|
31
|
+
attachments: new TypedCollection_1.default(Attachment_1.default, client),
|
|
32
|
+
channels: new TypedCollection_1.default(InteractionResolvedChannel_1.default, client),
|
|
33
|
+
members: new TypedCollection_1.default(Member_1.default, client),
|
|
34
|
+
messages: new TypedCollection_1.default(Message_1.default, client),
|
|
35
|
+
roles: new TypedCollection_1.default(Role_1.default, client),
|
|
36
|
+
users: new TypedCollection_1.default(User_1.default, client)
|
|
37
|
+
};
|
|
38
|
+
this.entitlements = data.entitlements?.map(entitlement => client.util.updateEntitlement(entitlement)) ?? [];
|
|
39
|
+
this.guildID = (data.guild_id ?? null);
|
|
40
|
+
this.guildLocale = data.guild_locale;
|
|
41
|
+
this.guildPartial = data.guild;
|
|
42
|
+
this.locale = data.locale;
|
|
43
|
+
this.member = (data.member === undefined ? null : this.client.util.updateMember(data.guild_id, data.member.user.id, data.member));
|
|
44
|
+
this.memberPermissions = (data.member === undefined ? null : new Permission_1.default(data.member.permissions));
|
|
45
|
+
this.user = client.users.update((data.user ?? data.member.user));
|
|
46
|
+
if (data.data.resolved) {
|
|
47
|
+
if (data.data.resolved.attachments) {
|
|
48
|
+
for (const attachment of Object.values(data.data.resolved.attachments))
|
|
49
|
+
resolved.attachments.update(attachment);
|
|
50
|
+
}
|
|
51
|
+
if (data.data.resolved.channels) {
|
|
52
|
+
for (const channel of Object.values(data.data.resolved.channels))
|
|
53
|
+
resolved.channels.update(channel);
|
|
54
|
+
}
|
|
55
|
+
if (data.data.resolved.members) {
|
|
56
|
+
for (const [id, member] of Object.entries(data.data.resolved.members)) {
|
|
57
|
+
const m = member;
|
|
58
|
+
m.user = data.data.resolved.users[id];
|
|
59
|
+
resolved.members.add(client.util.updateMember(data.guild_id, id, m));
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
if (data.data.resolved.messages) {
|
|
63
|
+
for (const message of Object.values(data.data.resolved.messages)) {
|
|
64
|
+
const channel = client.getChannel(message.channel_id);
|
|
65
|
+
if (channel && "messages" in channel) {
|
|
66
|
+
resolved.messages.add(channel.messages.update(message));
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
resolved.messages.update(message);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
if (data.data.resolved.roles) {
|
|
74
|
+
for (const role of Object.values(data.data.resolved.roles)) {
|
|
75
|
+
try {
|
|
76
|
+
resolved.roles.add(this.guild?.roles.update(role, this.guildID) ?? new Role_1.default(role, client, this.guildID));
|
|
77
|
+
}
|
|
78
|
+
catch {
|
|
79
|
+
resolved.roles.add(new Role_1.default(role, client, this.guildID));
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
if (data.data.resolved.users) {
|
|
84
|
+
for (const user of Object.values(data.data.resolved.users))
|
|
85
|
+
resolved.users.add(client.users.update(user));
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
this.data = {
|
|
89
|
+
guildID: data.data.guild_id,
|
|
90
|
+
id: data.data.id,
|
|
91
|
+
name: data.data.name,
|
|
92
|
+
options: new InteractionOptionsWrapper_1.default(data.data.options ?? [], resolved ?? null),
|
|
93
|
+
resolved,
|
|
94
|
+
target: null,
|
|
95
|
+
targetID: data.data.target_id,
|
|
96
|
+
type: data.data.type
|
|
97
|
+
};
|
|
98
|
+
if (this.data.targetID) {
|
|
99
|
+
if (this.data.type === Constants_1.ApplicationCommandTypes.USER) {
|
|
100
|
+
this.data.target = resolved.users.get(this.data.targetID);
|
|
101
|
+
}
|
|
102
|
+
else if (this.data.type === Constants_1.ApplicationCommandTypes.MESSAGE) {
|
|
103
|
+
this.data.target = resolved.messages.get(this.data.targetID);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
/** The channel this interaction was sent from. */
|
|
108
|
+
get channel() {
|
|
109
|
+
return this._cachedChannel ?? (this._cachedChannel = this.client.getChannel(this.channelID));
|
|
110
|
+
}
|
|
111
|
+
/** The guild this interaction was sent from, if applicable. This will throw an error if the guild is not cached. */
|
|
112
|
+
get guild() {
|
|
113
|
+
if (this.guildID !== null && this._cachedGuild !== null) {
|
|
114
|
+
this._cachedGuild ?? (this._cachedGuild = this.client.guilds.get(this.guildID));
|
|
115
|
+
if (!this._cachedGuild) {
|
|
116
|
+
throw new Errors_1.UncachedError(this, "guild", "GUILDS", this.client);
|
|
117
|
+
}
|
|
118
|
+
return this._cachedGuild;
|
|
119
|
+
}
|
|
120
|
+
return this._cachedGuild === null ? this._cachedGuild : (this._cachedGuild = null);
|
|
121
|
+
}
|
|
122
|
+
async createFollowup(content, options) {
|
|
123
|
+
if (typeof content === "string") {
|
|
124
|
+
options = {
|
|
125
|
+
...options,
|
|
126
|
+
content
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
else
|
|
130
|
+
options = content;
|
|
131
|
+
const message = await this.client.rest.interactions.createFollowupMessage(this.applicationID, this.token, options);
|
|
132
|
+
return new MessageInteractionResponse_1.default(this, message, "followup", null);
|
|
133
|
+
}
|
|
134
|
+
async createMessage(content, options) {
|
|
135
|
+
if (typeof content === "string") {
|
|
136
|
+
options = {
|
|
137
|
+
...options,
|
|
138
|
+
content
|
|
139
|
+
};
|
|
140
|
+
}
|
|
141
|
+
else
|
|
142
|
+
options = content;
|
|
143
|
+
if (this.acknowledged) {
|
|
144
|
+
throw new TypeError("Interactions cannot have more than one initial response.");
|
|
145
|
+
}
|
|
146
|
+
this.acknowledged = true;
|
|
147
|
+
const cb = await this.client.rest.interactions.createInteractionResponse(this.id, this.token, { type: Constants_1.InteractionResponseTypes.CHANNEL_MESSAGE_WITH_SOURCE, data: options }, true);
|
|
148
|
+
return new MessageInteractionResponse_1.default(this, null, "initial", cb);
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Respond to this interaction with a modal. This is an initial response, and more than one initial response cannot be used.
|
|
152
|
+
* @param options The options for the modal.
|
|
153
|
+
*/
|
|
154
|
+
async createModal(options) {
|
|
155
|
+
if (this.acknowledged) {
|
|
156
|
+
throw new TypeError("Interactions cannot have more than one initial response.");
|
|
157
|
+
}
|
|
158
|
+
this.acknowledged = true;
|
|
159
|
+
return this.client.rest.interactions.createInteractionResponse(this.id, this.token, { type: Constants_1.InteractionResponseTypes.MODAL, data: options }, true);
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Defer this interaction. This is an initial response, and more than one initial response cannot be used.
|
|
163
|
+
* @param flags The [flags](https://discord.com/developers/docs/resources/channel#message-object-message-flags) to respond with.
|
|
164
|
+
*/
|
|
165
|
+
async defer(flags) {
|
|
166
|
+
if (this.acknowledged) {
|
|
167
|
+
throw new TypeError("Interactions cannot have more than one initial response.");
|
|
168
|
+
}
|
|
169
|
+
this.acknowledged = true;
|
|
170
|
+
return this.client.rest.interactions.createInteractionResponse(this.id, this.token, { type: Constants_1.InteractionResponseTypes.DEFERRED_CHANNEL_MESSAGE_WITH_SOURCE, data: { flags } }, true);
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* Delete a follow-up message.
|
|
174
|
+
* @param messageID The ID of the message.
|
|
175
|
+
*/
|
|
176
|
+
async deleteFollowup(messageID) {
|
|
177
|
+
return this.client.rest.interactions.deleteFollowupMessage(this.applicationID, this.token, messageID);
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* Delete the original interaction response.
|
|
181
|
+
*/
|
|
182
|
+
async deleteOriginal() {
|
|
183
|
+
return this.client.rest.interactions.deleteOriginalMessage(this.applicationID, this.token);
|
|
184
|
+
}
|
|
185
|
+
async editFollowup(messageID, content, options) {
|
|
186
|
+
if (typeof content === "string") {
|
|
187
|
+
options = {
|
|
188
|
+
...options,
|
|
189
|
+
content
|
|
190
|
+
};
|
|
191
|
+
}
|
|
192
|
+
else
|
|
193
|
+
options = content;
|
|
194
|
+
return this.client.rest.interactions.editFollowupMessage(this.applicationID, this.token, messageID, options);
|
|
195
|
+
}
|
|
196
|
+
async editOriginal(content, options) {
|
|
197
|
+
if (typeof content === "string") {
|
|
198
|
+
options = {
|
|
199
|
+
...options,
|
|
200
|
+
content
|
|
201
|
+
};
|
|
202
|
+
}
|
|
203
|
+
else
|
|
204
|
+
options = content;
|
|
205
|
+
return this.client.rest.interactions.editOriginalMessage(this.applicationID, this.token, options);
|
|
206
|
+
}
|
|
207
|
+
/**
|
|
208
|
+
* Get a followup message.
|
|
209
|
+
* @param messageID The ID of the message.
|
|
210
|
+
*/
|
|
211
|
+
async getFollowup(messageID) {
|
|
212
|
+
return this.client.rest.interactions.getFollowupMessage(this.applicationID, this.token, messageID);
|
|
213
|
+
}
|
|
214
|
+
/**
|
|
215
|
+
* Get the original interaction response.
|
|
216
|
+
*/
|
|
217
|
+
async getOriginal() {
|
|
218
|
+
return this.client.rest.interactions.getOriginalMessage(this.applicationID, this.token);
|
|
219
|
+
}
|
|
220
|
+
/** Whether this interaction belongs to a cached guild channel. The only difference on using this method over a simple if statement is to easily update all the interaction properties typing definitions based on the channel it belongs to. */
|
|
221
|
+
inCachedGuildChannel() {
|
|
222
|
+
return this.channel instanceof GuildChannel_1.default;
|
|
223
|
+
}
|
|
224
|
+
/** Whether this interaction belongs to a private channel (PrivateChannel or uncached). The only difference on using this method over a simple if statement is to easily update all the interaction properties typing definitions based on the channel it belongs to. */
|
|
225
|
+
inPrivateChannel() {
|
|
226
|
+
return this.guildID === null;
|
|
227
|
+
}
|
|
228
|
+
/** A type guard, checking if this command interaction is a {@link Constants~ApplicationCommandTypes.CHAT_INPUT | Chat Input} command. */
|
|
229
|
+
isChatInputCommand() {
|
|
230
|
+
return this.data.type === Constants_1.ApplicationCommandTypes.CHAT_INPUT;
|
|
231
|
+
}
|
|
232
|
+
/** A type guard, checking if this command interaction is a {@link Constants~ApplicationCommandTypes.MESSAGE | Message} command. */
|
|
233
|
+
isMessageCommand() {
|
|
234
|
+
return this.data.type === Constants_1.ApplicationCommandTypes.MESSAGE;
|
|
235
|
+
}
|
|
236
|
+
/** A type guard, checking if this command interaction is a {@link Constants~ApplicationCommandTypes.PRIMARY_ENTRY_POINT | Primary Entry Point} command. */
|
|
237
|
+
isPrimaryEntryPointCommand() {
|
|
238
|
+
return this.data.type === Constants_1.ApplicationCommandTypes.PRIMARY_ENTRY_POINT;
|
|
239
|
+
}
|
|
240
|
+
/** A type guard, checking if this command interaction is a {@link Constants~ApplicationCommandTypes.USER | User} command. */
|
|
241
|
+
isUserCommand() {
|
|
242
|
+
return this.data.type === Constants_1.ApplicationCommandTypes.USER;
|
|
243
|
+
}
|
|
244
|
+
/**
|
|
245
|
+
* Launch the bot's activity. This is an initial response, and more than one initial response cannot be used.
|
|
246
|
+
*/
|
|
247
|
+
async launchActivity() {
|
|
248
|
+
if (this.acknowledged) {
|
|
249
|
+
throw new TypeError("Interactions cannot have more than one initial response.");
|
|
250
|
+
}
|
|
251
|
+
this.acknowledged = true;
|
|
252
|
+
return this.client.rest.interactions.createInteractionResponse(this.id, this.token, { type: Constants_1.InteractionResponseTypes.LAUNCH_ACTIVITY }, true);
|
|
253
|
+
}
|
|
254
|
+
/**
|
|
255
|
+
* Show a "premium required" response to the user. This is an initial response, and more than one initial response cannot be used.
|
|
256
|
+
* @deprecated The {@link Constants~InteractionResponseTypes.PREMIUM_REQUIRED | PREMIUM_REQUIRED} interaction response type is now deprecated in favor of using {@link Types/Channels~PremiumButton | custom premium buttons}.
|
|
257
|
+
*/
|
|
258
|
+
async premiumRequired() {
|
|
259
|
+
if (this.acknowledged) {
|
|
260
|
+
throw new TypeError("Interactions cannot have more than one initial response.");
|
|
261
|
+
}
|
|
262
|
+
this.acknowledged = true;
|
|
263
|
+
return this.client.rest.interactions.createInteractionResponse(this.id, this.token, { type: Constants_1.InteractionResponseTypes.PREMIUM_REQUIRED }, true);
|
|
264
|
+
}
|
|
265
|
+
async reply(content, options) {
|
|
266
|
+
if (typeof content === "string") {
|
|
267
|
+
options = {
|
|
268
|
+
...options,
|
|
269
|
+
content
|
|
270
|
+
};
|
|
271
|
+
}
|
|
272
|
+
else
|
|
273
|
+
options = content;
|
|
274
|
+
return this.acknowledged ? this.createFollowup(options) : this.createMessage(options);
|
|
275
|
+
}
|
|
276
|
+
toJSON() {
|
|
277
|
+
return {
|
|
278
|
+
...super.toJSON(),
|
|
279
|
+
appPermissions: this.appPermissions.toJSON(),
|
|
280
|
+
attachmentSizeLimit: this.attachmentSizeLimit,
|
|
281
|
+
authorizingIntegrationOwners: this.authorizingIntegrationOwners,
|
|
282
|
+
channelID: this.channelID,
|
|
283
|
+
context: this.context,
|
|
284
|
+
data: this.data,
|
|
285
|
+
guildID: this.guildID ?? undefined,
|
|
286
|
+
guildLocale: this.guildLocale,
|
|
287
|
+
locale: this.locale,
|
|
288
|
+
member: this.member?.toJSON(),
|
|
289
|
+
type: this.type,
|
|
290
|
+
user: this.user.toJSON()
|
|
291
|
+
};
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
exports.default = CommandInteraction;
|
|
@@ -0,0 +1,306 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
/** @module ComponentInteraction */
|
|
7
|
+
const Interaction_1 = __importDefault(require("./Interaction.cjs"));
|
|
8
|
+
const Message_1 = __importDefault(require("./Message.cjs"));
|
|
9
|
+
const Member_1 = __importDefault(require("./Member.cjs"));
|
|
10
|
+
const Permission_1 = __importDefault(require("./Permission.cjs"));
|
|
11
|
+
const GuildChannel_1 = __importDefault(require("./GuildChannel.cjs"));
|
|
12
|
+
const Role_1 = __importDefault(require("./Role.cjs"));
|
|
13
|
+
const User_1 = __importDefault(require("./User.cjs"));
|
|
14
|
+
const InteractionResolvedChannel_1 = __importDefault(require("./InteractionResolvedChannel.cjs"));
|
|
15
|
+
const Constants_1 = require("../Constants.cjs");
|
|
16
|
+
const SelectMenuValuesWrapper_1 = __importDefault(require("../util/interactions/SelectMenuValuesWrapper.cjs"));
|
|
17
|
+
const TypedCollection_1 = __importDefault(require("../util/TypedCollection.cjs"));
|
|
18
|
+
const Errors_1 = require("../util/Errors.cjs");
|
|
19
|
+
const MessageInteractionResponse_1 = __importDefault(require("../util/interactions/MessageInteractionResponse.cjs"));
|
|
20
|
+
/** Represents a component interaction. */
|
|
21
|
+
class ComponentInteraction extends Interaction_1.default {
|
|
22
|
+
constructor(data, client) {
|
|
23
|
+
super(data, client);
|
|
24
|
+
if (data.message !== undefined && data.guild_id !== undefined) {
|
|
25
|
+
data.message.guild_id = data.guild_id;
|
|
26
|
+
}
|
|
27
|
+
this.appPermissions = new Permission_1.default(data.app_permissions ?? "0");
|
|
28
|
+
this.attachmentSizeLimit = data.attachment_size_limit;
|
|
29
|
+
this.authorizingIntegrationOwners = data.authorizing_integration_owners;
|
|
30
|
+
this.channelID = data.channel_id;
|
|
31
|
+
this.context = data.context;
|
|
32
|
+
this.entitlements = data.entitlements?.map(entitlement => client.util.updateEntitlement(entitlement)) ?? [];
|
|
33
|
+
this.guildID = (data.guild_id ?? null);
|
|
34
|
+
this.guildLocale = data.guild_locale;
|
|
35
|
+
this.guildPartial = data.guild;
|
|
36
|
+
this.locale = data.locale;
|
|
37
|
+
this.member = (data.member === undefined ? null : this.client.util.updateMember(data.guild_id, data.member.user.id, data.member));
|
|
38
|
+
this.memberPermissions = (data.member === undefined ? null : new Permission_1.default(data.member.permissions));
|
|
39
|
+
this.message = (this.channel && "messages" in this.channel && this.channel.messages.update(data.message)) || new Message_1.default(data.message, client);
|
|
40
|
+
this.user = client.users.update((data.user ?? data.member.user));
|
|
41
|
+
switch (data.data.component_type) {
|
|
42
|
+
case Constants_1.ComponentTypes.BUTTON: {
|
|
43
|
+
this.data = {
|
|
44
|
+
componentType: data.data.component_type,
|
|
45
|
+
customID: data.data.custom_id
|
|
46
|
+
};
|
|
47
|
+
break;
|
|
48
|
+
}
|
|
49
|
+
case Constants_1.ComponentTypes.STRING_SELECT:
|
|
50
|
+
case Constants_1.ComponentTypes.USER_SELECT:
|
|
51
|
+
case Constants_1.ComponentTypes.ROLE_SELECT:
|
|
52
|
+
case Constants_1.ComponentTypes.MENTIONABLE_SELECT:
|
|
53
|
+
case Constants_1.ComponentTypes.CHANNEL_SELECT: {
|
|
54
|
+
const resolved = {
|
|
55
|
+
channels: new TypedCollection_1.default(InteractionResolvedChannel_1.default, client),
|
|
56
|
+
members: new TypedCollection_1.default(Member_1.default, client),
|
|
57
|
+
roles: new TypedCollection_1.default(Role_1.default, client),
|
|
58
|
+
users: new TypedCollection_1.default(User_1.default, client)
|
|
59
|
+
};
|
|
60
|
+
if (data.data.resolved) {
|
|
61
|
+
if (data.data.resolved.channels) {
|
|
62
|
+
for (const channel of Object.values(data.data.resolved.channels))
|
|
63
|
+
resolved.channels.update(channel);
|
|
64
|
+
}
|
|
65
|
+
if (data.data.resolved.members) {
|
|
66
|
+
for (const [id, member] of Object.entries(data.data.resolved.members)) {
|
|
67
|
+
const m = member;
|
|
68
|
+
m.user = data.data.resolved.users[id];
|
|
69
|
+
resolved.members.add(client.util.updateMember(data.guild_id, id, m));
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
if (data.data.resolved.roles) {
|
|
73
|
+
for (const role of Object.values(data.data.resolved.roles)) {
|
|
74
|
+
try {
|
|
75
|
+
resolved.roles.add(this.guild?.roles.update(role, this.guildID) ?? new Role_1.default(role, client, this.guildID));
|
|
76
|
+
}
|
|
77
|
+
catch {
|
|
78
|
+
resolved.roles.add(new Role_1.default(role, client, this.guildID));
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
if (data.data.resolved.users) {
|
|
83
|
+
for (const user of Object.values(data.data.resolved.users))
|
|
84
|
+
resolved.users.add(client.users.update(user));
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
this.data = {
|
|
88
|
+
componentType: data.data.component_type,
|
|
89
|
+
customID: data.data.custom_id,
|
|
90
|
+
values: new SelectMenuValuesWrapper_1.default(resolved, data.data.values),
|
|
91
|
+
resolved
|
|
92
|
+
};
|
|
93
|
+
break;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
/** The channel this interaction was sent from. */
|
|
98
|
+
get channel() {
|
|
99
|
+
return this._cachedChannel ?? (this._cachedChannel = this.client.getChannel(this.channelID));
|
|
100
|
+
}
|
|
101
|
+
/** The guild this interaction was sent from, if applicable. This will throw an error if the guild is not cached. */
|
|
102
|
+
get guild() {
|
|
103
|
+
if (this.guildID !== null && this._cachedGuild !== null) {
|
|
104
|
+
this._cachedGuild = this.client.guilds.get(this.guildID);
|
|
105
|
+
if (!this._cachedGuild) {
|
|
106
|
+
throw new Errors_1.UncachedError(this, "guild", "GUILDS", this.client);
|
|
107
|
+
}
|
|
108
|
+
return this._cachedGuild;
|
|
109
|
+
}
|
|
110
|
+
return this._cachedGuild === null ? this._cachedGuild : (this._cachedGuild = null);
|
|
111
|
+
}
|
|
112
|
+
async createFollowup(content, options) {
|
|
113
|
+
if (typeof content === "string") {
|
|
114
|
+
options = {
|
|
115
|
+
...options,
|
|
116
|
+
content
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
else
|
|
120
|
+
options = content;
|
|
121
|
+
const message = await this.client.rest.interactions.createFollowupMessage(this.applicationID, this.token, options);
|
|
122
|
+
return new MessageInteractionResponse_1.default(this, message, "followup", null);
|
|
123
|
+
}
|
|
124
|
+
async createMessage(content, options) {
|
|
125
|
+
if (typeof content === "string") {
|
|
126
|
+
options = {
|
|
127
|
+
...options,
|
|
128
|
+
content
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
else
|
|
132
|
+
options = content;
|
|
133
|
+
if (this.acknowledged) {
|
|
134
|
+
throw new TypeError("Interactions cannot have more than one initial response.");
|
|
135
|
+
}
|
|
136
|
+
this.acknowledged = true;
|
|
137
|
+
const cb = await this.client.rest.interactions.createInteractionResponse(this.id, this.token, { type: Constants_1.InteractionResponseTypes.CHANNEL_MESSAGE_WITH_SOURCE, data: options }, true);
|
|
138
|
+
return new MessageInteractionResponse_1.default(this, null, "initial", cb);
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Respond to this interaction with a modal. This is an initial response, and more than one initial response cannot be used.
|
|
142
|
+
* @param options The options for the modal.
|
|
143
|
+
*/
|
|
144
|
+
async createModal(options) {
|
|
145
|
+
if (this.acknowledged) {
|
|
146
|
+
throw new TypeError("Interactions cannot have more than one initial response.");
|
|
147
|
+
}
|
|
148
|
+
this.acknowledged = true;
|
|
149
|
+
return this.client.rest.interactions.createInteractionResponse(this.id, this.token, { type: Constants_1.InteractionResponseTypes.MODAL, data: options }, true);
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Defer this interaction with a `DEFERRED_CHANNEL_MESSAGE_WITH_SOURCE` response. This is an initial response, and more than one initial response cannot be used.
|
|
153
|
+
* @param flags The [flags](https://discord.com/developers/docs/resources/channel#message-object-message-flags) to respond with.
|
|
154
|
+
*/
|
|
155
|
+
async defer(flags) {
|
|
156
|
+
if (this.acknowledged) {
|
|
157
|
+
throw new TypeError("Interactions cannot have more than one initial response.");
|
|
158
|
+
}
|
|
159
|
+
this.acknowledged = true;
|
|
160
|
+
return this.client.rest.interactions.createInteractionResponse(this.id, this.token, { type: Constants_1.InteractionResponseTypes.DEFERRED_CHANNEL_MESSAGE_WITH_SOURCE, data: { flags } }, true);
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Defer this interaction with a `DEFERRED_UPDATE_MESSAGE` response. This is an initial response, and more than one initial response cannot be used.
|
|
164
|
+
* @param flags The [flags](https://discord.com/developers/docs/resources/channel#message-object-message-flags) to respond with.
|
|
165
|
+
*/
|
|
166
|
+
async deferUpdate(flags) {
|
|
167
|
+
if (this.acknowledged) {
|
|
168
|
+
throw new TypeError("Interactions cannot have more than one initial response.");
|
|
169
|
+
}
|
|
170
|
+
this.acknowledged = true;
|
|
171
|
+
return this.client.rest.interactions.createInteractionResponse(this.id, this.token, { type: Constants_1.InteractionResponseTypes.DEFERRED_UPDATE_MESSAGE, data: { flags } }, true);
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Delete a follow-up message.
|
|
175
|
+
* @param messageID The ID of the message.
|
|
176
|
+
*/
|
|
177
|
+
async deleteFollowup(messageID) {
|
|
178
|
+
return this.client.rest.interactions.deleteFollowupMessage(this.applicationID, this.token, messageID);
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* Delete the original interaction response.
|
|
182
|
+
*/
|
|
183
|
+
async deleteOriginal() {
|
|
184
|
+
return this.client.rest.interactions.deleteOriginalMessage(this.applicationID, this.token);
|
|
185
|
+
}
|
|
186
|
+
async editFollowup(messageID, content, options) {
|
|
187
|
+
if (typeof content === "string") {
|
|
188
|
+
options = {
|
|
189
|
+
...options,
|
|
190
|
+
content
|
|
191
|
+
};
|
|
192
|
+
}
|
|
193
|
+
else
|
|
194
|
+
options = content;
|
|
195
|
+
return this.client.rest.interactions.editFollowupMessage(this.applicationID, this.token, messageID, options);
|
|
196
|
+
}
|
|
197
|
+
async editOriginal(content, options) {
|
|
198
|
+
if (typeof content === "string") {
|
|
199
|
+
options = {
|
|
200
|
+
...options,
|
|
201
|
+
content
|
|
202
|
+
};
|
|
203
|
+
}
|
|
204
|
+
else
|
|
205
|
+
options = content;
|
|
206
|
+
return this.client.rest.interactions.editOriginalMessage(this.applicationID, this.token, options);
|
|
207
|
+
}
|
|
208
|
+
async editParent(content, options) {
|
|
209
|
+
if (typeof content === "string") {
|
|
210
|
+
options = {
|
|
211
|
+
...options,
|
|
212
|
+
content
|
|
213
|
+
};
|
|
214
|
+
}
|
|
215
|
+
else
|
|
216
|
+
options = content;
|
|
217
|
+
if (this.acknowledged) {
|
|
218
|
+
throw new TypeError("Interactions cannot have more than one initial response.");
|
|
219
|
+
}
|
|
220
|
+
this.acknowledged = true;
|
|
221
|
+
return this.client.rest.interactions.createInteractionResponse(this.id, this.token, { type: Constants_1.InteractionResponseTypes.UPDATE_MESSAGE, data: options }, true);
|
|
222
|
+
}
|
|
223
|
+
/**
|
|
224
|
+
* Get a followup message.
|
|
225
|
+
* @param messageID The ID of the message.
|
|
226
|
+
*/
|
|
227
|
+
async getFollowup(messageID) {
|
|
228
|
+
return this.client.rest.interactions.getFollowupMessage(this.applicationID, this.token, messageID);
|
|
229
|
+
}
|
|
230
|
+
/**
|
|
231
|
+
* Get the original interaction response.
|
|
232
|
+
*/
|
|
233
|
+
async getOriginal() {
|
|
234
|
+
return this.client.rest.interactions.getOriginalMessage(this.applicationID, this.token);
|
|
235
|
+
}
|
|
236
|
+
/** Whether this interaction belongs to a cached guild channel. The only difference on using this method over a simple if statement is to easily update all the interaction properties typing definitions based on the channel it belongs to. */
|
|
237
|
+
inCachedGuildChannel() {
|
|
238
|
+
return this.channel instanceof GuildChannel_1.default;
|
|
239
|
+
}
|
|
240
|
+
/** Whether this interaction belongs to a private channel (PrivateChannel or uncached). The only difference on using this method over a simple if statement is to easily update all the interaction properties typing definitions based on the channel it belongs to. */
|
|
241
|
+
inPrivateChannel() {
|
|
242
|
+
return this.guildID === null;
|
|
243
|
+
}
|
|
244
|
+
/** Whether this interaction is a button interaction. The only difference on using this method over a simple if statement is to easily update all the interaction properties typing definitions based on the component type. */
|
|
245
|
+
isButtonComponentInteraction() {
|
|
246
|
+
return this.data.componentType === Constants_1.ComponentTypes.BUTTON;
|
|
247
|
+
}
|
|
248
|
+
/** Whether this interaction is a select menu interaction. The only difference on using this method over a simple if statement is to easily update all the interaction properties typing definitions based on the component type. */
|
|
249
|
+
isSelectMenuComponentInteraction() {
|
|
250
|
+
return this.data.componentType === Constants_1.ComponentTypes.STRING_SELECT
|
|
251
|
+
|| this.data.componentType === Constants_1.ComponentTypes.CHANNEL_SELECT
|
|
252
|
+
|| this.data.componentType === Constants_1.ComponentTypes.ROLE_SELECT
|
|
253
|
+
|| this.data.componentType === Constants_1.ComponentTypes.MENTIONABLE_SELECT
|
|
254
|
+
|| this.data.componentType === Constants_1.ComponentTypes.USER_SELECT;
|
|
255
|
+
}
|
|
256
|
+
/**
|
|
257
|
+
* Launch the bot's activity. This is an initial response, and more than one initial response cannot be used.
|
|
258
|
+
*/
|
|
259
|
+
async launchActivity() {
|
|
260
|
+
if (this.acknowledged) {
|
|
261
|
+
throw new TypeError("Interactions cannot have more than one initial response.");
|
|
262
|
+
}
|
|
263
|
+
this.acknowledged = true;
|
|
264
|
+
return this.client.rest.interactions.createInteractionResponse(this.id, this.token, { type: Constants_1.InteractionResponseTypes.LAUNCH_ACTIVITY }, true);
|
|
265
|
+
}
|
|
266
|
+
/**
|
|
267
|
+
* Show a "premium required" response to the user. This is an initial response, and more than one initial response cannot be used.
|
|
268
|
+
* @deprecated The {@link Constants~InteractionResponseTypes.PREMIUM_REQUIRED | PREMIUM_REQUIRED} interaction response type is now deprecated in favor of using {@link Types/Channels~PremiumButton | custom premium buttons}.
|
|
269
|
+
*/
|
|
270
|
+
async premiumRequired() {
|
|
271
|
+
if (this.acknowledged) {
|
|
272
|
+
throw new TypeError("Interactions cannot have more than one initial response.");
|
|
273
|
+
}
|
|
274
|
+
this.acknowledged = true;
|
|
275
|
+
return this.client.rest.interactions.createInteractionResponse(this.id, this.token, { type: Constants_1.InteractionResponseTypes.PREMIUM_REQUIRED }, true);
|
|
276
|
+
}
|
|
277
|
+
async reply(content, options) {
|
|
278
|
+
if (typeof content === "string") {
|
|
279
|
+
options = {
|
|
280
|
+
...options,
|
|
281
|
+
content
|
|
282
|
+
};
|
|
283
|
+
}
|
|
284
|
+
else
|
|
285
|
+
options = content;
|
|
286
|
+
return this.acknowledged ? this.createFollowup(options) : this.createMessage(options);
|
|
287
|
+
}
|
|
288
|
+
toJSON() {
|
|
289
|
+
return {
|
|
290
|
+
...super.toJSON(),
|
|
291
|
+
appPermissions: this.appPermissions.toJSON(),
|
|
292
|
+
attachmentSizeLimit: this.attachmentSizeLimit,
|
|
293
|
+
authorizingIntegrationOwners: this.authorizingIntegrationOwners,
|
|
294
|
+
channelID: this.channelID,
|
|
295
|
+
context: this.context,
|
|
296
|
+
data: this.data,
|
|
297
|
+
guildID: this.guildID ?? undefined,
|
|
298
|
+
guildLocale: this.guildLocale,
|
|
299
|
+
locale: this.locale,
|
|
300
|
+
member: this.member?.toJSON(),
|
|
301
|
+
type: this.type,
|
|
302
|
+
user: this.user.toJSON()
|
|
303
|
+
};
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
exports.default = ComponentInteraction;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const BaseEntitlement_1 = __importDefault(require("./BaseEntitlement.cjs"));
|
|
7
|
+
/** Represents an entitlement. */
|
|
8
|
+
class Entitlement extends BaseEntitlement_1.default {
|
|
9
|
+
constructor(data, client) {
|
|
10
|
+
super(data, client);
|
|
11
|
+
this.endsAt = data.ends_at ? new Date(data.ends_at) : null;
|
|
12
|
+
this.startsAt = data.starts_at ? new Date(data.starts_at) : null;
|
|
13
|
+
this.subscriptionID = data.subscription_id;
|
|
14
|
+
}
|
|
15
|
+
toJSON() {
|
|
16
|
+
return {
|
|
17
|
+
...super.toJSON(),
|
|
18
|
+
endsAt: this.endsAt?.getTime() || null,
|
|
19
|
+
startsAt: this.startsAt?.getTime() || null,
|
|
20
|
+
subscriptionID: this.subscriptionID
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
exports.default = Entitlement;
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
/** @module ExtendedUser */
|
|
7
|
+
const User_1 = __importDefault(require("./User.cjs"));
|
|
8
|
+
/** Represents the currently authenticated user. */
|
|
9
|
+
class ExtendedUser extends User_1.default {
|
|
10
|
+
constructor(data, client) {
|
|
11
|
+
super(data, client);
|
|
12
|
+
this.email = data.email;
|
|
13
|
+
this.flags = data.flags;
|
|
14
|
+
this.verified = !!data.verified;
|
|
15
|
+
this.mfaEnabled = !!data.mfa_enabled;
|
|
16
|
+
this.update(data);
|
|
17
|
+
}
|
|
18
|
+
update(data) {
|
|
19
|
+
super.update(data);
|
|
20
|
+
if (data.email !== undefined) {
|
|
21
|
+
this.email = data.email;
|
|
22
|
+
}
|
|
23
|
+
if (data.flags !== undefined) {
|
|
24
|
+
this.flags = data.flags;
|
|
25
|
+
}
|
|
26
|
+
if (data.locale !== undefined) {
|
|
27
|
+
this.locale = data.locale;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Modify this user.
|
|
32
|
+
* @param options The options for editing the user.
|
|
33
|
+
*/
|
|
34
|
+
async edit(options) {
|
|
35
|
+
return this.client.rest.users.editSelf(options);
|
|
36
|
+
}
|
|
37
|
+
toJSON() {
|
|
38
|
+
return {
|
|
39
|
+
...super.toJSON(),
|
|
40
|
+
email: this.email,
|
|
41
|
+
flags: this.flags,
|
|
42
|
+
locale: this.locale,
|
|
43
|
+
mfaEnabled: this.mfaEnabled,
|
|
44
|
+
verified: this.verified
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
exports.default = ExtendedUser;
|