disgroove 1.3.1 → 1.3.3-dev.1

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 (267) hide show
  1. package/README.md +1 -1
  2. package/dist/lib/Client.d.ts +234 -0
  3. package/dist/lib/Client.js +256 -0
  4. package/dist/lib/Client.js.map +1 -0
  5. package/dist/lib/constants.d.ts +1084 -0
  6. package/dist/lib/constants.js +1163 -0
  7. package/dist/lib/constants.js.map +1 -0
  8. package/dist/lib/gateway/Shard.d.ts +25 -0
  9. package/dist/lib/gateway/Shard.js +522 -0
  10. package/dist/lib/gateway/Shard.js.map +1 -0
  11. package/dist/lib/gateway/ShardsManager.d.ts +5 -0
  12. package/dist/lib/gateway/ShardsManager.js +13 -0
  13. package/dist/lib/gateway/ShardsManager.js.map +1 -0
  14. package/dist/lib/gateway/index.d.ts +2 -0
  15. package/dist/lib/gateway/index.js +19 -0
  16. package/dist/lib/gateway/index.js.map +1 -0
  17. package/dist/lib/index.d.ts +7 -0
  18. package/dist/lib/index.js +24 -0
  19. package/dist/lib/index.js.map +1 -0
  20. package/dist/lib/rest/CDN.d.ts +21 -0
  21. package/dist/lib/rest/CDN.js +46 -0
  22. package/dist/lib/rest/CDN.js.map +1 -0
  23. package/dist/lib/rest/Endpoints.d.ts +94 -0
  24. package/dist/lib/rest/Endpoints.js +211 -0
  25. package/dist/lib/rest/Endpoints.js.map +1 -0
  26. package/dist/lib/rest/REST.d.ts +22 -0
  27. package/dist/lib/rest/REST.js +35 -0
  28. package/dist/lib/rest/REST.js.map +1 -0
  29. package/dist/lib/rest/RequestsManager.d.ts +17 -0
  30. package/dist/lib/rest/RequestsManager.js +124 -0
  31. package/dist/lib/rest/RequestsManager.js.map +1 -0
  32. package/dist/lib/rest/index.d.ts +4 -0
  33. package/dist/lib/rest/index.js +34 -0
  34. package/dist/lib/rest/index.js.map +1 -0
  35. package/dist/lib/structures/Application.d.ts +174 -0
  36. package/dist/lib/structures/Application.js +328 -0
  37. package/dist/lib/structures/Application.js.map +1 -0
  38. package/dist/lib/structures/ApplicationCommand.d.ts +45 -0
  39. package/dist/lib/structures/ApplicationCommand.js +127 -0
  40. package/dist/lib/structures/ApplicationCommand.js.map +1 -0
  41. package/dist/lib/structures/AuditLog.d.ts +20 -0
  42. package/dist/lib/structures/AuditLog.js +76 -0
  43. package/dist/lib/structures/AuditLog.js.map +1 -0
  44. package/dist/lib/structures/AutoModerationRule.d.ts +34 -0
  45. package/dist/lib/structures/AutoModerationRule.js +96 -0
  46. package/dist/lib/structures/AutoModerationRule.js.map +1 -0
  47. package/dist/lib/structures/Base.d.ts +17 -0
  48. package/dist/lib/structures/Base.js +31 -0
  49. package/dist/lib/structures/Base.js.map +1 -0
  50. package/dist/lib/structures/Channel.d.ts +253 -0
  51. package/dist/lib/structures/Channel.js +591 -0
  52. package/dist/lib/structures/Channel.js.map +1 -0
  53. package/dist/lib/structures/ClientApplication.d.ts +150 -0
  54. package/dist/lib/structures/ClientApplication.js +241 -0
  55. package/dist/lib/structures/ClientApplication.js.map +1 -0
  56. package/dist/lib/structures/Emoji.d.ts +28 -0
  57. package/dist/lib/structures/Emoji.js +79 -0
  58. package/dist/lib/structures/Emoji.js.map +1 -0
  59. package/dist/lib/structures/Entitlement.d.ts +24 -0
  60. package/dist/lib/structures/Entitlement.js +68 -0
  61. package/dist/lib/structures/Entitlement.js.map +1 -0
  62. package/dist/lib/structures/Guild.d.ts +462 -0
  63. package/dist/lib/structures/Guild.js +1095 -0
  64. package/dist/lib/structures/Guild.js.map +1 -0
  65. package/dist/lib/structures/GuildMember.d.ts +50 -0
  66. package/dist/lib/structures/GuildMember.js +149 -0
  67. package/dist/lib/structures/GuildMember.js.map +1 -0
  68. package/dist/lib/structures/GuildScheduledEvent.d.ts +49 -0
  69. package/dist/lib/structures/GuildScheduledEvent.js +118 -0
  70. package/dist/lib/structures/GuildScheduledEvent.js.map +1 -0
  71. package/dist/lib/structures/GuildTemplate.d.ts +32 -0
  72. package/dist/lib/structures/GuildTemplate.js +76 -0
  73. package/dist/lib/structures/GuildTemplate.js.map +1 -0
  74. package/dist/lib/structures/Integration.d.ts +30 -0
  75. package/dist/lib/structures/Integration.js +102 -0
  76. package/dist/lib/structures/Integration.js.map +1 -0
  77. package/dist/lib/structures/Interaction.d.ts +76 -0
  78. package/dist/lib/structures/Interaction.js +345 -0
  79. package/dist/lib/structures/Interaction.js.map +1 -0
  80. package/dist/lib/structures/Invite.d.ts +28 -0
  81. package/dist/lib/structures/Invite.js +86 -0
  82. package/dist/lib/structures/Invite.js.map +1 -0
  83. package/dist/lib/structures/Message.d.ts +84 -0
  84. package/dist/lib/structures/Message.js +300 -0
  85. package/dist/lib/structures/Message.js.map +1 -0
  86. package/dist/lib/structures/Role.d.ts +37 -0
  87. package/dist/lib/structures/Role.js +90 -0
  88. package/dist/lib/structures/Role.js.map +1 -0
  89. package/dist/lib/structures/SKU.d.ts +23 -0
  90. package/dist/lib/structures/SKU.js +63 -0
  91. package/dist/lib/structures/SKU.js.map +1 -0
  92. package/dist/lib/structures/StageInstance.d.ts +24 -0
  93. package/dist/lib/structures/StageInstance.js +57 -0
  94. package/dist/lib/structures/StageInstance.js.map +1 -0
  95. package/dist/lib/structures/Sticker.d.ts +31 -0
  96. package/dist/lib/structures/Sticker.js +86 -0
  97. package/dist/lib/structures/Sticker.js.map +1 -0
  98. package/dist/lib/structures/Team.d.ts +14 -0
  99. package/dist/lib/structures/Team.js +39 -0
  100. package/dist/lib/structures/Team.js.map +1 -0
  101. package/dist/lib/structures/TestEntitlement.d.ts +23 -0
  102. package/dist/lib/structures/TestEntitlement.js +61 -0
  103. package/dist/lib/structures/TestEntitlement.js.map +1 -0
  104. package/dist/lib/structures/UnavailableGuild.d.ts +11 -0
  105. package/dist/lib/structures/UnavailableGuild.js +25 -0
  106. package/dist/lib/structures/UnavailableGuild.js.map +1 -0
  107. package/dist/lib/structures/User.d.ts +63 -0
  108. package/dist/lib/structures/User.js +177 -0
  109. package/dist/lib/structures/User.js.map +1 -0
  110. package/dist/lib/structures/VoiceState.d.ts +26 -0
  111. package/dist/lib/structures/VoiceState.js +70 -0
  112. package/dist/lib/structures/VoiceState.js.map +1 -0
  113. package/dist/lib/structures/Webhook.d.ts +84 -0
  114. package/dist/lib/structures/Webhook.js +239 -0
  115. package/dist/lib/structures/Webhook.js.map +1 -0
  116. package/dist/lib/structures/index.d.ts +27 -0
  117. package/dist/lib/structures/index.js +44 -0
  118. package/dist/lib/structures/index.js.map +1 -0
  119. package/dist/lib/types/application-command.d.ts +102 -0
  120. package/dist/lib/types/application-command.js +3 -0
  121. package/dist/lib/types/application-command.js.map +1 -0
  122. package/dist/lib/types/application-role-connection-metadata.d.ts +18 -0
  123. package/dist/lib/types/application-role-connection-metadata.js +3 -0
  124. package/dist/lib/types/application-role-connection-metadata.js.map +1 -0
  125. package/dist/lib/types/application.d.ts +66 -0
  126. package/dist/lib/types/application.js +3 -0
  127. package/dist/lib/types/application.js.map +1 -0
  128. package/dist/lib/types/audit-log.d.ts +82 -0
  129. package/dist/lib/types/audit-log.js +3 -0
  130. package/dist/lib/types/audit-log.js.map +1 -0
  131. package/dist/lib/types/auto-moderation.d.ts +65 -0
  132. package/dist/lib/types/auto-moderation.js +3 -0
  133. package/dist/lib/types/auto-moderation.js.map +1 -0
  134. package/dist/lib/types/channel.d.ts +456 -0
  135. package/dist/lib/types/channel.js +3 -0
  136. package/dist/lib/types/channel.js.map +1 -0
  137. package/dist/lib/types/emoji.d.ts +22 -0
  138. package/dist/lib/types/emoji.js +3 -0
  139. package/dist/lib/types/emoji.js.map +1 -0
  140. package/dist/lib/types/entitlements.d.ts +32 -0
  141. package/dist/lib/types/entitlements.js +3 -0
  142. package/dist/lib/types/entitlements.js.map +1 -0
  143. package/dist/lib/types/gateway-events.d.ts +805 -0
  144. package/dist/lib/types/gateway-events.js +3 -0
  145. package/dist/lib/types/gateway-events.js.map +1 -0
  146. package/dist/lib/types/guild-scheduled-event.d.ts +57 -0
  147. package/dist/lib/types/guild-scheduled-event.js +3 -0
  148. package/dist/lib/types/guild-scheduled-event.js.map +1 -0
  149. package/dist/lib/types/guild-template.d.ts +28 -0
  150. package/dist/lib/types/guild-template.js +3 -0
  151. package/dist/lib/types/guild-template.js.map +1 -0
  152. package/dist/lib/types/guild.d.ts +333 -0
  153. package/dist/lib/types/guild.js +3 -0
  154. package/dist/lib/types/guild.js.map +1 -0
  155. package/dist/lib/types/index.d.ts +23 -0
  156. package/dist/lib/types/index.js +40 -0
  157. package/dist/lib/types/index.js.map +1 -0
  158. package/dist/lib/types/interaction.d.ts +170 -0
  159. package/dist/lib/types/interaction.js +3 -0
  160. package/dist/lib/types/interaction.js.map +1 -0
  161. package/dist/lib/types/invite.d.ts +59 -0
  162. package/dist/lib/types/invite.js +3 -0
  163. package/dist/lib/types/invite.js.map +1 -0
  164. package/dist/lib/types/message-components.d.ts +100 -0
  165. package/dist/lib/types/message-components.js +3 -0
  166. package/dist/lib/types/message-components.js.map +1 -0
  167. package/dist/lib/types/role.d.ts +47 -0
  168. package/dist/lib/types/role.js +3 -0
  169. package/dist/lib/types/role.js.map +1 -0
  170. package/dist/lib/types/sku.d.ts +30 -0
  171. package/dist/lib/types/sku.js +3 -0
  172. package/dist/lib/types/sku.js.map +1 -0
  173. package/dist/lib/types/stage-instance.d.ts +20 -0
  174. package/dist/lib/types/stage-instance.js +3 -0
  175. package/dist/lib/types/stage-instance.js.map +1 -0
  176. package/dist/lib/types/sticker.d.ts +61 -0
  177. package/dist/lib/types/sticker.js +3 -0
  178. package/dist/lib/types/sticker.js.map +1 -0
  179. package/dist/lib/types/team.d.ts +30 -0
  180. package/dist/lib/types/team.js +3 -0
  181. package/dist/lib/types/team.js.map +1 -0
  182. package/dist/lib/types/user.d.ts +77 -0
  183. package/dist/lib/types/user.js +3 -0
  184. package/dist/lib/types/user.js.map +1 -0
  185. package/dist/lib/types/voice.d.ts +47 -0
  186. package/dist/lib/types/voice.js +3 -0
  187. package/dist/lib/types/voice.js.map +1 -0
  188. package/dist/lib/types/webhook.d.ts +31 -0
  189. package/dist/lib/types/webhook.js +3 -0
  190. package/dist/lib/types/webhook.js.map +1 -0
  191. package/dist/lib/utils/Util.d.ts +15 -0
  192. package/dist/lib/utils/Util.js +543 -0
  193. package/dist/lib/utils/Util.js.map +1 -0
  194. package/dist/lib/utils/errors.d.ts +12 -0
  195. package/dist/lib/utils/errors.js +25 -0
  196. package/dist/lib/utils/errors.js.map +1 -0
  197. package/dist/lib/utils/index.d.ts +2 -0
  198. package/dist/lib/utils/index.js +19 -0
  199. package/dist/lib/utils/index.js.map +1 -0
  200. package/dist/package.json +1 -1
  201. package/lib/Client.ts +616 -0
  202. package/lib/constants.ts +1173 -0
  203. package/lib/gateway/Shard.ts +704 -0
  204. package/lib/gateway/ShardsManager.ts +11 -0
  205. package/lib/gateway/index.ts +2 -0
  206. package/lib/index.ts +7 -0
  207. package/lib/rest/CDN.ts +56 -0
  208. package/lib/rest/Endpoints.ts +241 -0
  209. package/lib/rest/REST.ts +45 -0
  210. package/lib/rest/RequestsManager.ts +134 -0
  211. package/lib/rest/index.ts +4 -0
  212. package/lib/structures/Application.ts +599 -0
  213. package/lib/structures/ApplicationCommand.ts +187 -0
  214. package/lib/structures/AuditLog.ts +112 -0
  215. package/lib/structures/AutoModerationRule.ts +127 -0
  216. package/lib/structures/Base.ts +39 -0
  217. package/lib/structures/Channel.ts +921 -0
  218. package/lib/structures/ClientApplication.ts +515 -0
  219. package/lib/structures/Emoji.ts +95 -0
  220. package/lib/structures/Entitlement.ts +65 -0
  221. package/lib/structures/Guild.ts +1842 -0
  222. package/lib/structures/GuildMember.ts +193 -0
  223. package/lib/structures/GuildScheduledEvent.ts +164 -0
  224. package/lib/structures/GuildTemplate.ts +103 -0
  225. package/lib/structures/Integration.ts +136 -0
  226. package/lib/structures/Interaction.ts +506 -0
  227. package/lib/structures/Invite.ts +108 -0
  228. package/lib/structures/Message.ts +421 -0
  229. package/lib/structures/Role.ts +116 -0
  230. package/lib/structures/SKU.ts +63 -0
  231. package/lib/structures/StageInstance.ts +74 -0
  232. package/lib/structures/Sticker.ts +100 -0
  233. package/lib/structures/Team.ts +41 -0
  234. package/lib/structures/TestEntitlement.ts +78 -0
  235. package/lib/structures/UnavailableGuild.ts +27 -0
  236. package/lib/structures/User.ts +233 -0
  237. package/lib/structures/VoiceState.ts +72 -0
  238. package/lib/structures/Webhook.ts +341 -0
  239. package/lib/structures/index.ts +27 -0
  240. package/lib/types/application-command.ts +118 -0
  241. package/lib/types/application-role-connection-metadata.ts +23 -0
  242. package/lib/types/application.ts +77 -0
  243. package/lib/types/audit-log.ts +105 -0
  244. package/lib/types/auto-moderation.ts +78 -0
  245. package/lib/types/channel.ts +534 -0
  246. package/lib/types/emoji.ts +24 -0
  247. package/lib/types/entitlements.ts +34 -0
  248. package/lib/types/gateway-events.ts +970 -0
  249. package/lib/types/guild-scheduled-event.ts +67 -0
  250. package/lib/types/guild-template.ts +30 -0
  251. package/lib/types/guild.ts +388 -0
  252. package/lib/types/index.ts +23 -0
  253. package/lib/types/interaction.ts +224 -0
  254. package/lib/types/invite.ts +78 -0
  255. package/lib/types/message-components.ts +127 -0
  256. package/lib/types/role.ts +51 -0
  257. package/lib/types/sku.ts +32 -0
  258. package/lib/types/stage-instance.ts +22 -0
  259. package/lib/types/sticker.ts +67 -0
  260. package/lib/types/team.ts +34 -0
  261. package/lib/types/user.ts +93 -0
  262. package/lib/types/voice.ts +51 -0
  263. package/lib/types/webhook.ts +40 -0
  264. package/lib/utils/Util.ts +600 -0
  265. package/lib/utils/errors.ts +23 -0
  266. package/lib/utils/index.ts +2 -0
  267. package/package.json +1 -1
