oceanic.js 1.10.3-dev.c6c9f52 → 1.10.3-dev.ca8b6e8
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/dist/lib/Client.d.ts +99 -0
- package/dist/lib/Client.js +263 -0
- package/dist/lib/Constants.d.ts +1215 -0
- package/dist/lib/Constants.js +1513 -0
- package/dist/lib/gateway/Shard.d.ts +83 -0
- package/dist/lib/gateway/Shard.js +1621 -0
- package/dist/lib/gateway/ShardManager.d.ts +29 -0
- package/dist/lib/gateway/ShardManager.js +300 -0
- package/dist/lib/index.d.ts +84 -0
- package/dist/lib/index.js +168 -0
- package/dist/lib/rest/Bucket.d.ts +33 -0
- package/dist/lib/rest/Bucket.js +78 -0
- package/dist/lib/rest/DiscordHTTPError.d.ts +16 -0
- package/dist/lib/rest/DiscordHTTPError.js +65 -0
- package/dist/lib/rest/DiscordRESTError.d.ts +19 -0
- package/dist/lib/rest/DiscordRESTError.js +89 -0
- package/dist/lib/rest/OAuthHelper.d.ts +62 -0
- package/dist/lib/rest/OAuthHelper.js +183 -0
- package/dist/lib/rest/RESTManager.d.ts +42 -0
- package/dist/lib/rest/RESTManager.js +82 -0
- package/dist/lib/rest/RequestHandler.d.ts +28 -0
- package/dist/lib/rest/RequestHandler.js +313 -0
- package/dist/lib/rest/SequentialBucket.d.ts +25 -0
- package/dist/lib/rest/SequentialBucket.js +76 -0
- package/dist/lib/routes/Applications.d.ts +171 -0
- package/dist/lib/routes/Applications.js +447 -0
- package/dist/lib/routes/Channels.d.ts +408 -0
- package/dist/lib/routes/Channels.js +1160 -0
- package/dist/lib/routes/Guilds.d.ts +606 -0
- package/dist/lib/routes/Guilds.js +1669 -0
- package/dist/lib/routes/Interactions.d.ts +74 -0
- package/dist/lib/routes/Interactions.js +141 -0
- package/dist/lib/routes/Miscellaneous.d.ts +31 -0
- package/dist/lib/routes/Miscellaneous.js +69 -0
- package/dist/lib/routes/OAuth.d.ts +108 -0
- package/dist/lib/routes/OAuth.js +312 -0
- package/dist/lib/routes/Users.d.ts +32 -0
- package/dist/lib/routes/Users.js +59 -0
- package/dist/lib/routes/Webhooks.d.ts +128 -0
- package/dist/lib/routes/Webhooks.js +265 -0
- package/dist/lib/structures/AnnouncementChannel.d.ts +36 -0
- package/dist/lib/structures/AnnouncementChannel.js +47 -0
- package/dist/lib/structures/AnnouncementThreadChannel.d.ts +18 -0
- package/dist/lib/structures/AnnouncementThreadChannel.js +27 -0
- package/dist/lib/structures/Application.d.ts +102 -0
- package/dist/lib/structures/Application.js +189 -0
- package/dist/lib/structures/ApplicationCommand.d.ts +74 -0
- package/dist/lib/structures/ApplicationCommand.js +141 -0
- package/dist/lib/structures/Attachment.d.ts +34 -0
- package/dist/lib/structures/Attachment.js +64 -0
- package/dist/lib/structures/AuditLogEntry.d.ts +25 -0
- package/dist/lib/structures/AuditLogEntry.js +53 -0
- package/dist/lib/structures/AutoModerationRule.d.ts +49 -0
- package/dist/lib/structures/AutoModerationRule.js +139 -0
- package/dist/lib/structures/AutocompleteInteraction.d.ts +62 -0
- package/dist/lib/structures/AutocompleteInteraction.js +115 -0
- package/dist/lib/structures/Base.d.ts +20 -0
- package/dist/lib/structures/Base.js +58 -0
- package/dist/lib/structures/BaseEntitlement.d.ts +19 -0
- package/dist/lib/structures/BaseEntitlement.js +44 -0
- package/dist/lib/structures/CategoryChannel.d.ts +41 -0
- package/dist/lib/structures/CategoryChannel.js +105 -0
- package/dist/lib/structures/Channel.d.ts +20 -0
- package/dist/lib/structures/Channel.js +91 -0
- package/dist/lib/structures/ClientApplication.d.ts +153 -0
- package/dist/lib/structures/ClientApplication.js +220 -0
- package/dist/lib/structures/CommandInteraction.d.ts +127 -0
- package/dist/lib/structures/CommandInteraction.js +297 -0
- package/dist/lib/structures/ComponentInteraction.d.ts +137 -0
- package/dist/lib/structures/ComponentInteraction.js +311 -0
- package/dist/lib/structures/Entitlement.d.ts +12 -0
- package/dist/lib/structures/Entitlement.js +26 -0
- package/dist/lib/structures/ExtendedUser.d.ts +26 -0
- package/dist/lib/structures/ExtendedUser.js +57 -0
- package/dist/lib/structures/ForumChannel.d.ts +11 -0
- package/dist/lib/structures/ForumChannel.js +19 -0
- package/dist/lib/structures/GroupChannel.d.ts +62 -0
- package/dist/lib/structures/GroupChannel.js +133 -0
- package/dist/lib/structures/Guild.d.ts +654 -0
- package/dist/lib/structures/Guild.js +1319 -0
- package/dist/lib/structures/GuildChannel.d.ts +34 -0
- package/dist/lib/structures/GuildChannel.js +75 -0
- package/dist/lib/structures/GuildPreview.d.ts +50 -0
- package/dist/lib/structures/GuildPreview.js +119 -0
- package/dist/lib/structures/GuildScheduledEvent.d.ts +60 -0
- package/dist/lib/structures/GuildScheduledEvent.js +154 -0
- package/dist/lib/structures/GuildTemplate.d.ts +55 -0
- package/dist/lib/structures/GuildTemplate.js +126 -0
- package/dist/lib/structures/Integration.d.ts +54 -0
- package/dist/lib/structures/Integration.js +156 -0
- package/dist/lib/structures/Interaction.d.ts +40 -0
- package/dist/lib/structures/Interaction.js +90 -0
- package/dist/lib/structures/InteractionResolvedChannel.d.ts +28 -0
- package/dist/lib/structures/InteractionResolvedChannel.js +45 -0
- package/dist/lib/structures/Invite.d.ts +64 -0
- package/dist/lib/structures/Invite.js +193 -0
- package/dist/lib/structures/InviteGuild.d.ts +52 -0
- package/dist/lib/structures/InviteGuild.js +88 -0
- package/dist/lib/structures/MediaChannel.d.ts +11 -0
- package/dist/lib/structures/MediaChannel.js +19 -0
- package/dist/lib/structures/Member.d.ts +122 -0
- package/dist/lib/structures/Member.js +255 -0
- package/dist/lib/structures/Message.d.ts +194 -0
- package/dist/lib/structures/Message.js +477 -0
- package/dist/lib/structures/ModalSubmitInteraction.d.ts +128 -0
- package/dist/lib/structures/ModalSubmitInteraction.js +240 -0
- package/dist/lib/structures/OAuthApplication.d.ts +79 -0
- package/dist/lib/structures/OAuthApplication.js +210 -0
- package/dist/lib/structures/OAuthGuild.d.ts +35 -0
- package/dist/lib/structures/OAuthGuild.js +61 -0
- package/dist/lib/structures/PartialApplication.d.ts +30 -0
- package/dist/lib/structures/PartialApplication.js +67 -0
- package/dist/lib/structures/Permission.d.ts +21 -0
- package/dist/lib/structures/Permission.js +68 -0
- package/dist/lib/structures/PermissionOverwrite.d.ts +26 -0
- package/dist/lib/structures/PermissionOverwrite.js +49 -0
- package/dist/lib/structures/PingInteraction.d.ts +16 -0
- package/dist/lib/structures/PingInteraction.js +26 -0
- package/dist/lib/structures/Poll.d.ts +28 -0
- package/dist/lib/structures/Poll.js +78 -0
- package/dist/lib/structures/PrivateChannel.d.ts +90 -0
- package/dist/lib/structures/PrivateChannel.js +131 -0
- package/dist/lib/structures/PrivateThreadChannel.d.ts +18 -0
- package/dist/lib/structures/PrivateThreadChannel.js +27 -0
- package/dist/lib/structures/PublicThreadChannel.d.ts +21 -0
- package/dist/lib/structures/PublicThreadChannel.js +37 -0
- package/dist/lib/structures/Role.d.ts +52 -0
- package/dist/lib/structures/Role.js +137 -0
- package/dist/lib/structures/SKU.d.ts +32 -0
- package/dist/lib/structures/SKU.js +53 -0
- package/dist/lib/structures/StageChannel.d.ts +33 -0
- package/dist/lib/structures/StageChannel.js +44 -0
- package/dist/lib/structures/StageInstance.d.ts +36 -0
- package/dist/lib/structures/StageInstance.js +94 -0
- package/dist/lib/structures/Team.d.ts +22 -0
- package/dist/lib/structures/Team.js +67 -0
- package/dist/lib/structures/TestEntitlement.d.ts +10 -0
- package/dist/lib/structures/TestEntitlement.js +21 -0
- package/dist/lib/structures/TextChannel.d.ts +34 -0
- package/dist/lib/structures/TextChannel.js +46 -0
- package/dist/lib/structures/TextableChannel.d.ts +158 -0
- package/dist/lib/structures/TextableChannel.js +276 -0
- package/dist/lib/structures/TextableVoiceChannel.d.ts +39 -0
- package/dist/lib/structures/TextableVoiceChannel.js +81 -0
- package/dist/lib/structures/ThreadChannel.d.ts +159 -0
- package/dist/lib/structures/ThreadChannel.js +295 -0
- package/dist/lib/structures/ThreadOnlyChannel.d.ts +99 -0
- package/dist/lib/structures/ThreadOnlyChannel.js +233 -0
- package/dist/lib/structures/ThreadableChannel.d.ts +36 -0
- package/dist/lib/structures/ThreadableChannel.js +58 -0
- package/dist/lib/structures/UnavailableGuild.d.ts +11 -0
- package/dist/lib/structures/UnavailableGuild.js +21 -0
- package/dist/lib/structures/User.d.ts +82 -0
- package/dist/lib/structures/User.js +168 -0
- package/dist/lib/structures/VoiceChannel.d.ts +20 -0
- package/dist/lib/structures/VoiceChannel.js +35 -0
- package/dist/lib/structures/VoiceState.d.ts +51 -0
- package/dist/lib/structures/VoiceState.js +140 -0
- package/dist/lib/structures/Webhook.d.ts +129 -0
- package/dist/lib/structures/Webhook.js +206 -0
- package/dist/lib/types/applications.d.ts +466 -0
- package/dist/lib/types/audit-log.d.ts +122 -0
- package/dist/lib/types/auto-moderation.d.ts +99 -0
- package/dist/lib/types/channels.d.ts +1244 -0
- package/dist/lib/types/client.d.ts +228 -0
- package/dist/lib/types/events.d.ts +265 -0
- package/dist/lib/types/gateway-raw.d.ts +584 -0
- package/dist/lib/types/gateway.d.ts +351 -0
- package/dist/lib/types/guild-template.d.ts +33 -0
- package/dist/lib/types/guilds.d.ts +855 -0
- package/dist/lib/types/index.d.ts +18 -0
- package/dist/lib/types/interactions.d.ts +377 -0
- package/dist/lib/types/json.d.ts +742 -0
- package/dist/lib/types/misc.d.ts +28 -0
- package/dist/lib/types/oauth.d.ts +201 -0
- package/dist/lib/types/request-handler.d.ts +52 -0
- package/dist/lib/types/scheduled-events.d.ts +88 -0
- package/dist/lib/types/shared.d.ts +9 -0
- package/dist/lib/types/users.d.ts +45 -0
- package/dist/lib/types/voice.d.ts +45 -0
- package/dist/lib/types/webhooks.d.ts +74 -0
- package/dist/lib/util/Collection.d.ts +47 -0
- package/dist/lib/util/Collection.js +78 -0
- package/dist/lib/util/Errors.d.ts +29 -0
- package/dist/lib/util/Errors.js +56 -0
- package/dist/lib/util/Routes.d.ts +127 -0
- package/dist/lib/util/Routes.js +248 -0
- package/dist/lib/util/SimpleCollection.d.ts +12 -0
- package/dist/lib/util/SimpleCollection.js +81 -0
- package/dist/lib/util/TypedCollection.d.ts +24 -0
- package/dist/lib/util/TypedCollection.js +76 -0
- package/dist/lib/util/TypedEmitter.d.ts +19 -0
- package/dist/lib/util/TypedEmitter.js +19 -0
- package/dist/lib/util/Util.d.ts +58 -0
- package/dist/lib/util/Util.js +535 -0
- package/dist/lib/util/interactions/InteractionOptionsWrapper.d.ts +170 -0
- package/dist/lib/util/interactions/InteractionOptionsWrapper.js +213 -0
- package/dist/lib/util/interactions/MessageInteractionResponse.d.ts +24 -0
- package/dist/lib/util/interactions/MessageInteractionResponse.js +28 -0
- package/dist/lib/util/interactions/ModalSubmitInteractionComponentsWrapper.d.ts +24 -0
- package/dist/lib/util/interactions/ModalSubmitInteractionComponentsWrapper.js +34 -0
- package/dist/lib/util/interactions/SelectMenuValuesWrapper.d.ts +60 -0
- package/dist/lib/util/interactions/SelectMenuValuesWrapper.js +124 -0
- package/dist/package.json +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,311 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
/** @module ComponentInteraction */
|
|
5
|
+
const Interaction_1 = tslib_1.__importDefault(require("./Interaction"));
|
|
6
|
+
const Message_1 = tslib_1.__importDefault(require("./Message"));
|
|
7
|
+
const Member_1 = tslib_1.__importDefault(require("./Member"));
|
|
8
|
+
const Permission_1 = tslib_1.__importDefault(require("./Permission"));
|
|
9
|
+
const GuildChannel_1 = tslib_1.__importDefault(require("./GuildChannel"));
|
|
10
|
+
const Role_1 = tslib_1.__importDefault(require("./Role"));
|
|
11
|
+
const User_1 = tslib_1.__importDefault(require("./User"));
|
|
12
|
+
const InteractionResolvedChannel_1 = tslib_1.__importDefault(require("./InteractionResolvedChannel"));
|
|
13
|
+
const Constants_1 = require("../Constants");
|
|
14
|
+
const SelectMenuValuesWrapper_1 = tslib_1.__importDefault(require("../util/interactions/SelectMenuValuesWrapper"));
|
|
15
|
+
const TypedCollection_1 = tslib_1.__importDefault(require("../util/TypedCollection"));
|
|
16
|
+
const Errors_1 = require("../util/Errors");
|
|
17
|
+
const MessageInteractionResponse_1 = tslib_1.__importDefault(require("../util/interactions/MessageInteractionResponse"));
|
|
18
|
+
/** Represents a component interaction. */
|
|
19
|
+
class ComponentInteraction extends Interaction_1.default {
|
|
20
|
+
_cachedChannel;
|
|
21
|
+
_cachedGuild;
|
|
22
|
+
/** The permissions the bot has in the channel this interaction was sent from. If in a dm/group dm, this will contain `ATTACH_FILES`, `EMBED_LINKS`, and `MENTION_EVERYONE`. In addition, `USE_EXTERNAL_EMOJIS` will be included for DMs with the app's bot user. */
|
|
23
|
+
appPermissions;
|
|
24
|
+
/** Details about the authorizing user or server for the installation(s) relevant to the interaction. See [Discord's docs](https://discord.com/developers/docs/interactions/receiving-and-responding#interaction-object-authorizing-integration-owners-object) for more information. */
|
|
25
|
+
authorizingIntegrationOwners;
|
|
26
|
+
/** The ID of the channel this interaction was sent from. */
|
|
27
|
+
channelID;
|
|
28
|
+
/** The context this interaction was sent from. */
|
|
29
|
+
context;
|
|
30
|
+
/** The data associated with the interaction. */
|
|
31
|
+
data;
|
|
32
|
+
/** The entitlements for the user that created this interaction, and the guild it was created in. */
|
|
33
|
+
entitlements;
|
|
34
|
+
/** The id of the guild this interaction was sent from, if applicable. */
|
|
35
|
+
guildID;
|
|
36
|
+
/** The preferred [locale](https://discord.com/developers/docs/reference#locales) of the guild this interaction was sent from, if applicable. */
|
|
37
|
+
guildLocale;
|
|
38
|
+
/** The partial guild this interaction was sent from, if applicable. */
|
|
39
|
+
guildPartial;
|
|
40
|
+
/** The [locale](https://discord.com/developers/docs/reference#locales) of the invoking user. */
|
|
41
|
+
locale;
|
|
42
|
+
/** The member associated with the invoking user, if this interaction is sent from a guild. */
|
|
43
|
+
member;
|
|
44
|
+
/** The permissions of the member associated with the invoking user, if this interaction is sent from a guild. */
|
|
45
|
+
memberPermissions;
|
|
46
|
+
/** The message the interaction is from. */
|
|
47
|
+
message;
|
|
48
|
+
/** The user that invoked this interaction. */
|
|
49
|
+
user;
|
|
50
|
+
constructor(data, client) {
|
|
51
|
+
super(data, client);
|
|
52
|
+
if (data.message !== undefined && data.guild_id !== undefined) {
|
|
53
|
+
data.message.guild_id = data.guild_id;
|
|
54
|
+
}
|
|
55
|
+
this.appPermissions = new Permission_1.default(data.app_permissions ?? "0");
|
|
56
|
+
this.authorizingIntegrationOwners = data.authorizing_integration_owners;
|
|
57
|
+
this.channelID = data.channel_id;
|
|
58
|
+
this.context = data.context;
|
|
59
|
+
this.entitlements = data.entitlements?.map(entitlement => client.util.updateEntitlement(entitlement)) ?? [];
|
|
60
|
+
this.guildID = (data.guild_id ?? null);
|
|
61
|
+
this.guildLocale = data.guild_locale;
|
|
62
|
+
this.guildPartial = data.guild;
|
|
63
|
+
this.locale = data.locale;
|
|
64
|
+
this.member = (data.member === undefined ? null : this.client.util.updateMember(data.guild_id, data.member.user.id, data.member));
|
|
65
|
+
this.memberPermissions = (data.member === undefined ? null : new Permission_1.default(data.member.permissions));
|
|
66
|
+
this.message = (this.channel && "messages" in this.channel && this.channel.messages.update(data.message)) || new Message_1.default(data.message, client);
|
|
67
|
+
this.user = client.users.update((data.user ?? data.member.user));
|
|
68
|
+
switch (data.data.component_type) {
|
|
69
|
+
case Constants_1.ComponentTypes.BUTTON: {
|
|
70
|
+
this.data = {
|
|
71
|
+
componentType: data.data.component_type,
|
|
72
|
+
customID: data.data.custom_id
|
|
73
|
+
};
|
|
74
|
+
break;
|
|
75
|
+
}
|
|
76
|
+
case Constants_1.ComponentTypes.STRING_SELECT:
|
|
77
|
+
case Constants_1.ComponentTypes.USER_SELECT:
|
|
78
|
+
case Constants_1.ComponentTypes.ROLE_SELECT:
|
|
79
|
+
case Constants_1.ComponentTypes.MENTIONABLE_SELECT:
|
|
80
|
+
case Constants_1.ComponentTypes.CHANNEL_SELECT: {
|
|
81
|
+
const resolved = {
|
|
82
|
+
channels: new TypedCollection_1.default(InteractionResolvedChannel_1.default, client),
|
|
83
|
+
members: new TypedCollection_1.default(Member_1.default, client),
|
|
84
|
+
roles: new TypedCollection_1.default(Role_1.default, client),
|
|
85
|
+
users: new TypedCollection_1.default(User_1.default, client)
|
|
86
|
+
};
|
|
87
|
+
if (data.data.resolved) {
|
|
88
|
+
if (data.data.resolved.channels) {
|
|
89
|
+
for (const channel of Object.values(data.data.resolved.channels))
|
|
90
|
+
resolved.channels.update(channel);
|
|
91
|
+
}
|
|
92
|
+
if (data.data.resolved.members) {
|
|
93
|
+
for (const [id, member] of Object.entries(data.data.resolved.members)) {
|
|
94
|
+
const m = member;
|
|
95
|
+
m.user = data.data.resolved.users[id];
|
|
96
|
+
resolved.members.add(client.util.updateMember(data.guild_id, id, m));
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
if (data.data.resolved.roles) {
|
|
100
|
+
for (const role of Object.values(data.data.resolved.roles)) {
|
|
101
|
+
try {
|
|
102
|
+
resolved.roles.add(this.guild?.roles.update(role, this.guildID) ?? new Role_1.default(role, client, this.guildID));
|
|
103
|
+
}
|
|
104
|
+
catch {
|
|
105
|
+
resolved.roles.add(new Role_1.default(role, client, this.guildID));
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
if (data.data.resolved.users) {
|
|
110
|
+
for (const user of Object.values(data.data.resolved.users))
|
|
111
|
+
resolved.users.add(client.users.update(user));
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
this.data = {
|
|
115
|
+
componentType: data.data.component_type,
|
|
116
|
+
customID: data.data.custom_id,
|
|
117
|
+
values: new SelectMenuValuesWrapper_1.default(resolved, data.data.values),
|
|
118
|
+
resolved
|
|
119
|
+
};
|
|
120
|
+
break;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
/** The channel this interaction was sent from. */
|
|
125
|
+
get channel() {
|
|
126
|
+
return this._cachedChannel ??= this.client.getChannel(this.channelID);
|
|
127
|
+
}
|
|
128
|
+
/** The guild this interaction was sent from, if applicable. This will throw an error if the guild is not cached. */
|
|
129
|
+
get guild() {
|
|
130
|
+
if (this.guildID !== null && this._cachedGuild !== null) {
|
|
131
|
+
this._cachedGuild = this.client.guilds.get(this.guildID);
|
|
132
|
+
if (!this._cachedGuild) {
|
|
133
|
+
throw new Errors_1.UncachedError(this, "guild", "GUILDS", this.client);
|
|
134
|
+
}
|
|
135
|
+
return this._cachedGuild;
|
|
136
|
+
}
|
|
137
|
+
return this._cachedGuild === null ? this._cachedGuild : (this._cachedGuild = null);
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Create a followup message. Note that the returned class is not a message. The message is located in the property {@link MessageInteractionResponse#message | message}.
|
|
141
|
+
* @param options The options for creating the followup message.
|
|
142
|
+
*/
|
|
143
|
+
async createFollowup(options) {
|
|
144
|
+
const message = await this.client.rest.interactions.createFollowupMessage(this.applicationID, this.token, options);
|
|
145
|
+
return new MessageInteractionResponse_1.default(this, message, "followup");
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Create a message through this interaction. This is an initial response, and more than one initial response cannot be used. Use {@link ComponentInteraction#createFollowup | createFollowup}.
|
|
149
|
+
* Note that the returned class is not a message. This initial response does not return a message. You will need to call {@link MessageInteractionResponse#getMessage | MessageInteractionResponse#getMessage} on the returned class,
|
|
150
|
+
* or {@link ComponentInteraction#getOriginal | getOriginal}.
|
|
151
|
+
* @note You cannot attach files in an initial response. Defer the interaction, then use {@link ComponentInteraction#createFollowup | createFollowup}.
|
|
152
|
+
* @param options The options for the message.
|
|
153
|
+
*/
|
|
154
|
+
async createMessage(options) {
|
|
155
|
+
if (this.acknowledged) {
|
|
156
|
+
throw new TypeError("Interactions cannot have more than one initial response.");
|
|
157
|
+
}
|
|
158
|
+
if ("files" in options && options.files.length !== 0) {
|
|
159
|
+
this.client.emit("warn", "You cannot attach files in an initial response. Defer the interaction, then use createFollowup.");
|
|
160
|
+
}
|
|
161
|
+
this.acknowledged = true;
|
|
162
|
+
await this.client.rest.interactions.createInteractionResponse(this.id, this.token, { type: Constants_1.InteractionResponseTypes.CHANNEL_MESSAGE_WITH_SOURCE, data: options });
|
|
163
|
+
return new MessageInteractionResponse_1.default(this, null, "initial");
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* Respond to this interaction with a modal. This is an initial response, and more than one initial response cannot be used.
|
|
167
|
+
* @param options The options for the modal.
|
|
168
|
+
*/
|
|
169
|
+
async createModal(options) {
|
|
170
|
+
if (this.acknowledged) {
|
|
171
|
+
throw new TypeError("Interactions cannot have more than one initial response.");
|
|
172
|
+
}
|
|
173
|
+
this.acknowledged = true;
|
|
174
|
+
return this.client.rest.interactions.createInteractionResponse(this.id, this.token, { type: Constants_1.InteractionResponseTypes.MODAL, data: options });
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* 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.
|
|
178
|
+
* @param flags The [flags](https://discord.com/developers/docs/resources/channel#message-object-message-flags) to respond with.
|
|
179
|
+
*/
|
|
180
|
+
async defer(flags) {
|
|
181
|
+
if (this.acknowledged) {
|
|
182
|
+
throw new TypeError("Interactions cannot have more than one initial response.");
|
|
183
|
+
}
|
|
184
|
+
this.acknowledged = true;
|
|
185
|
+
return this.client.rest.interactions.createInteractionResponse(this.id, this.token, { type: Constants_1.InteractionResponseTypes.DEFERRED_CHANNEL_MESSAGE_WITH_SOURCE, data: { flags } });
|
|
186
|
+
}
|
|
187
|
+
/**
|
|
188
|
+
* Defer this interaction with a `DEFERRED_UPDATE_MESSAGE` response. This is an initial response, and more than one initial response cannot be used.
|
|
189
|
+
* @param flags The [flags](https://discord.com/developers/docs/resources/channel#message-object-message-flags) to respond with.
|
|
190
|
+
*/
|
|
191
|
+
async deferUpdate(flags) {
|
|
192
|
+
if (this.acknowledged) {
|
|
193
|
+
throw new TypeError("Interactions cannot have more than one initial response.");
|
|
194
|
+
}
|
|
195
|
+
this.acknowledged = true;
|
|
196
|
+
return this.client.rest.interactions.createInteractionResponse(this.id, this.token, { type: Constants_1.InteractionResponseTypes.DEFERRED_UPDATE_MESSAGE, data: { flags } });
|
|
197
|
+
}
|
|
198
|
+
/**
|
|
199
|
+
* Delete a follow-up message.
|
|
200
|
+
* @param messageID The ID of the message.
|
|
201
|
+
*/
|
|
202
|
+
async deleteFollowup(messageID) {
|
|
203
|
+
return this.client.rest.interactions.deleteFollowupMessage(this.applicationID, this.token, messageID);
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
* Delete the original interaction response.
|
|
207
|
+
*/
|
|
208
|
+
async deleteOriginal() {
|
|
209
|
+
return this.client.rest.interactions.deleteOriginalMessage(this.applicationID, this.token);
|
|
210
|
+
}
|
|
211
|
+
/**
|
|
212
|
+
* Edit a followup message.
|
|
213
|
+
* @param messageID The ID of the message.
|
|
214
|
+
* @param options The options for editing the followup message.
|
|
215
|
+
*/
|
|
216
|
+
async editFollowup(messageID, options) {
|
|
217
|
+
return this.client.rest.interactions.editFollowupMessage(this.applicationID, this.token, messageID, options);
|
|
218
|
+
}
|
|
219
|
+
/**
|
|
220
|
+
* Edit the original interaction response.
|
|
221
|
+
* @param options The options for editing the original message.
|
|
222
|
+
*/
|
|
223
|
+
async editOriginal(options) {
|
|
224
|
+
return this.client.rest.interactions.editOriginalMessage(this.applicationID, this.token, options);
|
|
225
|
+
}
|
|
226
|
+
/**
|
|
227
|
+
* Edit the message this interaction is from. If this interaction has already been acknowledged, use `editOriginal`.
|
|
228
|
+
* @param options The options for editing the message.
|
|
229
|
+
*/
|
|
230
|
+
async editParent(options) {
|
|
231
|
+
if (this.acknowledged) {
|
|
232
|
+
throw new TypeError("Interactions cannot have more than one initial response.");
|
|
233
|
+
}
|
|
234
|
+
this.acknowledged = true;
|
|
235
|
+
return this.client.rest.interactions.createInteractionResponse(this.id, this.token, { type: Constants_1.InteractionResponseTypes.UPDATE_MESSAGE, data: options });
|
|
236
|
+
}
|
|
237
|
+
/**
|
|
238
|
+
* Get a followup message.
|
|
239
|
+
* @param messageID The ID of the message.
|
|
240
|
+
*/
|
|
241
|
+
async getFollowup(messageID) {
|
|
242
|
+
return this.client.rest.interactions.getFollowupMessage(this.applicationID, this.token, messageID);
|
|
243
|
+
}
|
|
244
|
+
/**
|
|
245
|
+
* Get the original interaction response.
|
|
246
|
+
*/
|
|
247
|
+
async getOriginal() {
|
|
248
|
+
return this.client.rest.interactions.getOriginalMessage(this.applicationID, this.token);
|
|
249
|
+
}
|
|
250
|
+
/** 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. */
|
|
251
|
+
inCachedGuildChannel() {
|
|
252
|
+
return this.channel instanceof GuildChannel_1.default;
|
|
253
|
+
}
|
|
254
|
+
/** 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. */
|
|
255
|
+
inPrivateChannel() {
|
|
256
|
+
return this.guildID === null;
|
|
257
|
+
}
|
|
258
|
+
/** 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. */
|
|
259
|
+
isButtonComponentInteraction() {
|
|
260
|
+
return this.data.componentType === Constants_1.ComponentTypes.BUTTON;
|
|
261
|
+
}
|
|
262
|
+
/** 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. */
|
|
263
|
+
isSelectMenuComponentInteraction() {
|
|
264
|
+
return this.data.componentType === Constants_1.ComponentTypes.STRING_SELECT
|
|
265
|
+
|| this.data.componentType === Constants_1.ComponentTypes.CHANNEL_SELECT
|
|
266
|
+
|| this.data.componentType === Constants_1.ComponentTypes.ROLE_SELECT
|
|
267
|
+
|| this.data.componentType === Constants_1.ComponentTypes.MENTIONABLE_SELECT
|
|
268
|
+
|| this.data.componentType === Constants_1.ComponentTypes.USER_SELECT;
|
|
269
|
+
}
|
|
270
|
+
/** Show a "premium required" response to the user. This is an initial response, and more than one initial response cannot be used. */
|
|
271
|
+
async premiumRequired() {
|
|
272
|
+
if (this.acknowledged) {
|
|
273
|
+
throw new TypeError("Interactions cannot have more than one initial response.");
|
|
274
|
+
}
|
|
275
|
+
this.acknowledged = true;
|
|
276
|
+
return this.client.rest.interactions.createInteractionResponse(this.id, this.token, { type: Constants_1.InteractionResponseTypes.PREMIUM_REQUIRED, data: {} });
|
|
277
|
+
}
|
|
278
|
+
/**
|
|
279
|
+
* Reply to this interaction. If the interaction hasn't been acknowledged, {@link ComponentInteraction#createMessage | createMessage} is used. Else, {@link ComponentInteraction#createFollowup | createFollowup} is used.
|
|
280
|
+
* Note the returned class is not a message. Depending on which method was used, the returned class may or may not have the sent message. {@link MessageInteractionResponse#hasMessage | hasMessage} can be used for type narrowing
|
|
281
|
+
* to check if {@link MessageInteractionResponse#message | message} is present. If it is not, the {@link MessageInteractionResponse#getMessage | getMessage} can be used.
|
|
282
|
+
* @note Due to atachments not being able to be sent in initial responses, attachments will cause a deferred response, if the interaction has not been acknowledged.
|
|
283
|
+
* @param options The options for the message.
|
|
284
|
+
*/
|
|
285
|
+
async reply(options) {
|
|
286
|
+
let useFollowup = this.acknowledged;
|
|
287
|
+
if (!useFollowup && options.files && options.files.length !== 0) {
|
|
288
|
+
await this.defer(options.flags);
|
|
289
|
+
useFollowup = true;
|
|
290
|
+
}
|
|
291
|
+
return useFollowup ? this.createFollowup(options) : this.createMessage(options);
|
|
292
|
+
}
|
|
293
|
+
toJSON() {
|
|
294
|
+
return {
|
|
295
|
+
...super.toJSON(),
|
|
296
|
+
appPermissions: this.appPermissions.toJSON(),
|
|
297
|
+
authorizingIntegrationOwners: this.authorizingIntegrationOwners,
|
|
298
|
+
channelID: this.channelID,
|
|
299
|
+
context: this.context,
|
|
300
|
+
data: this.data,
|
|
301
|
+
guildID: this.guildID ?? undefined,
|
|
302
|
+
guildLocale: this.guildLocale,
|
|
303
|
+
locale: this.locale,
|
|
304
|
+
member: this.member?.toJSON(),
|
|
305
|
+
type: this.type,
|
|
306
|
+
user: this.user.toJSON()
|
|
307
|
+
};
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
exports.default = ComponentInteraction;
|
|
311
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29tcG9uZW50SW50ZXJhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvc3RydWN0dXJlcy9Db21wb25lbnRJbnRlcmFjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtQ0FBbUM7QUFDbkMsd0VBQXdDO0FBQ3hDLGdFQUFnQztBQUVoQyw4REFBOEI7QUFDOUIsc0VBQXNDO0FBQ3RDLDBFQUEwQztBQUUxQywwREFBMEI7QUFDMUIsMERBQTBCO0FBQzFCLHNHQUFzRTtBQXFCdEUsNENBTXNCO0FBQ3RCLG1IQUFtRjtBQUNuRixzRkFBc0Q7QUFDdEQsMkNBQStDO0FBQy9DLHlIQUErSztBQUUvSywwQ0FBMEM7QUFDMUMsTUFBcUIsb0JBQWlNLFNBQVEscUJBQVc7SUFDN04sY0FBYyxDQUFtRDtJQUNqRSxZQUFZLENBQTREO0lBQ2hGLG9RQUFvUTtJQUNwUSxjQUFjLENBQWE7SUFDM0IsdVJBQXVSO0lBQ3ZSLDRCQUE0QixDQUErQjtJQUMzRCw0REFBNEQ7SUFDNUQsU0FBUyxDQUFTO0lBQ2xCLGtEQUFrRDtJQUNsRCxPQUFPLENBQTJCO0lBQ2xDLGdEQUFnRDtJQUNoRCxJQUFJLENBQXNIO0lBQzFILG9HQUFvRztJQUNwRyxZQUFZLENBQXVDO0lBQ25ELHlFQUF5RTtJQUN6RSxPQUFPLENBQTZEO0lBQ3BFLGdKQUFnSjtJQUNoSixXQUFXLENBQWtFO0lBQzdFLHVFQUF1RTtJQUN2RSxZQUFZLENBQXVGO0lBQ25HLGdHQUFnRztJQUNoRyxNQUFNLENBQVM7SUFDZiw4RkFBOEY7SUFDOUYsTUFBTSxDQUE2RDtJQUNuRSxpSEFBaUg7SUFDakgsaUJBQWlCLENBQXFFO0lBQ3RGLDJDQUEyQztJQUMzQyxPQUFPLENBQWE7SUFFcEIsOENBQThDO0lBQzlDLElBQUksQ0FBTztJQUNYLFlBQVksSUFBb0MsRUFBRSxNQUFjO1FBQzVELEtBQUssQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDcEIs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
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import BaseEntitlement from "./BaseEntitlement";
|
|
2
|
+
import type { RawEntitlement } from "../types/applications";
|
|
3
|
+
import type Client from "../Client";
|
|
4
|
+
import type { JSONEntitlement } from "../types";
|
|
5
|
+
/** Represents an entitlement. */
|
|
6
|
+
export default class Entitlement extends BaseEntitlement {
|
|
7
|
+
endsAt: Date;
|
|
8
|
+
startsAt: Date;
|
|
9
|
+
subscriptionID: string;
|
|
10
|
+
constructor(data: RawEntitlement, client: Client);
|
|
11
|
+
toJSON(): JSONEntitlement;
|
|
12
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
const BaseEntitlement_1 = tslib_1.__importDefault(require("./BaseEntitlement"));
|
|
5
|
+
/** Represents an entitlement. */
|
|
6
|
+
class Entitlement extends BaseEntitlement_1.default {
|
|
7
|
+
endsAt;
|
|
8
|
+
startsAt;
|
|
9
|
+
subscriptionID;
|
|
10
|
+
constructor(data, client) {
|
|
11
|
+
super(data, client);
|
|
12
|
+
this.endsAt = new Date(data.ends_at);
|
|
13
|
+
this.startsAt = new Date(data.starts_at);
|
|
14
|
+
this.subscriptionID = data.subscription_id;
|
|
15
|
+
}
|
|
16
|
+
toJSON() {
|
|
17
|
+
return {
|
|
18
|
+
...super.toJSON(),
|
|
19
|
+
endsAt: this.endsAt.getTime(),
|
|
20
|
+
startsAt: this.startsAt.getTime(),
|
|
21
|
+
subscriptionID: this.subscriptionID
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
exports.default = Entitlement;
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRW50aXRsZW1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvc3RydWN0dXJlcy9FbnRpdGxlbWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxnRkFBZ0Q7QUFLaEQsaUNBQWlDO0FBQ2pDLE1BQXFCLFdBQVksU0FBUSx5QkFBZTtJQUNwRCxNQUFNLENBQU87SUFDYixRQUFRLENBQU87SUFDZixjQUFjLENBQVM7SUFDdkIsWUFBWSxJQUFvQixFQUFFLE1BQWM7UUFDNUMsS0FBSyxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNwQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNyQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN6QyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUM7SUFDL0MsQ0FBQztJQUVRLE1BQU07UUFDWCxPQUFPO1lBQ0gsR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFO1lBQ2pCLE1BQU0sRUFBVSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRTtZQUNyQyxRQUFRLEVBQVEsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUU7WUFDdkMsY0FBYyxFQUFFLElBQUksQ0FBQyxjQUFjO1NBQ3RDLENBQUM7SUFDTixDQUFDO0NBQ0o7QUFuQkQsOEJBbUJDIn0=
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/** @module ExtendedUser */
|
|
2
|
+
import User from "./User";
|
|
3
|
+
import type Client from "../Client";
|
|
4
|
+
import type { EditSelfUserOptions, RawOAuthUser } from "../types/users";
|
|
5
|
+
import type { JSONExtendedUser } from "../types/json";
|
|
6
|
+
/** Represents the currently authenticated user. */
|
|
7
|
+
export default class ExtendedUser extends User {
|
|
8
|
+
/** The user's email. (always null for bots) */
|
|
9
|
+
email: string | null;
|
|
10
|
+
/** The flags of the user. */
|
|
11
|
+
flags: number;
|
|
12
|
+
/** The locale of the user */
|
|
13
|
+
locale?: string;
|
|
14
|
+
/** If the user has mfa enabled on their account */
|
|
15
|
+
mfaEnabled: boolean;
|
|
16
|
+
/** If this user's email is verified. (always true for bots) */
|
|
17
|
+
verified: boolean;
|
|
18
|
+
constructor(data: RawOAuthUser, client: Client);
|
|
19
|
+
protected update(data: Partial<RawOAuthUser>): void;
|
|
20
|
+
/**
|
|
21
|
+
* Modify this user.
|
|
22
|
+
* @param options The options for editing the user.
|
|
23
|
+
*/
|
|
24
|
+
edit(options: EditSelfUserOptions): Promise<ExtendedUser>;
|
|
25
|
+
toJSON(): JSONExtendedUser;
|
|
26
|
+
}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
/** @module ExtendedUser */
|
|
5
|
+
const User_1 = tslib_1.__importDefault(require("./User"));
|
|
6
|
+
/** Represents the currently authenticated user. */
|
|
7
|
+
class ExtendedUser extends User_1.default {
|
|
8
|
+
/** The user's email. (always null for bots) */
|
|
9
|
+
email;
|
|
10
|
+
/** The flags of the user. */
|
|
11
|
+
flags;
|
|
12
|
+
/** The locale of the user */
|
|
13
|
+
locale;
|
|
14
|
+
/** If the user has mfa enabled on their account */
|
|
15
|
+
mfaEnabled;
|
|
16
|
+
/** If this user's email is verified. (always true for bots) */
|
|
17
|
+
verified;
|
|
18
|
+
constructor(data, client) {
|
|
19
|
+
super(data, client);
|
|
20
|
+
this.email = data.email;
|
|
21
|
+
this.flags = data.flags;
|
|
22
|
+
this.verified = !!data.verified;
|
|
23
|
+
this.mfaEnabled = !!data.mfa_enabled;
|
|
24
|
+
this.update(data);
|
|
25
|
+
}
|
|
26
|
+
update(data) {
|
|
27
|
+
super.update(data);
|
|
28
|
+
if (data.email !== undefined) {
|
|
29
|
+
this.email = data.email;
|
|
30
|
+
}
|
|
31
|
+
if (data.flags !== undefined) {
|
|
32
|
+
this.flags = data.flags;
|
|
33
|
+
}
|
|
34
|
+
if (data.locale !== undefined) {
|
|
35
|
+
this.locale = data.locale;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Modify this user.
|
|
40
|
+
* @param options The options for editing the user.
|
|
41
|
+
*/
|
|
42
|
+
async edit(options) {
|
|
43
|
+
return this.client.rest.users.editSelf(options);
|
|
44
|
+
}
|
|
45
|
+
toJSON() {
|
|
46
|
+
return {
|
|
47
|
+
...super.toJSON(),
|
|
48
|
+
email: this.email,
|
|
49
|
+
flags: this.flags,
|
|
50
|
+
locale: this.locale,
|
|
51
|
+
mfaEnabled: this.mfaEnabled,
|
|
52
|
+
verified: this.verified
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
exports.default = ExtendedUser;
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXh0ZW5kZWRVc2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL3N0cnVjdHVyZXMvRXh0ZW5kZWRVc2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDJCQUEyQjtBQUMzQiwwREFBMEI7QUFLMUIsbURBQW1EO0FBQ25ELE1BQXFCLFlBQWEsU0FBUSxjQUFJO0lBQzFDLCtDQUErQztJQUMvQyxLQUFLLENBQWdCO0lBQ3JCLDZCQUE2QjtJQUM3QixLQUFLLENBQVM7SUFDZCw2QkFBNkI7SUFDN0IsTUFBTSxDQUFVO0lBQ2hCLG1EQUFtRDtJQUNuRCxVQUFVLENBQVU7SUFDcEIsK0RBQStEO0lBQy9ELFFBQVEsQ0FBVTtJQUNsQixZQUFZLElBQWtCLEVBQUUsTUFBYztRQUMxQyxLQUFLLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUN4QixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDeEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUNoQyxJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdEIsQ0FBQztJQUVrQixNQUFNLENBQUMsSUFBMkI7UUFDakQsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuQixJQUFJLElBQUksQ0FBQyxLQUFLLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDM0IsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQzVCLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxLQUFLLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDM0IsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQzVCLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDNUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQzlCLENBQUM7SUFDTCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUE0QjtRQUNuQyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVRLE1BQU07UUFDWCxPQUFPO1lBQ0gsR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFO1lBQ2pCLEtBQUssRUFBTyxJQUFJLENBQUMsS0FBSztZQUN0QixLQUFLLEVBQU8sSUFBSSxDQUFDLEtBQUs7WUFDdEIsTUFBTSxFQUFNLElBQUksQ0FBQyxNQUFNO1lBQ3ZCLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVTtZQUMzQixRQUFRLEVBQUksSUFBSSxDQUFDLFFBQVE7U0FDNUIsQ0FBQztJQUNOLENBQUM7Q0FDSjtBQW5ERCwrQkFtREMifQ==
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/** @module ForumChannel */
|
|
2
|
+
import ThreadOnlyChannel from "./ThreadOnlyChannel";
|
|
3
|
+
import type Client from "../Client";
|
|
4
|
+
import type { ChannelTypes } from "../Constants";
|
|
5
|
+
import type { JSONForumChannel, RawForumChannel } from "../types";
|
|
6
|
+
/** Represents a thread forum channel. */
|
|
7
|
+
export default class ForumChannel extends ThreadOnlyChannel {
|
|
8
|
+
type: ChannelTypes.GUILD_FORUM;
|
|
9
|
+
constructor(data: RawForumChannel, client: Client);
|
|
10
|
+
toJSON(): JSONForumChannel;
|
|
11
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
/** @module ForumChannel */
|
|
5
|
+
const ThreadOnlyChannel_1 = tslib_1.__importDefault(require("./ThreadOnlyChannel"));
|
|
6
|
+
/** Represents a thread forum channel. */
|
|
7
|
+
class ForumChannel extends ThreadOnlyChannel_1.default {
|
|
8
|
+
constructor(data, client) {
|
|
9
|
+
super(data, client);
|
|
10
|
+
}
|
|
11
|
+
toJSON() {
|
|
12
|
+
return {
|
|
13
|
+
...super.toJSON(),
|
|
14
|
+
type: this.type
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
exports.default = ForumChannel;
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRm9ydW1DaGFubmVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL3N0cnVjdHVyZXMvRm9ydW1DaGFubmVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDJCQUEyQjtBQUMzQixvRkFBb0Q7QUFLcEQseUNBQXlDO0FBQ3pDLE1BQXFCLFlBQWEsU0FBUSwyQkFBaUI7SUFFdkQsWUFBWSxJQUFxQixFQUFFLE1BQWM7UUFDN0MsS0FBSyxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztJQUN4QixDQUFDO0lBRVEsTUFBTTtRQUNYLE9BQU87WUFDSCxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUU7WUFDakIsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1NBQ2xCLENBQUM7SUFDTixDQUFDO0NBQ0o7QUFaRCwrQkFZQyJ9
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/** @module GroupChannel */
|
|
2
|
+
import Channel from "./Channel";
|
|
3
|
+
import User from "./User";
|
|
4
|
+
import type ClientApplication from "./ClientApplication";
|
|
5
|
+
import type { ChannelTypes, ImageFormat } from "../Constants";
|
|
6
|
+
import type Client from "../Client";
|
|
7
|
+
import type { AddGroupRecipientOptions, EditGroupDMOptions, RawGroupChannel } from "../types/channels";
|
|
8
|
+
import type { RawUser } from "../types/users";
|
|
9
|
+
import TypedCollection from "../util/TypedCollection";
|
|
10
|
+
import type { JSONGroupChannel } from "../types/json";
|
|
11
|
+
/** Represents a group direct message. */
|
|
12
|
+
export default class GroupChannel extends Channel {
|
|
13
|
+
/** The application that made this group channel. */
|
|
14
|
+
application?: ClientApplication;
|
|
15
|
+
/** The ID of the application that made this group channel. */
|
|
16
|
+
applicationID: string;
|
|
17
|
+
/** The icon hash of this group, if any. */
|
|
18
|
+
icon: string | null;
|
|
19
|
+
/** The ID of last message sent in this channel. */
|
|
20
|
+
lastMessageID: string | null;
|
|
21
|
+
/** If this group channel is managed by an application. */
|
|
22
|
+
managed: boolean;
|
|
23
|
+
/** The name of this group channel. */
|
|
24
|
+
name: string | null;
|
|
25
|
+
/** The nicknames used when creating this group channel. */
|
|
26
|
+
nicks: Array<Record<"id" | "nick", string>>;
|
|
27
|
+
/** The owner of this group channel. */
|
|
28
|
+
owner?: User;
|
|
29
|
+
/** The ID of the owner of this group channel. */
|
|
30
|
+
ownerID: string;
|
|
31
|
+
/** The other recipients in this group channel. */
|
|
32
|
+
recipients: TypedCollection<RawUser, User>;
|
|
33
|
+
type: ChannelTypes.GROUP_DM;
|
|
34
|
+
constructor(data: RawGroupChannel, client: Client);
|
|
35
|
+
protected update(data: Partial<RawGroupChannel>): void;
|
|
36
|
+
/**
|
|
37
|
+
* Add a user to this channel.
|
|
38
|
+
* @param options The options for adding the user.
|
|
39
|
+
*/
|
|
40
|
+
addRecipient(options: AddGroupRecipientOptions): Promise<void>;
|
|
41
|
+
/**
|
|
42
|
+
* Edit this channel.
|
|
43
|
+
* @param options The options for editing the channel.
|
|
44
|
+
*/
|
|
45
|
+
edit(options: EditGroupDMOptions): Promise<this>;
|
|
46
|
+
/**
|
|
47
|
+
* The url of this application's icon.
|
|
48
|
+
* @param format The format the url should be.
|
|
49
|
+
* @param size The dimensions of the image.
|
|
50
|
+
*/
|
|
51
|
+
iconURL(format?: ImageFormat, size?: number): string | null;
|
|
52
|
+
/**
|
|
53
|
+
* Remove a user from this channel.
|
|
54
|
+
* @param userID The ID of the user to remove.
|
|
55
|
+
*/
|
|
56
|
+
removeRecipient(userID: string): Promise<void>;
|
|
57
|
+
/**
|
|
58
|
+
* Show a typing indicator in this channel.
|
|
59
|
+
*/
|
|
60
|
+
sendTyping(): Promise<void>;
|
|
61
|
+
toJSON(): JSONGroupChannel;
|
|
62
|
+
}
|