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.
Files changed (205) hide show
  1. package/dist/lib/Client.d.ts +99 -0
  2. package/dist/lib/Client.js +263 -0
  3. package/dist/lib/Constants.d.ts +1215 -0
  4. package/dist/lib/Constants.js +1513 -0
  5. package/dist/lib/gateway/Shard.d.ts +83 -0
  6. package/dist/lib/gateway/Shard.js +1621 -0
  7. package/dist/lib/gateway/ShardManager.d.ts +29 -0
  8. package/dist/lib/gateway/ShardManager.js +300 -0
  9. package/dist/lib/index.d.ts +84 -0
  10. package/dist/lib/index.js +168 -0
  11. package/dist/lib/rest/Bucket.d.ts +33 -0
  12. package/dist/lib/rest/Bucket.js +78 -0
  13. package/dist/lib/rest/DiscordHTTPError.d.ts +16 -0
  14. package/dist/lib/rest/DiscordHTTPError.js +65 -0
  15. package/dist/lib/rest/DiscordRESTError.d.ts +19 -0
  16. package/dist/lib/rest/DiscordRESTError.js +89 -0
  17. package/dist/lib/rest/OAuthHelper.d.ts +62 -0
  18. package/dist/lib/rest/OAuthHelper.js +183 -0
  19. package/dist/lib/rest/RESTManager.d.ts +42 -0
  20. package/dist/lib/rest/RESTManager.js +82 -0
  21. package/dist/lib/rest/RequestHandler.d.ts +28 -0
  22. package/dist/lib/rest/RequestHandler.js +313 -0
  23. package/dist/lib/rest/SequentialBucket.d.ts +25 -0
  24. package/dist/lib/rest/SequentialBucket.js +76 -0
  25. package/dist/lib/routes/Applications.d.ts +171 -0
  26. package/dist/lib/routes/Applications.js +447 -0
  27. package/dist/lib/routes/Channels.d.ts +408 -0
  28. package/dist/lib/routes/Channels.js +1160 -0
  29. package/dist/lib/routes/Guilds.d.ts +606 -0
  30. package/dist/lib/routes/Guilds.js +1669 -0
  31. package/dist/lib/routes/Interactions.d.ts +74 -0
  32. package/dist/lib/routes/Interactions.js +141 -0
  33. package/dist/lib/routes/Miscellaneous.d.ts +31 -0
  34. package/dist/lib/routes/Miscellaneous.js +69 -0
  35. package/dist/lib/routes/OAuth.d.ts +108 -0
  36. package/dist/lib/routes/OAuth.js +312 -0
  37. package/dist/lib/routes/Users.d.ts +32 -0
  38. package/dist/lib/routes/Users.js +59 -0
  39. package/dist/lib/routes/Webhooks.d.ts +128 -0
  40. package/dist/lib/routes/Webhooks.js +265 -0
  41. package/dist/lib/structures/AnnouncementChannel.d.ts +36 -0
  42. package/dist/lib/structures/AnnouncementChannel.js +47 -0
  43. package/dist/lib/structures/AnnouncementThreadChannel.d.ts +18 -0
  44. package/dist/lib/structures/AnnouncementThreadChannel.js +27 -0
  45. package/dist/lib/structures/Application.d.ts +102 -0
  46. package/dist/lib/structures/Application.js +189 -0
  47. package/dist/lib/structures/ApplicationCommand.d.ts +74 -0
  48. package/dist/lib/structures/ApplicationCommand.js +141 -0
  49. package/dist/lib/structures/Attachment.d.ts +34 -0
  50. package/dist/lib/structures/Attachment.js +64 -0
  51. package/dist/lib/structures/AuditLogEntry.d.ts +25 -0
  52. package/dist/lib/structures/AuditLogEntry.js +53 -0
  53. package/dist/lib/structures/AutoModerationRule.d.ts +49 -0
  54. package/dist/lib/structures/AutoModerationRule.js +139 -0
  55. package/dist/lib/structures/AutocompleteInteraction.d.ts +62 -0
  56. package/dist/lib/structures/AutocompleteInteraction.js +115 -0
  57. package/dist/lib/structures/Base.d.ts +20 -0
  58. package/dist/lib/structures/Base.js +58 -0
  59. package/dist/lib/structures/BaseEntitlement.d.ts +19 -0
  60. package/dist/lib/structures/BaseEntitlement.js +44 -0
  61. package/dist/lib/structures/CategoryChannel.d.ts +41 -0
  62. package/dist/lib/structures/CategoryChannel.js +105 -0
  63. package/dist/lib/structures/Channel.d.ts +20 -0
  64. package/dist/lib/structures/Channel.js +91 -0
  65. package/dist/lib/structures/ClientApplication.d.ts +153 -0
  66. package/dist/lib/structures/ClientApplication.js +220 -0
  67. package/dist/lib/structures/CommandInteraction.d.ts +127 -0
  68. package/dist/lib/structures/CommandInteraction.js +297 -0
  69. package/dist/lib/structures/ComponentInteraction.d.ts +137 -0
  70. package/dist/lib/structures/ComponentInteraction.js +311 -0
  71. package/dist/lib/structures/Entitlement.d.ts +12 -0
  72. package/dist/lib/structures/Entitlement.js +26 -0
  73. package/dist/lib/structures/ExtendedUser.d.ts +26 -0
  74. package/dist/lib/structures/ExtendedUser.js +57 -0
  75. package/dist/lib/structures/ForumChannel.d.ts +11 -0
  76. package/dist/lib/structures/ForumChannel.js +19 -0
  77. package/dist/lib/structures/GroupChannel.d.ts +62 -0
  78. package/dist/lib/structures/GroupChannel.js +133 -0
  79. package/dist/lib/structures/Guild.d.ts +654 -0
  80. package/dist/lib/structures/Guild.js +1319 -0
  81. package/dist/lib/structures/GuildChannel.d.ts +34 -0
  82. package/dist/lib/structures/GuildChannel.js +75 -0
  83. package/dist/lib/structures/GuildPreview.d.ts +50 -0
  84. package/dist/lib/structures/GuildPreview.js +119 -0
  85. package/dist/lib/structures/GuildScheduledEvent.d.ts +60 -0
  86. package/dist/lib/structures/GuildScheduledEvent.js +154 -0
  87. package/dist/lib/structures/GuildTemplate.d.ts +55 -0
  88. package/dist/lib/structures/GuildTemplate.js +126 -0
  89. package/dist/lib/structures/Integration.d.ts +54 -0
  90. package/dist/lib/structures/Integration.js +156 -0
  91. package/dist/lib/structures/Interaction.d.ts +40 -0
  92. package/dist/lib/structures/Interaction.js +90 -0
  93. package/dist/lib/structures/InteractionResolvedChannel.d.ts +28 -0
  94. package/dist/lib/structures/InteractionResolvedChannel.js +45 -0
  95. package/dist/lib/structures/Invite.d.ts +64 -0
  96. package/dist/lib/structures/Invite.js +193 -0
  97. package/dist/lib/structures/InviteGuild.d.ts +52 -0
  98. package/dist/lib/structures/InviteGuild.js +88 -0
  99. package/dist/lib/structures/MediaChannel.d.ts +11 -0
  100. package/dist/lib/structures/MediaChannel.js +19 -0
  101. package/dist/lib/structures/Member.d.ts +122 -0
  102. package/dist/lib/structures/Member.js +255 -0
  103. package/dist/lib/structures/Message.d.ts +194 -0
  104. package/dist/lib/structures/Message.js +477 -0
  105. package/dist/lib/structures/ModalSubmitInteraction.d.ts +128 -0
  106. package/dist/lib/structures/ModalSubmitInteraction.js +240 -0
  107. package/dist/lib/structures/OAuthApplication.d.ts +79 -0
  108. package/dist/lib/structures/OAuthApplication.js +210 -0
  109. package/dist/lib/structures/OAuthGuild.d.ts +35 -0
  110. package/dist/lib/structures/OAuthGuild.js +61 -0
  111. package/dist/lib/structures/PartialApplication.d.ts +30 -0
  112. package/dist/lib/structures/PartialApplication.js +67 -0
  113. package/dist/lib/structures/Permission.d.ts +21 -0
  114. package/dist/lib/structures/Permission.js +68 -0
  115. package/dist/lib/structures/PermissionOverwrite.d.ts +26 -0
  116. package/dist/lib/structures/PermissionOverwrite.js +49 -0
  117. package/dist/lib/structures/PingInteraction.d.ts +16 -0
  118. package/dist/lib/structures/PingInteraction.js +26 -0
  119. package/dist/lib/structures/Poll.d.ts +28 -0
  120. package/dist/lib/structures/Poll.js +78 -0
  121. package/dist/lib/structures/PrivateChannel.d.ts +90 -0
  122. package/dist/lib/structures/PrivateChannel.js +131 -0
  123. package/dist/lib/structures/PrivateThreadChannel.d.ts +18 -0
  124. package/dist/lib/structures/PrivateThreadChannel.js +27 -0
  125. package/dist/lib/structures/PublicThreadChannel.d.ts +21 -0
  126. package/dist/lib/structures/PublicThreadChannel.js +37 -0
  127. package/dist/lib/structures/Role.d.ts +52 -0
  128. package/dist/lib/structures/Role.js +137 -0
  129. package/dist/lib/structures/SKU.d.ts +32 -0
  130. package/dist/lib/structures/SKU.js +53 -0
  131. package/dist/lib/structures/StageChannel.d.ts +33 -0
  132. package/dist/lib/structures/StageChannel.js +44 -0
  133. package/dist/lib/structures/StageInstance.d.ts +36 -0
  134. package/dist/lib/structures/StageInstance.js +94 -0
  135. package/dist/lib/structures/Team.d.ts +22 -0
  136. package/dist/lib/structures/Team.js +67 -0
  137. package/dist/lib/structures/TestEntitlement.d.ts +10 -0
  138. package/dist/lib/structures/TestEntitlement.js +21 -0
  139. package/dist/lib/structures/TextChannel.d.ts +34 -0
  140. package/dist/lib/structures/TextChannel.js +46 -0
  141. package/dist/lib/structures/TextableChannel.d.ts +158 -0
  142. package/dist/lib/structures/TextableChannel.js +276 -0
  143. package/dist/lib/structures/TextableVoiceChannel.d.ts +39 -0
  144. package/dist/lib/structures/TextableVoiceChannel.js +81 -0
  145. package/dist/lib/structures/ThreadChannel.d.ts +159 -0
  146. package/dist/lib/structures/ThreadChannel.js +295 -0
  147. package/dist/lib/structures/ThreadOnlyChannel.d.ts +99 -0
  148. package/dist/lib/structures/ThreadOnlyChannel.js +233 -0
  149. package/dist/lib/structures/ThreadableChannel.d.ts +36 -0
  150. package/dist/lib/structures/ThreadableChannel.js +58 -0
  151. package/dist/lib/structures/UnavailableGuild.d.ts +11 -0
  152. package/dist/lib/structures/UnavailableGuild.js +21 -0
  153. package/dist/lib/structures/User.d.ts +82 -0
  154. package/dist/lib/structures/User.js +168 -0
  155. package/dist/lib/structures/VoiceChannel.d.ts +20 -0
  156. package/dist/lib/structures/VoiceChannel.js +35 -0
  157. package/dist/lib/structures/VoiceState.d.ts +51 -0
  158. package/dist/lib/structures/VoiceState.js +140 -0
  159. package/dist/lib/structures/Webhook.d.ts +129 -0
  160. package/dist/lib/structures/Webhook.js +206 -0
  161. package/dist/lib/types/applications.d.ts +466 -0
  162. package/dist/lib/types/audit-log.d.ts +122 -0
  163. package/dist/lib/types/auto-moderation.d.ts +99 -0
  164. package/dist/lib/types/channels.d.ts +1244 -0
  165. package/dist/lib/types/client.d.ts +228 -0
  166. package/dist/lib/types/events.d.ts +265 -0
  167. package/dist/lib/types/gateway-raw.d.ts +584 -0
  168. package/dist/lib/types/gateway.d.ts +351 -0
  169. package/dist/lib/types/guild-template.d.ts +33 -0
  170. package/dist/lib/types/guilds.d.ts +855 -0
  171. package/dist/lib/types/index.d.ts +18 -0
  172. package/dist/lib/types/interactions.d.ts +377 -0
  173. package/dist/lib/types/json.d.ts +742 -0
  174. package/dist/lib/types/misc.d.ts +28 -0
  175. package/dist/lib/types/oauth.d.ts +201 -0
  176. package/dist/lib/types/request-handler.d.ts +52 -0
  177. package/dist/lib/types/scheduled-events.d.ts +88 -0
  178. package/dist/lib/types/shared.d.ts +9 -0
  179. package/dist/lib/types/users.d.ts +45 -0
  180. package/dist/lib/types/voice.d.ts +45 -0
  181. package/dist/lib/types/webhooks.d.ts +74 -0
  182. package/dist/lib/util/Collection.d.ts +47 -0
  183. package/dist/lib/util/Collection.js +78 -0
  184. package/dist/lib/util/Errors.d.ts +29 -0
  185. package/dist/lib/util/Errors.js +56 -0
  186. package/dist/lib/util/Routes.d.ts +127 -0
  187. package/dist/lib/util/Routes.js +248 -0
  188. package/dist/lib/util/SimpleCollection.d.ts +12 -0
  189. package/dist/lib/util/SimpleCollection.js +81 -0
  190. package/dist/lib/util/TypedCollection.d.ts +24 -0
  191. package/dist/lib/util/TypedCollection.js +76 -0
  192. package/dist/lib/util/TypedEmitter.d.ts +19 -0
  193. package/dist/lib/util/TypedEmitter.js +19 -0
  194. package/dist/lib/util/Util.d.ts +58 -0
  195. package/dist/lib/util/Util.js +535 -0
  196. package/dist/lib/util/interactions/InteractionOptionsWrapper.d.ts +170 -0
  197. package/dist/lib/util/interactions/InteractionOptionsWrapper.js +213 -0
  198. package/dist/lib/util/interactions/MessageInteractionResponse.d.ts +24 -0
  199. package/dist/lib/util/interactions/MessageInteractionResponse.js +28 -0
  200. package/dist/lib/util/interactions/ModalSubmitInteractionComponentsWrapper.d.ts +24 -0
  201. package/dist/lib/util/interactions/ModalSubmitInteractionComponentsWrapper.js +34 -0
  202. package/dist/lib/util/interactions/SelectMenuValuesWrapper.d.ts +60 -0
  203. package/dist/lib/util/interactions/SelectMenuValuesWrapper.js +124 -0
  204. package/dist/package.json +1 -1
  205. package/package.json +1 -1
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ /** @module StageInstance */
5
+ const Base_1 = tslib_1.__importDefault(require("./Base"));
6
+ const Errors_1 = require("../util/Errors");
7
+ /** Represents a stage instance. */
8
+ class StageInstance extends Base_1.default {
9
+ _cachedChannel;
10
+ _cachedGuild;
11
+ _cachedScheduledEvent;
12
+ /** The ID of the associated stage channel. */
13
+ channelID;
14
+ /** @deprecated If the stage channel is not discoverable. */
15
+ discoverableDisabled;
16
+ /** The id of the guild associated with this stage instance's stage channel. */
17
+ guildID;
18
+ /** The [privacy level](https://discord.com/developers/docs/resources/stage-instance#stage-instance-object-privacy-level) of this stage instance. */
19
+ privacyLevel;
20
+ /** The id of the scheduled event for this stage instance, if applicable. */
21
+ scheduledEventID;
22
+ /** The topic of this stage instance. */
23
+ topic;
24
+ constructor(data, client) {
25
+ super(data.id, client);
26
+ this.channelID = data.channel_id;
27
+ this.discoverableDisabled = !!data.discoverable_disabled;
28
+ this.guildID = data.guild_id;
29
+ this.privacyLevel = data.privacy_level;
30
+ this.scheduledEventID = data.guild_scheduled_event_id;
31
+ this.topic = data.topic;
32
+ this.update(data);
33
+ }
34
+ update(data) {
35
+ if (data.channel_id !== undefined) {
36
+ this.channelID = data.channel_id;
37
+ }
38
+ if (data.discoverable_disabled !== undefined) {
39
+ this.discoverableDisabled = data.discoverable_disabled;
40
+ }
41
+ if (data.guild_scheduled_event_id !== undefined) {
42
+ this.scheduledEventID = data.guild_scheduled_event_id;
43
+ }
44
+ if (data.privacy_level !== undefined) {
45
+ this.privacyLevel = data.privacy_level;
46
+ }
47
+ if (data.topic !== undefined) {
48
+ this.topic = data.topic;
49
+ }
50
+ }
51
+ /** The associated stage channel. */
52
+ get channel() {
53
+ return this._cachedChannel ??= this.client.getChannel(this.channelID);
54
+ }
55
+ /** The guild of the associated stage channel. This will throw an error if the guild is not cached. */
56
+ get guild() {
57
+ this._cachedGuild ??= this.client.guilds.get(this.guildID);
58
+ if (!this._cachedGuild) {
59
+ if (this.client.options.restMode) {
60
+ throw new Errors_1.UncachedError(`${this.constructor.name}#guild is not present when rest mode is enabled.`);
61
+ }
62
+ if (!this.client.shards.connected) {
63
+ throw new Errors_1.UncachedError(`${this.constructor.name}#guild is not present without a gateway connection.`);
64
+ }
65
+ throw new Errors_1.UncachedError(`${this.constructor.name}#guild is not present.`);
66
+ }
67
+ return this._cachedGuild;
68
+ }
69
+ /** The scheduled event for this stage instance, if applicable. */
70
+ get scheduledEvent() {
71
+ if (this.scheduledEventID !== null && this._cachedScheduledEvent !== null) {
72
+ try {
73
+ return this._cachedScheduledEvent ?? (this._cachedScheduledEvent = this.guild.scheduledEvents.get(this.scheduledEventID));
74
+ }
75
+ catch {
76
+ return (this._cachedScheduledEvent = undefined);
77
+ }
78
+ }
79
+ return this._cachedScheduledEvent === null ? this._cachedScheduledEvent : (this._cachedScheduledEvent = null);
80
+ }
81
+ toJSON() {
82
+ return {
83
+ ...super.toJSON(),
84
+ channelID: this.channelID,
85
+ discoverableDisabled: this.discoverableDisabled,
86
+ guildID: this.guildID,
87
+ privacyLevel: this.privacyLevel,
88
+ scheduledEventID: this.scheduledEventID,
89
+ topic: this.topic
90
+ };
91
+ }
92
+ }
93
+ exports.default = StageInstance;
94
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3RhZ2VJbnN0YW5jZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9zdHJ1Y3R1cmVzL1N0YWdlSW5zdGFuY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNEJBQTRCO0FBQzVCLDBEQUEwQjtBQVExQiwyQ0FBK0M7QUFFL0MsbUNBQW1DO0FBQ25DLE1BQXFCLGFBQWMsU0FBUSxjQUFJO0lBQ25DLGNBQWMsQ0FBZ0I7SUFDOUIsWUFBWSxDQUFTO0lBQ3JCLHFCQUFxQixDQUE4QjtJQUMzRCw4Q0FBOEM7SUFDOUMsU0FBUyxDQUFTO0lBQ2xCLDREQUE0RDtJQUM1RCxvQkFBb0IsQ0FBVTtJQUM5QiwrRUFBK0U7SUFDL0UsT0FBTyxDQUFTO0lBQ2hCLG9KQUFvSjtJQUNwSixZQUFZLENBQTZCO0lBQ3pDLDRFQUE0RTtJQUM1RSxnQkFBZ0IsQ0FBZ0I7SUFDaEMsd0NBQXdDO0lBQ3hDLEtBQUssQ0FBUztJQUNkLFlBQVksSUFBc0IsRUFBRSxNQUFjO1FBQzlDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUNqQyxJQUFJLENBQUMsb0JBQW9CLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQztRQUN6RCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDN0IsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsd0JBQXdCLENBQUM7UUFDdEQsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdEIsQ0FBQztJQUVrQixNQUFNLENBQUMsSUFBK0I7UUFDckQsSUFB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
@@ -0,0 +1,22 @@
1
+ /** @module Team */
2
+ import Base from "./Base";
3
+ import type User from "./User";
4
+ import type Client from "../Client";
5
+ import type { RawTeam, TeamMember } from "../types/applications";
6
+ import type { JSONTeam } from "../types/json";
7
+ /** Represents an OAuth team. */
8
+ export default class Team extends Base {
9
+ /** The icon hash of this team. */
10
+ icon: string | null;
11
+ /** The members of this team. */
12
+ members: Array<TeamMember>;
13
+ /** The name of this team. */
14
+ name: string;
15
+ /** The owner of this team. */
16
+ owner?: User;
17
+ /** The ID of the owner of this team. */
18
+ ownerID: string;
19
+ constructor(data: RawTeam, client: Client);
20
+ protected update(data: Partial<RawTeam>): void;
21
+ toJSON(): JSONTeam;
22
+ }
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ /** @module Team */
5
+ const Base_1 = tslib_1.__importDefault(require("./Base"));
6
+ /** Represents an OAuth team. */
7
+ class Team extends Base_1.default {
8
+ /** The icon hash of this team. */
9
+ icon;
10
+ /** The members of this team. */
11
+ members;
12
+ /** The name of this team. */
13
+ name;
14
+ /** The owner of this team. */
15
+ owner;
16
+ /** The ID of the owner of this team. */
17
+ ownerID;
18
+ constructor(data, client) {
19
+ super(data.id, client);
20
+ this.icon = null;
21
+ this.members = [];
22
+ this.name = data.name;
23
+ this.owner = this.client.users.get(data.owner_user_id);
24
+ this.ownerID = data.owner_user_id;
25
+ this.update(data);
26
+ }
27
+ update(data) {
28
+ if (data.icon !== undefined) {
29
+ this.icon = data.icon;
30
+ }
31
+ if (data.name !== undefined) {
32
+ this.name = data.name;
33
+ }
34
+ if (data.owner_user_id !== undefined) {
35
+ this.owner = this.client.users.get(data.owner_user_id);
36
+ this.ownerID = data.owner_user_id;
37
+ }
38
+ if (data.members !== undefined) {
39
+ for (const member of this.members) {
40
+ if (!data.members.some(m => m.user.id === member.user.id)) {
41
+ this.members.splice(this.members.indexOf(member), 1);
42
+ }
43
+ }
44
+ for (const member of data.members) {
45
+ if (!this.members.some(m => m.user.id === member.user.id)) {
46
+ this.members.push({
47
+ membershipState: member.membership_state,
48
+ role: member.role,
49
+ teamID: member.team_id,
50
+ user: this.client.users.update(member.user)
51
+ });
52
+ }
53
+ }
54
+ }
55
+ }
56
+ toJSON() {
57
+ return {
58
+ ...super.toJSON(),
59
+ icon: this.icon,
60
+ members: this.members,
61
+ name: this.name,
62
+ ownerID: this.ownerID
63
+ };
64
+ }
65
+ }
66
+ exports.default = Team;
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGVhbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9zdHJ1Y3R1cmVzL1RlYW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbUJBQW1CO0FBQ25CLDBEQUEwQjtBQU0xQixnQ0FBZ0M7QUFDaEMsTUFBcUIsSUFBSyxTQUFRLGNBQUk7SUFDbEMsa0NBQWtDO0lBQ2xDLElBQUksQ0FBZ0I7SUFDcEIsZ0NBQWdDO0lBQ2hDLE9BQU8sQ0FBb0I7SUFDM0IsNkJBQTZCO0lBQzdCLElBQUksQ0FBUztJQUNiLDhCQUE4QjtJQUM5QixLQUFLLENBQVE7SUFDYix3Q0FBd0M7SUFDeEMsT0FBTyxDQUFTO0lBQ2hCLFlBQVksSUFBYSxFQUFFLE1BQWM7UUFDckMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDdkIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFDbEIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN2RCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7UUFDbEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN0QixDQUFDO0lBRWtCLE1BQU0sQ0FBQyxJQUFzQjtRQUM1QyxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDMUIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQzFCLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDMUIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQzFCLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxhQUFhLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDbkMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ3ZELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUN0QyxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsT0FBTyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQzdCLEtBQUssTUFBTSxNQUFNLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUNoQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7b0JBQ3hELElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUN6RCxDQUFDO1lBQ0wsQ0FBQztZQUVELEtBQUssTUFBTSxNQUFNLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUNoQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7b0JBQ3hELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO3dCQUNkLGVBQWUsRUFBRSxNQUFNLENBQUMsZ0JBQWdCO3dCQUN4QyxJQUFJLEVBQWEsTUFBTSxDQUFDLElBQUk7d0JBQzVCLE1BQU0sRUFBVyxNQUFNLENBQUMsT0FBTzt3QkFDL0IsSUFBSSxFQUFhLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDO3FCQUN6RCxDQUFDLENBQUM7Z0JBQ1AsQ0FBQztZQUNMLENBQUM7UUFHTCxDQUFDO0lBQ0wsQ0FBQztJQUVRLE1BQU07UUFDWCxPQUFPO1lBQ0gsR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFO1lBQ2pCLElBQUksRUFBSyxJQUFJLENBQUMsSUFBSTtZQUNsQixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87WUFDckIsSUFBSSxFQUFLLElBQUksQ0FBQyxJQUFJO1lBQ2xCLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztTQUN4QixDQUFDO0lBQ04sQ0FBQztDQUNKO0FBL0RELHVCQStEQyJ9
@@ -0,0 +1,10 @@
1
+ import BaseEntitlement from "./BaseEntitlement";
2
+ import type Client from "../Client";
3
+ import type { JSONTestEntitlement, RawTestEntitlement } from "../types";
4
+ /** Represents a test entitlement. */
5
+ export default class TestEntitlement extends BaseEntitlement {
6
+ constructor(data: RawTestEntitlement, client: Client);
7
+ /** Delete this entitlement. */
8
+ delete(): Promise<void>;
9
+ toJSON(): JSONTestEntitlement;
10
+ }
@@ -0,0 +1,21 @@
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 a test entitlement. */
6
+ class TestEntitlement extends BaseEntitlement_1.default {
7
+ constructor(data, client) {
8
+ super(data, client);
9
+ }
10
+ /** Delete this entitlement. */
11
+ async delete() {
12
+ return this.client.rest.applications.deleteTestEntitlement(this.applicationID, this.id);
13
+ }
14
+ toJSON() {
15
+ return {
16
+ ...super.toJSON()
17
+ };
18
+ }
19
+ }
20
+ exports.default = TestEntitlement;
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGVzdEVudGl0bGVtZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL3N0cnVjdHVyZXMvVGVzdEVudGl0bGVtZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLGdGQUFnRDtBQUloRCxxQ0FBcUM7QUFDckMsTUFBcUIsZUFBZ0IsU0FBUSx5QkFBZTtJQUN4RCxZQUFZLElBQXdCLEVBQUUsTUFBYztRQUNoRCxLQUFLLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3hCLENBQUM7SUFFRCwrQkFBK0I7SUFDL0IsS0FBSyxDQUFDLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUM1RixDQUFDO0lBRVEsTUFBTTtRQUNYLE9BQU87WUFDSCxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUU7U0FDcEIsQ0FBQztJQUNOLENBQUM7Q0FDSjtBQWZELGtDQWVDIn0=
@@ -0,0 +1,34 @@
1
+ /** @module TextChannel */
2
+ import type AnnouncementChannel from "./AnnouncementChannel";
3
+ import type PublicThreadChannel from "./PublicThreadChannel";
4
+ import type PrivateThreadChannel from "./PrivateThreadChannel";
5
+ import ThreadableChannel from "./ThreadableChannel";
6
+ import { ChannelTypes } from "../Constants";
7
+ import type Client from "../Client";
8
+ import type { ArchivedThreads, FollowedChannel, GetArchivedThreadsOptions, RawTextChannel } from "../types/channels";
9
+ import type { JSONTextChannel } from "../types/json";
10
+ /** Represents a guild text channel. */
11
+ export default class TextChannel extends ThreadableChannel<TextChannel, PublicThreadChannel | PrivateThreadChannel> {
12
+ type: ChannelTypes.GUILD_TEXT;
13
+ constructor(data: RawTextChannel, client: Client);
14
+ /**
15
+ * Convert this text channel to a announcement channel.
16
+ */
17
+ convert(): Promise<AnnouncementChannel>;
18
+ /**
19
+ * Follow an announcement channel to this channel.
20
+ * @param webhookChannelID The ID of the channel to follow the announcement channel to.
21
+ */
22
+ followAnnouncement(webhookChannelID: string): Promise<FollowedChannel>;
23
+ /**
24
+ * Get the private archived threads the current user has joined in this channel.
25
+ * @param options The options for getting the joined private archived threads.
26
+ */
27
+ getJoinedPrivateArchivedThreads(options?: GetArchivedThreadsOptions): Promise<ArchivedThreads<PrivateThreadChannel>>;
28
+ /**
29
+ * Get the private archived threads in this channel.
30
+ * @param options The options for getting the private archived threads.
31
+ */
32
+ getPrivateArchivedThreads(options?: GetArchivedThreadsOptions): Promise<ArchivedThreads<PrivateThreadChannel>>;
33
+ toJSON(): JSONTextChannel;
34
+ }
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const ThreadableChannel_1 = tslib_1.__importDefault(require("./ThreadableChannel"));
5
+ const Constants_1 = require("../Constants");
6
+ /** Represents a guild text channel. */
7
+ class TextChannel extends ThreadableChannel_1.default {
8
+ constructor(data, client) {
9
+ super(data, client);
10
+ }
11
+ /**
12
+ * Convert this text channel to a announcement channel.
13
+ */
14
+ async convert() {
15
+ return this.client.rest.channels.edit(this.id, { type: Constants_1.ChannelTypes.GUILD_ANNOUNCEMENT });
16
+ }
17
+ /**
18
+ * Follow an announcement channel to this channel.
19
+ * @param webhookChannelID The ID of the channel to follow the announcement channel to.
20
+ */
21
+ async followAnnouncement(webhookChannelID) {
22
+ return this.client.rest.channels.followAnnouncement(this.id, webhookChannelID);
23
+ }
24
+ /**
25
+ * Get the private archived threads the current user has joined in this channel.
26
+ * @param options The options for getting the joined private archived threads.
27
+ */
28
+ async getJoinedPrivateArchivedThreads(options) {
29
+ return this.client.rest.channels.getJoinedPrivateArchivedThreads(this.id, options);
30
+ }
31
+ /**
32
+ * Get the private archived threads in this channel.
33
+ * @param options The options for getting the private archived threads.
34
+ */
35
+ async getPrivateArchivedThreads(options) {
36
+ return this.client.rest.channels.getPrivateArchivedThreads(this.id, options);
37
+ }
38
+ toJSON() {
39
+ return {
40
+ ...super.toJSON(),
41
+ type: this.type
42
+ };
43
+ }
44
+ }
45
+ exports.default = TextChannel;
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGV4dENoYW5uZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvc3RydWN0dXJlcy9UZXh0Q2hhbm5lbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFJQSxvRkFBb0Q7QUFDcEQsNENBQTRDO0FBSzVDLHVDQUF1QztBQUN2QyxNQUFxQixXQUFZLFNBQVEsMkJBQTBFO0lBRS9HLFlBQVksSUFBb0IsRUFBRSxNQUFjO1FBQzVDLEtBQUssQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDeEIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsS0FBSyxDQUFDLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQXNCLElBQUksQ0FBQyxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsd0JBQVksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLENBQUM7SUFDbkgsQ0FBQztJQUVEOzs7T0FHRztJQUNILEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxnQkFBd0I7UUFDN0MsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ25GLENBQUM7SUFFRDs7O09BR0c7SUFDSCxLQUFLLENBQUMsK0JBQStCLENBQUMsT0FBbUM7UUFDckUsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsK0JBQStCLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN2RixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsS0FBSyxDQUFDLHlCQUF5QixDQUFDLE9BQW1DO1FBQy9ELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLHlCQUF5QixDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDakYsQ0FBQztJQUVRLE1BQU07UUFDWCxPQUFPO1lBQ0gsR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFO1lBQ2pCLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtTQUNsQixDQUFDO0lBQ04sQ0FBQztDQUNKO0FBM0NELDhCQTJDQyJ9
@@ -0,0 +1,158 @@
1
+ /** @module TextableChannel */
2
+ import GuildChannel from "./GuildChannel";
3
+ import PermissionOverwrite from "./PermissionOverwrite";
4
+ import Message from "./Message";
5
+ import type Invite from "./Invite";
6
+ import type CategoryChannel from "./CategoryChannel";
7
+ import type Member from "./Member";
8
+ import Permission from "./Permission";
9
+ import type User from "./User";
10
+ import type Webhook from "./Webhook";
11
+ import type Client from "../Client";
12
+ import TypedCollection from "../util/TypedCollection";
13
+ import type { CreateInviteOptions, CreateMessageOptions, EditMessageOptions, EditPermissionOptions, GetChannelMessagesOptions, GetReactionsOptions, RawMessage, RawAnnouncementChannel, RawOverwrite, RawTextChannel, PurgeOptions } from "../types/channels";
14
+ import type { JSONTextableChannel } from "../types/json";
15
+ import type { AnyTextableGuildChannel, CreateWebhookOptions, RawStageChannel, RawVoiceChannel } from "../types";
16
+ /** Represents a guild textable channel. */
17
+ export default class TextableChannel<T extends AnyTextableGuildChannel = AnyTextableGuildChannel> extends GuildChannel {
18
+ /** The last message sent in this channel. This will only be present if a message has been sent within the current session. */
19
+ lastMessage?: Message<T> | null;
20
+ /** The ID of last message sent in this channel. */
21
+ lastMessageID: string | null;
22
+ /** The cached messages in this channel. */
23
+ messages: TypedCollection<RawMessage, Message<T>>;
24
+ /** If this channel is age gated. */
25
+ nsfw: boolean;
26
+ /** The permission overwrites of this channel. */
27
+ permissionOverwrites: TypedCollection<RawOverwrite, PermissionOverwrite>;
28
+ /** The position of this channel on the sidebar. */
29
+ position: number;
30
+ /** The amount of seconds between non-moderators sending messages. */
31
+ rateLimitPerUser: number;
32
+ /** The topic of the channel. */
33
+ topic: string | null;
34
+ type: T["type"];
35
+ constructor(data: RawTextChannel | RawAnnouncementChannel | RawVoiceChannel | RawStageChannel, client: Client);
36
+ protected update(data: Partial<RawTextChannel | RawAnnouncementChannel | RawVoiceChannel | RawStageChannel>): void;
37
+ get parent(): CategoryChannel | undefined | null;
38
+ /**
39
+ * Create an invite for this channel. If the guild is not a `COMMUNITY` server, invites can only be made to last 30 days.
40
+ * @param options The options for the invite.
41
+ */
42
+ createInvite(options: CreateInviteOptions): Promise<Invite<"withMetadata", T>>;
43
+ /**
44
+ * Create a message in this channel.
45
+ * @param options The options for the message.
46
+ */
47
+ createMessage(options: CreateMessageOptions): Promise<Message<T>>;
48
+ /**
49
+ * Add a reaction to a message in this channel.
50
+ * @param messageID The ID of the message to add a reaction to.
51
+ * @param emoji The reaction to add to the message. `name:id` for custom emojis, and the unicode codepoint for default emojis.
52
+ */
53
+ createReaction(messageID: string, emoji: string): Promise<void>;
54
+ /**
55
+ * Create a webhook in this channel.
56
+ * @param options The options to create the webhook with.
57
+ */
58
+ createWebhook(options: CreateWebhookOptions): Promise<Webhook>;
59
+ /**
60
+ * Delete a message in this channel.
61
+ * @param messageID The ID of the message to delete.
62
+ * @param reason The reason for deleting the message.
63
+ */
64
+ deleteMessage(messageID: string, reason?: string): Promise<void>;
65
+ /**
66
+ * Bulk delete messages in this channel.
67
+ * @param messageIDs The IDs of the messages to delete. Any duplicates or messages older than two weeks will cause an error.
68
+ * @param reason The reason for deleting the messages.
69
+ */
70
+ deleteMessages(messageIDs: Array<string>, reason?: string): Promise<number>;
71
+ /**
72
+ * Delete a permission overwrite on this channel.
73
+ * @param overwriteID The ID of the permission overwrite to delete.
74
+ * @param reason The reason for deleting the permission overwrite.
75
+ */
76
+ deletePermission(overwriteID: string, reason?: string): Promise<void>;
77
+ /**
78
+ * Remove a reaction from a message in this channel.
79
+ * @param messageID The ID of the message to remove a reaction from.
80
+ * @param emoji The reaction to remove from the message. `name:id` for custom emojis, and the unicode codepoint for default emojis.
81
+ * @param user The user to remove the reaction from, `@me` for the current user (default).
82
+ */
83
+ deleteReaction(messageID: string, emoji: string, user?: string): Promise<void>;
84
+ /**
85
+ * Remove all, or a specific emoji's reactions from a message in this channel.
86
+ * @param messageID The ID of the message to remove reactions from.
87
+ * @param emoji The reaction to remove from the message. `name:id` for custom emojis, and the unicode codepoint for default emojis. Omit to remove all reactions.
88
+ */
89
+ deleteReactions(messageID: string, emoji?: string): Promise<void>;
90
+ /**
91
+ * Edit a message in this channel.
92
+ * @param messageID The ID of the message to edit.
93
+ * @param options The options for editing the message.
94
+ */
95
+ editMessage(messageID: string, options: EditMessageOptions): Promise<Message<T>>;
96
+ /**
97
+ * Edit a permission overwrite on this channel.
98
+ * @param overwriteID The ID of the permission overwrite to edit.
99
+ * @param options The options for editing the permission overwrite.
100
+ */
101
+ editPermission(overwriteID: string, options: EditPermissionOptions): Promise<void>;
102
+ /**
103
+ * Get the invites of this channel.
104
+ */
105
+ getInvites(): Promise<Array<Invite<"withMetadata", T>>>;
106
+ /**
107
+ * Get a message in this channel.
108
+ * @param messageID The ID of the message to get.
109
+ */
110
+ getMessage(messageID: string): Promise<Message<T>>;
111
+ /**
112
+ * Get messages in this channel.
113
+ * @param options The options for getting the messages. `before`, `after`, and `around `All are mutually exclusive.
114
+ */
115
+ getMessages(options?: GetChannelMessagesOptions): Promise<Array<Message<T>>>;
116
+ /**
117
+ * Get the pinned messages in this channel.
118
+ */
119
+ getPinnedMessages(): Promise<Array<Message<T>>>;
120
+ /**
121
+ * Get the users who reacted with a specific emoji on a message in this channel.
122
+ * @param messageID The ID of the message to get reactions from.
123
+ * @param emoji The reaction to remove from the message. `name:id` for custom emojis, and the unicode codepoint for default emojis.
124
+ * @param options The options for getting the reactions.
125
+ */
126
+ getReactions(messageID: string, emoji: string, options?: GetReactionsOptions): Promise<Array<User>>;
127
+ /**
128
+ * Get the webhooks in this channel.
129
+ */
130
+ getWebhooks(): Promise<Array<Webhook>>;
131
+ /**
132
+ * Get the permissions of a member. If providing an id, the member must be cached.
133
+ * @param member The member to get the permissions of.
134
+ */
135
+ permissionsOf(member: string | Member): Permission;
136
+ /**
137
+ * Pin a message in this channel.
138
+ * @param messageID The ID of the message to pin.
139
+ * @param reason The reason for pinning the message.
140
+ */
141
+ pinMessage(messageID: string, reason?: string): Promise<void>;
142
+ /**
143
+ * Purge an amount of messages from this channel.
144
+ * @param options The options to purge. `before`, `after`, and `around `All are mutually exclusive.
145
+ */
146
+ purge(options: PurgeOptions<T>): Promise<number>;
147
+ /**
148
+ * Show a typing indicator in this channel. How long users see this varies from client to client.
149
+ */
150
+ sendTyping(): Promise<void>;
151
+ toJSON(): JSONTextableChannel;
152
+ /**
153
+ * Unpin a message in this channel.
154
+ * @param messageID The ID of the message to unpin.
155
+ * @param reason The reason for unpinning the message.
156
+ */
157
+ unpinMessage(messageID: string, reason?: string): Promise<void>;
158
+ }