@@ -0,0 +1,102 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Integration = void 0;
4
+ const _1 = require(".");
5
+ const rest_1 = require("../rest");
6
+ /** https://discord.com/developers/docs/resources/guild */
7
+ class Integration extends _1.Base {
8
+ raw;
9
+ name;
10
+ type;
11
+ enabled;
12
+ syncing;
13
+ roleId;
14
+ enableEmoticons;
15
+ expireBehavior;
16
+ expireGracePeriod;
17
+ user;
18
+ account;
19
+ syncedAt;
20
+ subscriberCount;
21
+ revoked;
22
+ application;
23
+ scopes;
24
+ guildId;
25
+ constructor(data, client) {
26
+ super(data.id, client);
27
+ this.raw = data;
28
+ this.name = data.name;
29
+ this.type = data.type;
30
+ this.enabled = data.enabled;
31
+ this.account = data.account;
32
+ this.patch(data);
33
+ }
34
+ patch(data) {
35
+ if (data.syncing !== undefined)
36
+ this.syncing = data.syncing;
37
+ if (data.role_id !== undefined)
38
+ this.roleId = data.role_id;
39
+ if (data.enable_emoticons !== undefined)
40
+ this.enableEmoticons = data.enable_emoticons;
41
+ if (data.expire_behavior !== undefined)
42
+ this.expireBehavior = data.expire_behavior;
43
+ if (data.expire_grace_period !== undefined)
44
+ this.expireGracePeriod = data.expire_grace_period;
45
+ if (data.user !== undefined)
46
+ this.user = new _1.User(data.user, this.client);
47
+ if (data.synced_at !== undefined)
48
+ this.syncedAt = data.synced_at;
49
+ if (data.subscriber_count !== undefined)
50
+ this.subscriberCount = data.subscriber_count;
51
+ if (data.revoked !== undefined)
52
+ this.revoked = data.revoked;
53
+ if (data.application !== undefined)
54
+ this.application = {
55
+ id: data.application.id,
56
+ name: data.application.name,
57
+ icon: data.application.icon,
58
+ description: data.application.description,
59
+ bot: data.application.bot !== undefined
60
+ ? new _1.User(data.application.bot, this.client).toJSON()
61
+ : undefined,
62
+ };
63
+ if (data.scopes !== undefined)
64
+ this.scopes = data.scopes;
65
+ if (data.guild_id !== undefined)
66
+ this.guildId = data.guild_id;
67
+ }
68
+ /** https://discord.com/developers/docs/resources/guild#delete-guild-integration */
69
+ delete(reason) {
70
+ if (!this.guildId)
71
+ throw new Error("[disgroove] Guild ID not found");
72
+ this.client.rest.delete(rest_1.Endpoints.guildIntegration(this.guildId, this.id), {
73
+ reason,
74
+ });
75
+ }
76
+ toRaw() {
77
+ return this.raw;
78
+ }
79
+ toJSON() {
80
+ return {
81
+ ...super.toJSON(),
82
+ name: this.name,
83
+ type: this.type,
84
+ enabled: this.enabled,
85
+ syncing: this.syncing,
86
+ roleId: this.roleId,
87
+ enableEmoticons: this.enableEmoticons,
88
+ expireBehavior: this.expireBehavior,
89
+ expireGracePeriod: this.expireGracePeriod,
90
+ user: this.user?.toJSON(),
91
+ account: this.account,
92
+ syncedAt: this.syncedAt,
93
+ subscriberCount: this.subscriberCount,
94
+ revoked: this.revoked,
95
+ application: this.application,
96
+ scopes: this.scopes,
97
+ guildId: this.guildId,
98
+ };
99
+ }
100
+ }
101
+ exports.Integration = Integration;
102
+ //# sourceMappingURL=Integration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Integration.js","sourceRoot":"","sources":["../../../lib/structures/Integration.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,76 @@
1
+ import { Base, Channel, Entitlement, GuildMember, Message, User } from ".";
2
+ import type { Client } from "../Client";
3
+ import { type File } from "../rest";
4
+ import type { JSONActionRow, JSONAllowedMentions, JSONApplicationCommandData, JSONAttachment, JSONEmbed, JSONInteraction, JSONInteractionResponse, JSONMessageComponentData, JSONModalSubmitData, RawInteraction } from "../types";
5
+ import { type InteractionType, type MessageFlags } from "../constants";
6
+ /** https://discord.com/developers/docs/interactions/receiving-and-responding */
7
+ export declare class Interaction extends Base {
8
+ protected raw: RawInteraction;
9
+ applicationId: string;
10
+ type: InteractionType;
11
+ data?: JSONApplicationCommandData & JSONMessageComponentData & JSONModalSubmitData;
12
+ guildId?: string;
13
+ channel?: Channel;
14
+ channelId?: string;
15
+ member?: GuildMember;
16
+ user?: User;
17
+ token: string;
18
+ version: number;
19
+ message?: Message;
20
+ appPermissions?: string;
21
+ locale?: string;
22
+ guildLocale?: string;
23
+ entitlements: Array<Entitlement>;
24
+ constructor(data: RawInteraction, client: Client);
25
+ protected patch(data: RawInteraction): void;
26
+ /** https://discord.com/developers/docs/interactions/receiving-and-responding#create-followup-message */
27
+ createFollowupMessage(options: {
28
+ content?: string | null;
29
+ tts?: boolean;
30
+ embeds?: Array<JSONEmbed> | null;
31
+ allowedMentions?: JSONAllowedMentions | null;
32
+ components?: Array<JSONActionRow> | null;
33
+ files?: Array<File> | null;
34
+ attachments?: Array<JSONAttachment> | null;
35
+ flags?: MessageFlags | null;
36
+ threadName?: string;
37
+ }): Promise<Message>;
38
+ /** https://discord.com/developers/docs/interactions/receiving-and-responding#create-interaction-response */
39
+ createResponse(options: JSONInteractionResponse): void;
40
+ /** https://discord.com/developers/docs/interactions/receiving-and-responding#delete-followup-message */
41
+ deleteFollowupMessage(messageId: string): void;
42
+ /** https://discord.com/developers/docs/interactions/receiving-and-responding#delete-original-interaction-response */
43
+ deleteResponse(): void;
44
+ /** https://discord.com/developers/docs/interactions/receiving-and-responding#edit-followup-message */
45
+ editFollowupMessage(messageId: string, options: {
46
+ threadId?: string;
47
+ content?: string | null;
48
+ embeds?: Array<JSONEmbed> | null;
49
+ flags?: MessageFlags | null;
50
+ allowedMentions?: JSONAllowedMentions | null;
51
+ components?: Array<JSONActionRow> | null;
52
+ files?: Array<File> | null;
53
+ attachments?: Array<JSONAttachment> | null;
54
+ }): Promise<Message>;
55
+ /** https://discord.com/developers/docs/interactions/receiving-and-responding#edit-original-interaction-response */
56
+ editResponse(options: {
57
+ threadId?: string;
58
+ content?: string | null;
59
+ embeds?: Array<JSONEmbed> | null;
60
+ flags?: MessageFlags | null;
61
+ allowedMentions?: JSONAllowedMentions | null;
62
+ components?: Array<JSONActionRow> | null;
63
+ files?: Array<File> | null;
64
+ attachments?: Array<JSONAttachment> | null;
65
+ }): Promise<Message>;
66
+ /** https://discord.com/developers/docs/interactions/receiving-and-responding#get-followup-message */
67
+ getFollowupMessage(messageId: string, options?: {
68
+ threadId?: string;
69
+ }): Promise<Message>;
70
+ /** https://discord.com/developers/docs/interactions/receiving-and-responding#get-original-interaction-response */
71
+ getResponse(options?: {
72
+ threadId?: string;
73
+ }): Promise<Message>;
74
+ toRaw(): RawInteraction;
75
+ toJSON(): JSONInteraction;
76
+ }
@@ -0,0 +1,345 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Interaction = void 0;
4
+ const _1 = require(".");
5
+ const rest_1 = require("../rest");
6
+ const constants_1 = require("../constants");
7
+ /** https://discord.com/developers/docs/interactions/receiving-and-responding */
8
+ class Interaction extends _1.Base {
9
+ raw;
10
+ applicationId;
11
+ type;
12
+ data;
13
+ guildId;
14
+ channel;
15
+ channelId;
16
+ member;
17
+ user;
18
+ token;
19
+ version;
20
+ message;
21
+ appPermissions;
22
+ locale;
23
+ guildLocale;
24
+ entitlements;
25
+ constructor(data, client) {
26
+ super(data.id, client);
27
+ this.raw = data;
28
+ this.applicationId = data.application_id;
29
+ this.type = data.type;
30
+ this.token = data.token;
31
+ this.version = data.version;
32
+ this.entitlements = data.entitlements.map((entitlement) => new _1.Entitlement(entitlement, this.client));
33
+ this.patch(data);
34
+ }
35
+ patch(data) {
36
+ if (data.data !== undefined)
37
+ this.data = {
38
+ id: data.data.id,
39
+ name: data.data.name,
40
+ type: data.data.type,
41
+ resolved: {
42
+ users: data.data.resolved?.users !== undefined
43
+ ? new Map(Object.entries(data.data.resolved.users).map(([id, user]) => [
44
+ id,
45
+ new _1.User(user, this.client).toJSON(),
46
+ ]))
47
+ : undefined,
48
+ members: data.data.resolved?.members !== undefined
49
+ ? new Map(Object.entries(data.data.resolved.members).map(([id, member]) => [
50
+ id,
51
+ new _1.GuildMember(member, this.client).toJSON(),
52
+ ]))
53
+ : undefined,
54
+ roles: data.data.resolved?.roles !== undefined
55
+ ? new Map(Object.entries(data.data.resolved.roles).map(([id, role]) => [
56
+ id,
57
+ new _1.Role(role, this.client).toJSON(),
58
+ ]))
59
+ : undefined,
60
+ channels: data.data.resolved?.channels !== undefined
61
+ ? new Map(Object.entries(data.data.resolved.channels).map(([id, channel]) => [
62
+ id,
63
+ new _1.Channel(channel, this.client).toJSON(),
64
+ ]))
65
+ : undefined,
66
+ messages: data.data.resolved?.messages !== undefined
67
+ ? new Map(Object.entries(data.data.resolved.messages).map(([id, message]) => [
68
+ id,
69
+ new _1.Message(message, this.client).toJSON(),
70
+ ]))
71
+ : undefined,
72
+ attachments: data.data.resolved?.attachments !== undefined
73
+ ? new Map(Object.entries(data.data.resolved.attachments).map(([id, attachment]) => [
74
+ id,
75
+ this.client.util.attachmentToJSON(attachment),
76
+ ]))
77
+ : undefined,
78
+ },
79
+ options: data.data.options,
80
+ guildId: data.data.guild_id,
81
+ targetId: data.data.target_id,
82
+ customId: data.data.custom_id,
83
+ componentType: data.data.component_type,
84
+ values: data.data.values,
85
+ components: data.data.components?.map((component) => ({
86
+ type: component.type,
87
+ components: component.components?.map((c) => ({
88
+ type: c.type,
89
+ customId: c.custom_id,
90
+ style: c.style,
91
+ label: c.label,
92
+ minLength: c.min_length,
93
+ maxLength: c.max_length,
94
+ required: c.required,
95
+ value: c.value,
96
+ placeholder: c.placeholder,
97
+ })),
98
+ })),
99
+ };
100
+ if (data.guild_id !== undefined)
101
+ this.guildId = data.guild_id;
102
+ if (data.channel !== undefined)
103
+ this.channel = new _1.Channel(data.channel, this.client);
104
+ if (data.channel_id !== undefined)
105
+ this.channelId = data.channel_id;
106
+ if (data.member !== undefined)
107
+ this.member = new _1.GuildMember(data.member, this.client);
108
+ if (data.user !== undefined)
109
+ this.user = new _1.User(data.user, this.client);
110
+ if (data.message !== undefined)
111
+ this.message = new _1.Message(data.message, this.client);
112
+ if (data.app_permissions !== undefined)
113
+ this.appPermissions = data.app_permissions;
114
+ if (data.locale !== undefined)
115
+ this.locale = data.locale;
116
+ if (data.guild_locale !== undefined)
117
+ this.guildLocale = data.guild_locale;
118
+ }
119
+ /** https://discord.com/developers/docs/interactions/receiving-and-responding#create-followup-message */
120
+ async createFollowupMessage(options) {
121
+ return new _1.Message(await this.client.rest.post(rest_1.Endpoints.webhook(this.applicationId, this.token), {
122
+ json: {
123
+ content: options.content,
124
+ tts: options.tts,
125
+ embeds: options.embeds !== undefined
126
+ ? options.embeds !== null
127
+ ? this.client.util.embedsToRaw(options.embeds)
128
+ : null
129
+ : undefined,
130
+ allowed_mentions: {
131
+ parse: options.allowedMentions?.parse,
132
+ roles: options.allowedMentions?.roles,
133
+ users: options.allowedMentions?.users,
134
+ replied_user: options.allowedMentions?.repliedUser,
135
+ },
136
+ components: options.components !== undefined
137
+ ? options.components !== null
138
+ ? this.client.util.messageComponentsToRaw(options.components)
139
+ : null
140
+ : undefined,
141
+ attachments: options.attachments,
142
+ flags: options.flags,
143
+ thread_name: options.threadName,
144
+ },
145
+ files: options.files,
146
+ }), this.client);
147
+ }
148
+ /** https://discord.com/developers/docs/interactions/receiving-and-responding#create-interaction-response */
149
+ createResponse(options) {
150
+ switch (options.type) {
151
+ case constants_1.InteractionCallbackType.ChannelMessageWithSource:
152
+ case constants_1.InteractionCallbackType.UpdateMessage:
153
+ {
154
+ this.client.rest.post(rest_1.Endpoints.interactionCallback(this.id, this.token), {
155
+ json: {
156
+ type: options.type,
157
+ data: {
158
+ content: options.data?.content,
159
+ embeds: options.data?.embeds !== undefined
160
+ ? this.client.util.embedsToRaw(options.data.embeds)
161
+ : undefined,
162
+ allowed_mentions: {
163
+ parse: options.data?.allowedMentions?.parse,
164
+ roles: options.data?.allowedMentions?.roles,
165
+ users: options.data?.allowedMentions?.users,
166
+ replied_user: options.data?.allowedMentions?.repliedUser,
167
+ },
168
+ flags: options.data?.flags,
169
+ components: options.data?.components !== undefined
170
+ ? this.client.util.messageComponentsToRaw(options.data.components)
171
+ : undefined,
172
+ attachments: options.data?.attachments,
173
+ },
174
+ },
175
+ files: options.data?.files,
176
+ });
177
+ }
178
+ break;
179
+ case constants_1.InteractionCallbackType.DeferredChannelMessageWithSource:
180
+ case constants_1.InteractionCallbackType.DeferredUpdateMessage:
181
+ {
182
+ this.client.rest.post(rest_1.Endpoints.interactionCallback(this.id, this.token), {
183
+ json: {
184
+ type: options.type,
185
+ data: {
186
+ flags: options.data?.flags,
187
+ },
188
+ },
189
+ });
190
+ }
191
+ break;
192
+ case constants_1.InteractionCallbackType.ApplicationCommandAutocompleteResult:
193
+ {
194
+ this.client.rest.post(rest_1.Endpoints.interactionCallback(this.id, this.token), {
195
+ json: {
196
+ type: options.type,
197
+ data: {
198
+ choices: options.data?.choices?.map((choice) => ({
199
+ name: choice.name,
200
+ name_localizations: choice.nameLocalizations,
201
+ value: choice.value,
202
+ })),
203
+ },
204
+ },
205
+ });
206
+ }
207
+ break;
208
+ case constants_1.InteractionCallbackType.Modal:
209
+ {
210
+ this.client.rest.post(rest_1.Endpoints.interactionCallback(this.id, this.token), {
211
+ json: {
212
+ type: options.type,
213
+ data: {
214
+ custom_id: options.data?.customId,
215
+ components: options.data?.components !== undefined
216
+ ? this.client.util.messageComponentsToRaw(options.data.components)
217
+ : undefined,
218
+ title: options.data?.title,
219
+ },
220
+ },
221
+ });
222
+ }
223
+ break;
224
+ case constants_1.InteractionCallbackType.PremiumRequired:
225
+ {
226
+ this.client.rest.post(rest_1.Endpoints.interactionCallback(this.id, this.token), {
227
+ json: {
228
+ type: options.type,
229
+ data: {},
230
+ },
231
+ });
232
+ }
233
+ break;
234
+ }
235
+ }
236
+ /** https://discord.com/developers/docs/interactions/receiving-and-responding#delete-followup-message */
237
+ deleteFollowupMessage(messageId) {
238
+ this.client.rest.delete(rest_1.Endpoints.webhookMessage(this.applicationId, this.token, messageId));
239
+ }
240
+ /** https://discord.com/developers/docs/interactions/receiving-and-responding#delete-original-interaction-response */
241
+ deleteResponse() {
242
+ this.client.rest.delete(rest_1.Endpoints.webhookMessage(this.applicationId, this.token));
243
+ }
244
+ /** https://discord.com/developers/docs/interactions/receiving-and-responding#edit-followup-message */
245
+ async editFollowupMessage(messageId, options) {
246
+ return new _1.Message(await this.client.rest.post(rest_1.Endpoints.webhookMessage(this.applicationId, this.token, messageId), {
247
+ json: {
248
+ content: options.content,
249
+ embeds: options.embeds !== undefined
250
+ ? options.embeds !== null
251
+ ? this.client.util.embedsToRaw(options.embeds)
252
+ : null
253
+ : undefined,
254
+ allowed_mentions: {
255
+ parse: options.allowedMentions?.parse,
256
+ roles: options.allowedMentions?.roles,
257
+ users: options.allowedMentions?.users,
258
+ replied_user: options.allowedMentions?.repliedUser,
259
+ },
260
+ components: options.components !== undefined
261
+ ? options.components !== null
262
+ ? this.client.util.messageComponentsToRaw(options.components)
263
+ : null
264
+ : undefined,
265
+ attachments: options.attachments,
266
+ flags: options.flags,
267
+ },
268
+ files: options.files,
269
+ query: {
270
+ thread_id: options.threadId,
271
+ },
272
+ }), this.client);
273
+ }
274
+ /** https://discord.com/developers/docs/interactions/receiving-and-responding#edit-original-interaction-response */
275
+ async editResponse(options) {
276
+ return new _1.Message(await this.client.rest.patch(rest_1.Endpoints.webhookMessage(this.applicationId, this.token), {
277
+ json: {
278
+ content: options.content,
279
+ embeds: options.embeds !== undefined
280
+ ? options.embeds !== null
281
+ ? this.client.util.embedsToRaw(options.embeds)
282
+ : null
283
+ : undefined,
284
+ allowed_mentions: {
285
+ parse: options.allowedMentions?.parse,
286
+ roles: options.allowedMentions?.roles,
287
+ users: options.allowedMentions?.users,
288
+ replied_user: options.allowedMentions?.repliedUser,
289
+ },
290
+ components: options.components !== undefined
291
+ ? options.components !== null
292
+ ? this.client.util.messageComponentsToRaw(options.components)
293
+ : null
294
+ : undefined,
295
+ attachments: options.attachments,
296
+ flags: options.flags,
297
+ },
298
+ files: options.files,
299
+ query: {
300
+ thread_id: options.threadId,
301
+ },
302
+ }), this.client);
303
+ }
304
+ /** https://discord.com/developers/docs/interactions/receiving-and-responding#get-followup-message */
305
+ async getFollowupMessage(messageId, options) {
306
+ return new _1.Message(await this.client.rest.get(rest_1.Endpoints.webhookMessage(this.applicationId, this.token, messageId), {
307
+ query: {
308
+ thread_id: options?.threadId,
309
+ },
310
+ }), this.client);
311
+ }
312
+ /** https://discord.com/developers/docs/interactions/receiving-and-responding#get-original-interaction-response */
313
+ async getResponse(options) {
314
+ return new _1.Message(await this.client.rest.get(rest_1.Endpoints.webhookMessage(this.applicationId, this.token), {
315
+ query: {
316
+ thread_id: options?.threadId,
317
+ },
318
+ }), this.client);
319
+ }
320
+ toRaw() {
321
+ return this.raw;
322
+ }
323
+ toJSON() {
324
+ return {
325
+ ...super.toJSON(),
326
+ applicationId: this.applicationId,
327
+ type: this.type,
328
+ data: this.data,
329
+ guildId: this.guildId,
330
+ channel: this.channel?.toJSON(),
331
+ channelId: this.channelId,
332
+ member: this.member?.toJSON(),
333
+ user: this.user?.toJSON(),
334
+ token: this.token,
335
+ version: this.version,
336
+ message: this.message?.toJSON(),
337
+ appPermissions: this.appPermissions,
338
+ locale: this.locale,
339
+ guildLocale: this.guildLocale,
340
+ entitlements: this.entitlements.map((entitlement) => entitlement.toJSON()),
341
+ };
342
+ }
343
+ }
344
+ exports.Interaction = Interaction;
345
+ //# sourceMappingURL=Interaction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Interaction.js","sourceRoot":"","sources":["../../../lib/structures/Interaction.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import { Application, Channel, Guild, GuildScheduledEvent, User } from ".";
2
+ import type { Client } from "../Client";
3
+ import { InviteTargetTypes } from "../constants";
4
+ import type { JSONInvite, JSONInviteStageInstance, RawInvite } from "../types";
5
+ /** https://discord.com/developers/docs/resources/invite */
6
+ export declare class Invite {
7
+ private client;
8
+ private raw;
9
+ code: string;
10
+ guild?: Guild;
11
+ channel: Channel;
12
+ inviter?: User;
13
+ targetType?: InviteTargetTypes;
14
+ targetUser?: User;
15
+ targetApplication?: Application;
16
+ approximatePresenceCount?: number;
17
+ approximateMemberCount?: number;
18
+ expiresAt?: string | null;
19
+ stageInstance?: JSONInviteStageInstance;
20
+ guildScheduledEvent?: GuildScheduledEvent;
21
+ constructor(data: RawInvite, client: Client);
22
+ private patch;
23
+ /** https://discord.com/developers/docs/resources/invite#delete-invite */
24
+ delete(reason?: string): Promise<JSONInvite>;
25
+ toString(): string;
26
+ toRaw(): RawInvite;
27
+ toJSON(): JSONInvite;
28
+ }
@@ -0,0 +1,86 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Invite = void 0;
4
+ const _1 = require(".");
5
+ const rest_1 = require("../rest");
6
+ /** https://discord.com/developers/docs/resources/invite */
7
+ class Invite {
8
+ client;
9
+ raw;
10
+ code;
11
+ guild;
12
+ channel;
13
+ inviter;
14
+ targetType;
15
+ targetUser;
16
+ targetApplication;
17
+ approximatePresenceCount;
18
+ approximateMemberCount;
19
+ expiresAt;
20
+ stageInstance;
21
+ guildScheduledEvent;
22
+ constructor(data, client) {
23
+ this.client = client;
24
+ this.raw = data;
25
+ this.code = data.code;
26
+ this.channel = new _1.Channel(data.channel, client);
27
+ this.patch(data);
28
+ }
29
+ patch(data) {
30
+ if (data.guild !== undefined)
31
+ this.guild = new _1.Guild(data.guild, this.client);
32
+ if (data.inviter !== undefined)
33
+ this.inviter = new _1.User(data.inviter, this.client);
34
+ if (data.target_type !== undefined)
35
+ this.targetType = data.target_type;
36
+ if (data.target_user !== undefined)
37
+ this.targetUser = new _1.User(data.target_user, this.client);
38
+ if (data.target_application !== undefined)
39
+ this.targetApplication = new _1.Application(data.target_application, this.client);
40
+ if (data.approximate_presence_count !== undefined)
41
+ this.approximatePresenceCount = data.approximate_presence_count;
42
+ if (data.approximate_member_count !== undefined)
43
+ this.approximateMemberCount = data.approximate_member_count;
44
+ if (data.expires_at !== undefined)
45
+ this.expiresAt = data.expires_at;
46
+ if (data.stage_instance !== undefined)
47
+ this.stageInstance = {
48
+ members: data.stage_instance.members.map((member) => new _1.GuildMember(member, this.client).toJSON()),
49
+ participantCount: data.stage_instance.participant_count,
50
+ speakerCount: data.stage_instance.speaker_count,
51
+ topic: data.stage_instance.topic,
52
+ };
53
+ if (data.guild_scheduled_event !== undefined)
54
+ this.guildScheduledEvent = new _1.GuildScheduledEvent(data.guild_scheduled_event, this.client);
55
+ }
56
+ /** https://discord.com/developers/docs/resources/invite#delete-invite */
57
+ async delete(reason) {
58
+ return new Invite(await this.client.rest.delete(rest_1.Endpoints.invite(this.code), {
59
+ reason,
60
+ }), this.client).toJSON();
61
+ }
62
+ toString() {
63
+ return `[${this.constructor.name}]`;
64
+ }
65
+ toRaw() {
66
+ return this.raw;
67
+ }
68
+ toJSON() {
69
+ return {
70
+ code: this.code,
71
+ guild: this.guild?.toJSON(),
72
+ channel: this.channel.toJSON(),
73
+ inviter: this.inviter?.toJSON(),
74
+ targetType: this.targetType,
75
+ targetUser: this.targetUser?.toJSON(),
76
+ targetApplication: this.targetApplication?.toJSON(),
77
+ approximatePresenceCount: this.approximatePresenceCount,
78
+ approximateMemberCount: this.approximateMemberCount,
79
+ expiresAt: this.expiresAt,
80
+ stageInstance: this.stageInstance,
81
+ guildScheduledEvent: this.guildScheduledEvent?.toJSON(),
82
+ };
83
+ }
84
+ }
85
+ exports.Invite = Invite;
86
+ //# sourceMappingURL=Invite.js.map