@satorijs/adapter-discord 3.0.0

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/lib/index.js ADDED
@@ -0,0 +1,1557 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod));
21
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
22
+
23
+ // adapters/discord/src/index.ts
24
+ var src_exports = {};
25
+ __export(src_exports, {
26
+ Discord: () => types_exports,
27
+ DiscordBot: () => DiscordBot,
28
+ Sender: () => Sender,
29
+ WsClient: () => WsClient,
30
+ adaptAuthor: () => adaptAuthor,
31
+ adaptChannel: () => adaptChannel,
32
+ adaptGuild: () => adaptGuild,
33
+ adaptMessage: () => adaptMessage,
34
+ adaptMessageSession: () => adaptMessageSession,
35
+ adaptSession: () => adaptSession,
36
+ adaptUser: () => adaptUser,
37
+ default: () => src_default,
38
+ prepareMessageSession: () => prepareMessageSession
39
+ });
40
+ module.exports = __toCommonJS(src_exports);
41
+
42
+ // adapters/discord/src/bot.ts
43
+ var import_satori4 = require("@satorijs/satori");
44
+
45
+ // adapters/discord/src/utils.ts
46
+ var import_satori = require("@satorijs/satori");
47
+ var adaptUser = /* @__PURE__ */ __name((user) => ({
48
+ userId: user.id,
49
+ avatar: `https://cdn.discordapp.com/avatars/${user.id}/${user.avatar}.png`,
50
+ username: user.username,
51
+ discriminator: user.discriminator,
52
+ isBot: user.bot || false
53
+ }), "adaptUser");
54
+ var adaptGuild = /* @__PURE__ */ __name((data) => ({
55
+ guildId: data.id,
56
+ guildName: data.name
57
+ }), "adaptGuild");
58
+ var adaptChannel = /* @__PURE__ */ __name((data) => ({
59
+ channelId: data.id,
60
+ channelName: data.name
61
+ }), "adaptChannel");
62
+ var adaptAuthor = /* @__PURE__ */ __name((author) => ({
63
+ ...adaptUser(author),
64
+ nickname: author.username
65
+ }), "adaptAuthor");
66
+ function adaptMessage(meta, session = {}) {
67
+ var _a, _b, _c;
68
+ if (meta.author) {
69
+ session.author = adaptAuthor(meta.author);
70
+ session.userId = meta.author.id;
71
+ }
72
+ if ((_a = meta.member) == null ? void 0 : _a.nick) {
73
+ session.author.nickname = (_b = meta.member) == null ? void 0 : _b.nick;
74
+ }
75
+ session.content = "";
76
+ if (meta.content) {
77
+ session.content = meta.content.replace(/<@[!&]?(.+?)>/g, (_, id) => {
78
+ var _a2;
79
+ if (meta.mention_roles.includes(id)) {
80
+ return (0, import_satori.segment)("at", { role: id });
81
+ } else {
82
+ const user = (_a2 = meta.mentions) == null ? void 0 : _a2.find((u) => u.id === id || `${u.username}#${u.discriminator}` === id);
83
+ return import_satori.segment.at(id, { name: user == null ? void 0 : user.username });
84
+ }
85
+ }).replace(/<:(.*):(.+?)>/g, (_, name, id) => (0, import_satori.segment)("face", { id, name })).replace(/<a:(.*):(.+?)>/g, (_, name, id) => (0, import_satori.segment)("face", { id, name, animated: true })).replace(/@everyone/g, () => (0, import_satori.segment)("at", { type: "all" })).replace(/@here/g, () => (0, import_satori.segment)("at", { type: "here" })).replace(/<#(.+?)>/g, (_, id) => {
86
+ var _a2;
87
+ const channel = (_a2 = meta.mention_channels) == null ? void 0 : _a2.find((c) => c.id === id);
88
+ return import_satori.segment.sharp(id, { name: channel == null ? void 0 : channel.name });
89
+ });
90
+ }
91
+ if ((_c = meta.attachments) == null ? void 0 : _c.length) {
92
+ session.content += meta.attachments.map((v) => {
93
+ var _a2, _b2, _c2;
94
+ if (v.height && v.width && ((_a2 = v.content_type) == null ? void 0 : _a2.startsWith("image/"))) {
95
+ return (0, import_satori.segment)("image", {
96
+ url: v.url,
97
+ proxy_url: v.proxy_url,
98
+ file: v.filename
99
+ });
100
+ } else if (v.height && v.width && ((_b2 = v.content_type) == null ? void 0 : _b2.startsWith("video/"))) {
101
+ return (0, import_satori.segment)("video", {
102
+ url: v.url,
103
+ proxy_url: v.proxy_url,
104
+ file: v.filename
105
+ });
106
+ } else if ((_c2 = v.content_type) == null ? void 0 : _c2.startsWith("audio/")) {
107
+ return (0, import_satori.segment)("record", {
108
+ url: v.url,
109
+ proxy_url: v.proxy_url,
110
+ file: v.filename
111
+ });
112
+ } else {
113
+ return (0, import_satori.segment)("file", {
114
+ url: v.url,
115
+ proxy_url: v.proxy_url,
116
+ file: v.filename
117
+ });
118
+ }
119
+ }).join("");
120
+ }
121
+ for (const embed of meta.embeds) {
122
+ if (embed.image) {
123
+ session.content += (0, import_satori.segment)("image", { url: embed.image.url, proxy_url: embed.image.proxy_url });
124
+ }
125
+ if (embed.thumbnail) {
126
+ session.content += (0, import_satori.segment)("image", { url: embed.thumbnail.url, proxy_url: embed.thumbnail.proxy_url });
127
+ }
128
+ if (embed.video) {
129
+ session.content += (0, import_satori.segment)("video", { url: embed.video.url, proxy_url: embed.video.proxy_url });
130
+ }
131
+ }
132
+ return session;
133
+ }
134
+ __name(adaptMessage, "adaptMessage");
135
+ function adaptMessageSession(meta, session = {}) {
136
+ adaptMessage(meta, session);
137
+ session.messageId = meta.id;
138
+ session.timestamp = new Date(meta.timestamp).valueOf() || Date.now();
139
+ if (meta.message_reference) {
140
+ const { message_id, channel_id } = meta.message_reference;
141
+ session.content = (0, import_satori.segment)("quote", { id: message_id, channelId: channel_id }) + session.content;
142
+ }
143
+ return session;
144
+ }
145
+ __name(adaptMessageSession, "adaptMessageSession");
146
+ function prepareMessageSession(session, data) {
147
+ session.guildId = data.guild_id;
148
+ session.subtype = data.guild_id ? "group" : "private";
149
+ session.channelId = data.channel_id;
150
+ }
151
+ __name(prepareMessageSession, "prepareMessageSession");
152
+ function prepareReactionSession(session, data) {
153
+ session.userId = data.user_id;
154
+ session.messageId = data.message_id;
155
+ session.guildId = data.guild_id;
156
+ session.channelId = data.channel_id;
157
+ session.subtype = data.guild_id ? "group" : "private";
158
+ if (!data.emoji)
159
+ return;
160
+ const { id, name } = data.emoji;
161
+ session.content = id ? `${name}:${id}` : name;
162
+ }
163
+ __name(prepareReactionSession, "prepareReactionSession");
164
+ async function adaptSession(bot, input) {
165
+ const session = bot.session();
166
+ if (input.t === "MESSAGE_CREATE") {
167
+ session.type = "message";
168
+ prepareMessageSession(session, input.d);
169
+ adaptMessageSession(input.d, session);
170
+ } else if (input.t === "MESSAGE_UPDATE") {
171
+ session.type = "message-updated";
172
+ prepareMessageSession(session, input.d);
173
+ const msg = await bot.internal.getChannelMessage(input.d.channel_id, input.d.id);
174
+ adaptMessageSession(msg, session);
175
+ } else if (input.t === "MESSAGE_DELETE") {
176
+ session.type = "message-deleted";
177
+ session.messageId = input.d.id;
178
+ prepareMessageSession(session, input.d);
179
+ } else if (input.t === "MESSAGE_REACTION_ADD") {
180
+ session.type = "reaction-added";
181
+ prepareReactionSession(session, input.d);
182
+ } else if (input.t === "MESSAGE_REACTION_REMOVE") {
183
+ session.type = "reaction-deleted";
184
+ session.subtype = "one";
185
+ prepareReactionSession(session, input.d);
186
+ } else if (input.t === "MESSAGE_REACTION_REMOVE_ALL") {
187
+ session.type = "reaction-deleted";
188
+ session.subtype = "all";
189
+ prepareReactionSession(session, input.d);
190
+ } else if (input.t === "MESSAGE_REACTION_REMOVE_EMOJI") {
191
+ session.type = "reaction-deleted";
192
+ session.subtype = "emoji";
193
+ prepareReactionSession(session, input.d);
194
+ } else if (input.t === "CHANNEL_UPDATE") {
195
+ session.type = "channel-updated";
196
+ session.guildId = input.d.guild_id;
197
+ session.subtype = input.d.guild_id ? "group" : "private";
198
+ session.channelId = input.d.id;
199
+ } else {
200
+ return;
201
+ }
202
+ return session;
203
+ }
204
+ __name(adaptSession, "adaptSession");
205
+
206
+ // adapters/discord/src/sender.ts
207
+ var import_satori2 = require("@satorijs/satori");
208
+ var import_fs = require("fs");
209
+ var import_path = require("path");
210
+ var import_file_type = require("file-type");
211
+ var import_form_data = __toESM(require("form-data"));
212
+ var import_es_aggregate_error = __toESM(require("es-aggregate-error"));
213
+ var Sender = class {
214
+ constructor(bot, url) {
215
+ this.bot = bot;
216
+ this.url = url;
217
+ this.results = [];
218
+ this.errors = [];
219
+ }
220
+ static from(bot, url) {
221
+ const sender = new Sender(bot, url);
222
+ return sender.sendMessage.bind(sender);
223
+ }
224
+ async post(data, headers) {
225
+ try {
226
+ const result = await this.bot.http.post(this.url, data, { headers });
227
+ this.results.push(result.id);
228
+ } catch (e) {
229
+ this.errors.push(e);
230
+ }
231
+ }
232
+ async sendEmbed(fileBuffer, payload_json, filename) {
233
+ const fd = new import_form_data.default();
234
+ filename || (filename = "file." + (await (0, import_file_type.fromBuffer)(fileBuffer)).ext);
235
+ fd.append("file", fileBuffer, filename);
236
+ fd.append("payload_json", JSON.stringify(payload_json));
237
+ return this.post(fd, fd.getHeaders());
238
+ }
239
+ async sendContent(content, addition) {
240
+ return this.post({ ...addition, content });
241
+ }
242
+ async sendAsset(type, data, addition) {
243
+ const { handleMixedContent, handleExternalAsset } = this.bot.config;
244
+ if (handleMixedContent === "separate" && addition.content) {
245
+ await this.post(addition);
246
+ addition.content = "";
247
+ }
248
+ if (data.url.startsWith("file://")) {
249
+ const filename = (0, import_path.basename)(data.url.slice(7));
250
+ return await this.sendEmbed((0, import_fs.readFileSync)(data.url.slice(7)), addition, data.file || filename);
251
+ } else if (data.url.startsWith("base64://")) {
252
+ const a = Buffer.from(data.url.slice(9), "base64");
253
+ return await this.sendEmbed(a, addition, data.file);
254
+ }
255
+ const sendDirect = /* @__PURE__ */ __name(async () => {
256
+ if (addition.content) {
257
+ await this.post(addition);
258
+ }
259
+ return this.post({ ...addition, content: data.url });
260
+ }, "sendDirect");
261
+ const sendDownload = /* @__PURE__ */ __name(async () => {
262
+ const buffer = await this.bot.ctx.http.get(data.url, {
263
+ headers: { accept: type + "/*" },
264
+ responseType: "arraybuffer"
265
+ });
266
+ return this.sendEmbed(buffer, addition, data.file);
267
+ }, "sendDownload");
268
+ const mode = data.mode || handleExternalAsset;
269
+ if (mode === "download" || handleMixedContent === "attach" && addition.content || type === "file") {
270
+ return sendDownload();
271
+ } else if (mode === "direct") {
272
+ return sendDirect();
273
+ }
274
+ return await this.bot.ctx.http.head(data.url, {
275
+ headers: { accept: type + "/*" }
276
+ }).then((headers) => {
277
+ if (headers["content-type"].startsWith(type)) {
278
+ return sendDirect();
279
+ } else {
280
+ return sendDownload();
281
+ }
282
+ }, sendDownload);
283
+ }
284
+ async sendMessage(content, addition = {}) {
285
+ const chain = import_satori2.segment.parse(content);
286
+ let textBuffer = "";
287
+ delete addition.content;
288
+ const sendBuffer = /* @__PURE__ */ __name(async () => {
289
+ const content2 = textBuffer.trim();
290
+ if (!content2)
291
+ return;
292
+ await this.post({ ...addition, content: content2 });
293
+ textBuffer = "";
294
+ }, "sendBuffer");
295
+ for (const code of chain) {
296
+ const { type, data } = code;
297
+ if (type === "text") {
298
+ textBuffer += data.content.trim();
299
+ } else if (type === "at" && data.id) {
300
+ textBuffer += `<@${data.id}>`;
301
+ } else if (type === "at" && data.type === "all") {
302
+ textBuffer += `@everyone`;
303
+ } else if (type === "at" && data.type === "here") {
304
+ textBuffer += `@here`;
305
+ } else if (type === "sharp" && data.id) {
306
+ textBuffer += `<#${data.id}>`;
307
+ } else if (type === "face" && data.name && data.id) {
308
+ textBuffer += `<:${data.name}:${data.id}>`;
309
+ } else if ((type === "image" || type === "video") && data.url) {
310
+ await this.sendAsset(type, data, {
311
+ ...addition,
312
+ content: textBuffer.trim()
313
+ });
314
+ textBuffer = "";
315
+ } else if (type === "share") {
316
+ await sendBuffer();
317
+ await this.post({
318
+ ...addition,
319
+ embeds: [{ ...data }]
320
+ });
321
+ } else if (type === "record") {
322
+ await this.sendAsset("file", data, {
323
+ ...addition,
324
+ content: textBuffer.trim()
325
+ });
326
+ textBuffer = "";
327
+ }
328
+ }
329
+ await sendBuffer();
330
+ if (!this.errors.length)
331
+ return this.results;
332
+ throw new import_es_aggregate_error.default(this.errors);
333
+ }
334
+ };
335
+ __name(Sender, "Sender");
336
+ ((Sender2) => {
337
+ Sender2.Config = import_satori2.Schema.object({
338
+ handleExternalAsset: import_satori2.Schema.union([
339
+ import_satori2.Schema.const("download").description("先下载后发送"),
340
+ import_satori2.Schema.const("direct").description("直接发送链接"),
341
+ import_satori2.Schema.const("auto").description("发送一个 HEAD 请求,根据返回的 Content-Type 决定发送方式")
342
+ ]).description("发送外链资源时采用的方式。").default("auto"),
343
+ handleMixedContent: import_satori2.Schema.union([
344
+ import_satori2.Schema.const("separate").description("将每个不同形式的内容分开发送"),
345
+ import_satori2.Schema.const("attach").description("图片前如果有文本内容,则将文本作为图片的附带信息进行发送"),
346
+ import_satori2.Schema.const("auto").description("如果图片本身采用直接发送则与前面的文本分开,否则将文本作为图片的附带信息发送")
347
+ ]).description("发送图文等混合内容时采用的方式。").default("auto")
348
+ }).description("发送设置");
349
+ })(Sender || (Sender = {}));
350
+
351
+ // adapters/discord/src/types/index.ts
352
+ var types_exports = {};
353
+ __export(types_exports, {
354
+ ActivityFlag: () => ActivityFlag,
355
+ ActivityType: () => ActivityType,
356
+ AllowedMentionType: () => AllowedMentionType,
357
+ ApplicationCommand: () => ApplicationCommand,
358
+ ApplicationFlag: () => ApplicationFlag,
359
+ AuditLog: () => AuditLog,
360
+ Channel: () => Channel3,
361
+ ComponentType: () => ComponentType,
362
+ DeviceType: () => DeviceType,
363
+ GatewayIntent: () => GatewayIntent,
364
+ GatewayOpcode: () => GatewayOpcode,
365
+ Guild: () => Guild4,
366
+ GuildFeature: () => GuildFeature,
367
+ GuildScheduledEvent: () => GuildScheduledEvent,
368
+ IntegrationExpireBehavior: () => IntegrationExpireBehavior,
369
+ InteractionCallbackDataFlag: () => InteractionCallbackDataFlag,
370
+ InteractionCallbackType: () => InteractionCallbackType,
371
+ InteractionType: () => InteractionType,
372
+ Internal: () => Internal,
373
+ Invite: () => Invite,
374
+ MembershipState: () => MembershipState,
375
+ Message: () => Message3,
376
+ Permission: () => Permission,
377
+ StatusType: () => StatusType2,
378
+ Sticker: () => Sticker3,
379
+ SystemChannelFlag: () => SystemChannelFlag,
380
+ UserFlag: () => UserFlag,
381
+ VisibilityType: () => VisibilityType,
382
+ Webhook: () => Webhook2
383
+ });
384
+
385
+ // adapters/discord/src/types/internal.ts
386
+ var import_cosmokit = require("cosmokit");
387
+ var Internal = class {
388
+ constructor(http) {
389
+ this.http = http;
390
+ }
391
+ static define(routes) {
392
+ for (const path in routes) {
393
+ for (const key in routes[path]) {
394
+ const method = key;
395
+ for (const name of (0, import_cosmokit.makeArray)(routes[path][method])) {
396
+ Internal.prototype[name] = function(...args) {
397
+ const raw = args.join(", ");
398
+ const url = path.replace(/\{([^}]+)\}/g, () => {
399
+ if (!args.length)
400
+ throw new Error(`too few arguments for ${path}, received ${raw}`);
401
+ return args.shift();
402
+ });
403
+ const config = {};
404
+ if (args.length === 1) {
405
+ if (method === "GET" || method === "DELETE") {
406
+ config.params = args[0];
407
+ } else {
408
+ config.data = args[0];
409
+ }
410
+ } else if (args.length === 2 && method !== "GET" && method !== "DELETE") {
411
+ config.data = args[0];
412
+ config.params = args[1];
413
+ } else if (args.length > 1) {
414
+ throw new Error(`too many arguments for ${path}, received ${raw}`);
415
+ }
416
+ return this.http(method, url, config);
417
+ };
418
+ }
419
+ }
420
+ }
421
+ }
422
+ };
423
+ __name(Internal, "Internal");
424
+
425
+ // adapters/discord/src/types/application.ts
426
+ var ApplicationFlag = /* @__PURE__ */ ((ApplicationFlag2) => {
427
+ ApplicationFlag2[ApplicationFlag2["GATEWAY_PRESENCE"] = 4096] = "GATEWAY_PRESENCE";
428
+ ApplicationFlag2[ApplicationFlag2["GATEWAY_PRESENCE_LIMITED"] = 8192] = "GATEWAY_PRESENCE_LIMITED";
429
+ ApplicationFlag2[ApplicationFlag2["GATEWAY_GUILD_MEMBERS"] = 16384] = "GATEWAY_GUILD_MEMBERS";
430
+ ApplicationFlag2[ApplicationFlag2["GATEWAY_GUILD_MEMBERS_LIMITED"] = 32768] = "GATEWAY_GUILD_MEMBERS_LIMITED";
431
+ ApplicationFlag2[ApplicationFlag2["VERIFICATION_PENDING_GUILD_LIMIT"] = 65536] = "VERIFICATION_PENDING_GUILD_LIMIT";
432
+ ApplicationFlag2[ApplicationFlag2["EMBEDDED"] = 131072] = "EMBEDDED";
433
+ return ApplicationFlag2;
434
+ })(ApplicationFlag || {});
435
+ Internal.define({
436
+ "/oauth2/applications/@me": {
437
+ GET: "getCurrentBotApplicationInformation"
438
+ },
439
+ "/oauth2/@me": {
440
+ GET: "getCurrentAuthorizationInformation"
441
+ }
442
+ });
443
+
444
+ // adapters/discord/src/types/audit-log.ts
445
+ var AuditLog;
446
+ ((AuditLog2) => {
447
+ let Type;
448
+ ((Type2) => {
449
+ Type2[Type2["GUILD_UPDATE"] = 1] = "GUILD_UPDATE";
450
+ Type2[Type2["CHANNEL_CREATE"] = 10] = "CHANNEL_CREATE";
451
+ Type2[Type2["CHANNEL_UPDATE"] = 11] = "CHANNEL_UPDATE";
452
+ Type2[Type2["CHANNEL_DELETE"] = 12] = "CHANNEL_DELETE";
453
+ Type2[Type2["CHANNEL_OVERWRITE_CREATE"] = 13] = "CHANNEL_OVERWRITE_CREATE";
454
+ Type2[Type2["CHANNEL_OVERWRITE_UPDATE"] = 14] = "CHANNEL_OVERWRITE_UPDATE";
455
+ Type2[Type2["CHANNEL_OVERWRITE_DELETE"] = 15] = "CHANNEL_OVERWRITE_DELETE";
456
+ Type2[Type2["MEMBER_KICK"] = 20] = "MEMBER_KICK";
457
+ Type2[Type2["MEMBER_PRUNE"] = 21] = "MEMBER_PRUNE";
458
+ Type2[Type2["MEMBER_BAN_ADD"] = 22] = "MEMBER_BAN_ADD";
459
+ Type2[Type2["MEMBER_BAN_REMOVE"] = 23] = "MEMBER_BAN_REMOVE";
460
+ Type2[Type2["MEMBER_UPDATE"] = 24] = "MEMBER_UPDATE";
461
+ Type2[Type2["MEMBER_ROLE_UPDATE"] = 25] = "MEMBER_ROLE_UPDATE";
462
+ Type2[Type2["MEMBER_MOVE"] = 26] = "MEMBER_MOVE";
463
+ Type2[Type2["MEMBER_DISCONNECT"] = 27] = "MEMBER_DISCONNECT";
464
+ Type2[Type2["BOT_ADD"] = 28] = "BOT_ADD";
465
+ Type2[Type2["ROLE_CREATE"] = 30] = "ROLE_CREATE";
466
+ Type2[Type2["ROLE_UPDATE"] = 31] = "ROLE_UPDATE";
467
+ Type2[Type2["ROLE_DELETE"] = 32] = "ROLE_DELETE";
468
+ Type2[Type2["INVITE_CREATE"] = 40] = "INVITE_CREATE";
469
+ Type2[Type2["INVITE_UPDATE"] = 41] = "INVITE_UPDATE";
470
+ Type2[Type2["INVITE_DELETE"] = 42] = "INVITE_DELETE";
471
+ Type2[Type2["WEBHOOK_CREATE"] = 50] = "WEBHOOK_CREATE";
472
+ Type2[Type2["WEBHOOK_UPDATE"] = 51] = "WEBHOOK_UPDATE";
473
+ Type2[Type2["WEBHOOK_DELETE"] = 52] = "WEBHOOK_DELETE";
474
+ Type2[Type2["EMOJI_CREATE"] = 60] = "EMOJI_CREATE";
475
+ Type2[Type2["EMOJI_UPDATE"] = 61] = "EMOJI_UPDATE";
476
+ Type2[Type2["EMOJI_DELETE"] = 62] = "EMOJI_DELETE";
477
+ Type2[Type2["MESSAGE_DELETE"] = 72] = "MESSAGE_DELETE";
478
+ Type2[Type2["MESSAGE_BULK_DELETE"] = 73] = "MESSAGE_BULK_DELETE";
479
+ Type2[Type2["MESSAGE_PIN"] = 74] = "MESSAGE_PIN";
480
+ Type2[Type2["MESSAGE_UNPIN"] = 75] = "MESSAGE_UNPIN";
481
+ Type2[Type2["INTEGRATION_CREATE"] = 80] = "INTEGRATION_CREATE";
482
+ Type2[Type2["INTEGRATION_UPDATE"] = 81] = "INTEGRATION_UPDATE";
483
+ Type2[Type2["INTEGRATION_DELETE"] = 82] = "INTEGRATION_DELETE";
484
+ Type2[Type2["STAGE_INSTANCE_CREATE"] = 83] = "STAGE_INSTANCE_CREATE";
485
+ Type2[Type2["STAGE_INSTANCE_UPDATE"] = 84] = "STAGE_INSTANCE_UPDATE";
486
+ Type2[Type2["STAGE_INSTANCE_DELETE"] = 85] = "STAGE_INSTANCE_DELETE";
487
+ Type2[Type2["STICKER_CREATE"] = 90] = "STICKER_CREATE";
488
+ Type2[Type2["STICKER_UPDATE"] = 91] = "STICKER_UPDATE";
489
+ Type2[Type2["STICKER_DELETE"] = 92] = "STICKER_DELETE";
490
+ Type2[Type2["THREAD_CREATE"] = 110] = "THREAD_CREATE";
491
+ Type2[Type2["THREAD_UPDATE"] = 111] = "THREAD_UPDATE";
492
+ Type2[Type2["THREAD_DELETE"] = 112] = "THREAD_DELETE";
493
+ })(Type = AuditLog2.Type || (AuditLog2.Type = {}));
494
+ })(AuditLog || (AuditLog = {}));
495
+ Internal.define({
496
+ "/guilds/{guild.id}/audit-logs": {
497
+ GET: "getGuildAuditLog"
498
+ }
499
+ });
500
+
501
+ // adapters/discord/src/types/ban.ts
502
+ Internal.define({
503
+ "/guilds/{guild.id}/bans": {
504
+ GET: "getGuildBans"
505
+ },
506
+ "/guilds/{guild.id}/bans/{user.id}": {
507
+ GET: "getGuildBan",
508
+ PUT: "createGuildBan",
509
+ DELETE: "removeGuildBan"
510
+ }
511
+ });
512
+
513
+ // adapters/discord/src/types/channel.ts
514
+ var Channel3;
515
+ ((Channel11) => {
516
+ let Type;
517
+ ((Type2) => {
518
+ Type2[Type2["GUILD_TEXT"] = 0] = "GUILD_TEXT";
519
+ Type2[Type2["DM"] = 1] = "DM";
520
+ Type2[Type2["GUILD_VOICE"] = 2] = "GUILD_VOICE";
521
+ Type2[Type2["GROUP_DM"] = 3] = "GROUP_DM";
522
+ Type2[Type2["GUILD_CATEGORY"] = 4] = "GUILD_CATEGORY";
523
+ Type2[Type2["GUILD_NEWS"] = 5] = "GUILD_NEWS";
524
+ Type2[Type2["GUILD_STORE"] = 6] = "GUILD_STORE";
525
+ Type2[Type2["GUILD_NEWS_THREAD"] = 10] = "GUILD_NEWS_THREAD";
526
+ Type2[Type2["GUILD_PUBLIC_THREAD"] = 11] = "GUILD_PUBLIC_THREAD";
527
+ Type2[Type2["GUILD_PRIVATE_THREAD"] = 12] = "GUILD_PRIVATE_THREAD";
528
+ Type2[Type2["GUILD_STAGE_VOICE"] = 13] = "GUILD_STAGE_VOICE";
529
+ })(Type = Channel11.Type || (Channel11.Type = {}));
530
+ })(Channel3 || (Channel3 = {}));
531
+ var AllowedMentionType = /* @__PURE__ */ ((AllowedMentionType2) => {
532
+ AllowedMentionType2["ROLE_MENTIONS"] = "roles";
533
+ AllowedMentionType2["USER_MENTIONS"] = "users";
534
+ AllowedMentionType2["EVERYONE_MENTIONS"] = "everyone";
535
+ return AllowedMentionType2;
536
+ })(AllowedMentionType || {});
537
+ Internal.define({
538
+ "/users/@me/channels": {
539
+ POST: ["createDM", "createGroupDM"]
540
+ }
541
+ });
542
+ Internal.define({
543
+ "/guilds/{guild.id}/channels": {
544
+ GET: "getGuildChannels",
545
+ POST: "createGuildChannel",
546
+ PATCH: "modifyGuildChannelPositions"
547
+ }
548
+ });
549
+ Internal.define({
550
+ "/channels/{channel.id}": {
551
+ GET: "getChannel",
552
+ PATCH: "modifyChannel",
553
+ DELETE: "deleteChannel"
554
+ },
555
+ "/channels/{channel.id}/permissions/{overwrite.id}": {
556
+ PUT: "editChannelPermissions",
557
+ DELETE: "deleteChannelPermission"
558
+ },
559
+ "/channels/{channel.id}/followers": {
560
+ POST: "followNewsChannel"
561
+ },
562
+ "/channels/{channel.id}/typing": {
563
+ POST: "triggerTypingIndicator"
564
+ },
565
+ "/channels/{channel.id}/recipients/{user.id}": {
566
+ PUT: "groupDMAddRecipient",
567
+ DELETE: "groupDMRemoveRecipient"
568
+ }
569
+ });
570
+
571
+ // adapters/discord/src/types/command.ts
572
+ var ApplicationCommand;
573
+ ((ApplicationCommand3) => {
574
+ let Type;
575
+ ((Type2) => {
576
+ Type2[Type2["CHAT_INPUT"] = 1] = "CHAT_INPUT";
577
+ Type2[Type2["USER"] = 2] = "USER";
578
+ Type2[Type2["MESSAGE"] = 3] = "MESSAGE";
579
+ })(Type = ApplicationCommand3.Type || (ApplicationCommand3.Type = {}));
580
+ let OptionType;
581
+ ((OptionType2) => {
582
+ OptionType2[OptionType2["SUB_COMMAND"] = 1] = "SUB_COMMAND";
583
+ OptionType2[OptionType2["SUB_COMMAND_GROUP"] = 2] = "SUB_COMMAND_GROUP";
584
+ OptionType2[OptionType2["STRING"] = 3] = "STRING";
585
+ OptionType2[OptionType2["INTEGER"] = 4] = "INTEGER";
586
+ OptionType2[OptionType2["BOOLEAN"] = 5] = "BOOLEAN";
587
+ OptionType2[OptionType2["USER"] = 6] = "USER";
588
+ OptionType2[OptionType2["CHANNEL"] = 7] = "CHANNEL";
589
+ OptionType2[OptionType2["ROLE"] = 8] = "ROLE";
590
+ OptionType2[OptionType2["MENTIONABLE"] = 9] = "MENTIONABLE";
591
+ OptionType2[OptionType2["NUMBER"] = 10] = "NUMBER";
592
+ })(OptionType = ApplicationCommand3.OptionType || (ApplicationCommand3.OptionType = {}));
593
+ let PermissionType;
594
+ ((PermissionType2) => {
595
+ PermissionType2[PermissionType2["ROLE"] = 1] = "ROLE";
596
+ PermissionType2[PermissionType2["USER"] = 2] = "USER";
597
+ })(PermissionType = ApplicationCommand3.PermissionType || (ApplicationCommand3.PermissionType = {}));
598
+ })(ApplicationCommand || (ApplicationCommand = {}));
599
+ Internal.define({
600
+ "/applications/{application.id}/commands": {
601
+ GET: "getGlobalApplicationCommands",
602
+ POST: "createGlobalApplicationCommand",
603
+ PUT: "bulkOverwriteGlobalApplicationCommands"
604
+ },
605
+ "/applications/{application.id}/commands/{command.id}": {
606
+ GET: "getGlobalApplicationCommand",
607
+ PATCH: "editGlobalApplicationCommand",
608
+ DELETE: "deleteGlobalApplicationCommand"
609
+ },
610
+ "/applications/{application.id}/guilds/{guild.id}/commands": {
611
+ GET: "getGuildApplicationCommands",
612
+ POST: "createGuildApplicationCommand",
613
+ PUT: "bulkOverwriteGuildApplicationCommands"
614
+ },
615
+ "/applications/{application.id}/guilds/{guild.id}/commands/{command.id}": {
616
+ GET: "getGuildApplicationCommand",
617
+ PATCH: "editGuildApplicationCommand",
618
+ DELETE: "deleteGuildApplicationCommand"
619
+ },
620
+ "/applications/{application.id}/guilds/{guild.id}/commands/permissions": {
621
+ GET: "getGuildApplicationCommandPermissions",
622
+ PUT: "batchEditApplicationCommandPermissions"
623
+ },
624
+ "/applications/{application.id}/guilds/{guild.id}/commands/{command.id}/permissions": {
625
+ GET: "getApplicationCommandPermissions",
626
+ PUT: "editApplicationCommandPermissions"
627
+ }
628
+ });
629
+
630
+ // adapters/discord/src/types/component.ts
631
+ var ComponentType = /* @__PURE__ */ ((ComponentType2) => {
632
+ ComponentType2[ComponentType2["ACTION_ROW"] = 1] = "ACTION_ROW";
633
+ ComponentType2[ComponentType2["BUTTON"] = 2] = "BUTTON";
634
+ ComponentType2[ComponentType2["SELECT_MENU"] = 3] = "SELECT_MENU";
635
+ return ComponentType2;
636
+ })(ComponentType || {});
637
+
638
+ // adapters/discord/src/types/device.ts
639
+ var DeviceType = /* @__PURE__ */ ((DeviceType2) => {
640
+ DeviceType2["AUDIO_INPUT"] = "audioinput";
641
+ DeviceType2["AUDIO_OUTPUT"] = "audiooutput";
642
+ DeviceType2["VIDEO_INPUT"] = "videoinput";
643
+ return DeviceType2;
644
+ })(DeviceType || {});
645
+
646
+ // adapters/discord/src/types/emoji.ts
647
+ Internal.define({
648
+ "/guilds/{guild.id}/emojis": {
649
+ GET: "listGuildEmojis",
650
+ POST: "createGuildEmoji"
651
+ },
652
+ "/guilds/{guild.id}/emojis/{emoji.id}": {
653
+ GET: "getGuildEmoji",
654
+ PATCH: "modifyGuildEmoji",
655
+ DELETE: "deleteGuildEmoji"
656
+ }
657
+ });
658
+
659
+ // adapters/discord/src/types/gateway.ts
660
+ var GatewayOpcode = /* @__PURE__ */ ((GatewayOpcode2) => {
661
+ GatewayOpcode2[GatewayOpcode2["DISPATCH"] = 0] = "DISPATCH";
662
+ GatewayOpcode2[GatewayOpcode2["HEARTBEAT"] = 1] = "HEARTBEAT";
663
+ GatewayOpcode2[GatewayOpcode2["IDENTIFY"] = 2] = "IDENTIFY";
664
+ GatewayOpcode2[GatewayOpcode2["PRESENCE_UPDATE"] = 3] = "PRESENCE_UPDATE";
665
+ GatewayOpcode2[GatewayOpcode2["VOICE_STATE_UPDATE"] = 4] = "VOICE_STATE_UPDATE";
666
+ GatewayOpcode2[GatewayOpcode2["RESUME"] = 6] = "RESUME";
667
+ GatewayOpcode2[GatewayOpcode2["RECONNECT"] = 7] = "RECONNECT";
668
+ GatewayOpcode2[GatewayOpcode2["REQUEST_GUILD_MEMBERS"] = 8] = "REQUEST_GUILD_MEMBERS";
669
+ GatewayOpcode2[GatewayOpcode2["INVALID_SESSION"] = 9] = "INVALID_SESSION";
670
+ GatewayOpcode2[GatewayOpcode2["HELLO"] = 10] = "HELLO";
671
+ GatewayOpcode2[GatewayOpcode2["HEARTBEAT_ACK"] = 11] = "HEARTBEAT_ACK";
672
+ return GatewayOpcode2;
673
+ })(GatewayOpcode || {});
674
+ var GatewayIntent = /* @__PURE__ */ ((GatewayIntent2) => {
675
+ GatewayIntent2[GatewayIntent2["GUILDS"] = 1] = "GUILDS";
676
+ GatewayIntent2[GatewayIntent2["GUILD_MEMBERS"] = 2] = "GUILD_MEMBERS";
677
+ GatewayIntent2[GatewayIntent2["GUILD_BANS"] = 4] = "GUILD_BANS";
678
+ GatewayIntent2[GatewayIntent2["GUILD_EMOJIS_AND_STICKERS"] = 8] = "GUILD_EMOJIS_AND_STICKERS";
679
+ GatewayIntent2[GatewayIntent2["GUILD_INTEGRATIONS"] = 16] = "GUILD_INTEGRATIONS";
680
+ GatewayIntent2[GatewayIntent2["GUILD_WEBHOOKS"] = 32] = "GUILD_WEBHOOKS";
681
+ GatewayIntent2[GatewayIntent2["GUILD_INVITES"] = 64] = "GUILD_INVITES";
682
+ GatewayIntent2[GatewayIntent2["GUILD_VOICE_STATES"] = 128] = "GUILD_VOICE_STATES";
683
+ GatewayIntent2[GatewayIntent2["GUILD_PRESENCES"] = 256] = "GUILD_PRESENCES";
684
+ GatewayIntent2[GatewayIntent2["GUILD_MESSAGES"] = 512] = "GUILD_MESSAGES";
685
+ GatewayIntent2[GatewayIntent2["GUILD_MESSAGE_REACTIONS"] = 1024] = "GUILD_MESSAGE_REACTIONS";
686
+ GatewayIntent2[GatewayIntent2["GUILD_MESSAGE_TYPING"] = 2048] = "GUILD_MESSAGE_TYPING";
687
+ GatewayIntent2[GatewayIntent2["DIRECT_MESSAGES"] = 4096] = "DIRECT_MESSAGES";
688
+ GatewayIntent2[GatewayIntent2["DIRECT_MESSAGE_REACTIONS"] = 8192] = "DIRECT_MESSAGE_REACTIONS";
689
+ GatewayIntent2[GatewayIntent2["DIRECT_MESSAGE_TYPING"] = 16384] = "DIRECT_MESSAGE_TYPING";
690
+ return GatewayIntent2;
691
+ })(GatewayIntent || {});
692
+ Internal.define({
693
+ "/gateway": {
694
+ GET: "getGateway"
695
+ },
696
+ "/gateway/bot": {
697
+ GET: "getGatewayBot"
698
+ }
699
+ });
700
+
701
+ // adapters/discord/src/types/guild-member.ts
702
+ Internal.define({
703
+ "/guilds/{guild.id}/members/{user.id}": {
704
+ GET: "getGuildMember",
705
+ PUT: "addGuildMember",
706
+ PATCH: "modifyGuildMember",
707
+ DELETE: "removeGuildMember"
708
+ },
709
+ "/guilds/{guild.id}/members": {
710
+ GET: "listGuildMembers"
711
+ },
712
+ "/guilds/{guild.id}/members/search": {
713
+ GET: "searchGuildMembers"
714
+ },
715
+ "/guilds/{guild.id}/members/@me": {
716
+ PATCH: "modifyCurrentMember"
717
+ },
718
+ "/guilds/{guild.id}/members/{user.id}/roles/{role.id}": {
719
+ PUT: "addGuildMemberRole",
720
+ DELETE: "removeGuildMemberRole"
721
+ },
722
+ "/guilds/{guild.id}/prune": {
723
+ GET: "getGuildPruneCount",
724
+ POST: "beginGuildPrune"
725
+ }
726
+ });
727
+
728
+ // adapters/discord/src/types/guild-template.ts
729
+ Internal.define({
730
+ "/guilds/templates/{template.code}": {
731
+ GET: "getGuildTemplate",
732
+ POST: "createGuildfromGuildTemplate"
733
+ },
734
+ "/guilds/{guild.id}/templates": {
735
+ GET: "getGuildTemplates",
736
+ POST: "createGuildTemplate"
737
+ },
738
+ "/guilds/{guild.id}/templates/{template.code}": {
739
+ PUT: "syncGuildTemplate",
740
+ PATCH: "modifyGuildTemplate",
741
+ DELETE: "deleteGuildTemplate"
742
+ }
743
+ });
744
+
745
+ // adapters/discord/src/types/guild.ts
746
+ var Guild4;
747
+ ((Guild7) => {
748
+ let Params;
749
+ ((Params2) => {
750
+ let WidgetStyleOptions;
751
+ ((WidgetStyleOptions2) => {
752
+ WidgetStyleOptions2["shield"] = "shield";
753
+ WidgetStyleOptions2["banner1"] = "banner1";
754
+ WidgetStyleOptions2["banner2"] = "banner2";
755
+ WidgetStyleOptions2["banner3"] = "banner3";
756
+ WidgetStyleOptions2["banner4"] = "banner4";
757
+ })(WidgetStyleOptions = Params2.WidgetStyleOptions || (Params2.WidgetStyleOptions = {}));
758
+ })(Params = Guild7.Params || (Guild7.Params = {}));
759
+ })(Guild4 || (Guild4 = {}));
760
+ var SystemChannelFlag = /* @__PURE__ */ ((SystemChannelFlag2) => {
761
+ SystemChannelFlag2[SystemChannelFlag2["SUPPRESS_JOIN_NOTIFICATIONS"] = 1] = "SUPPRESS_JOIN_NOTIFICATIONS";
762
+ SystemChannelFlag2[SystemChannelFlag2["SUPPRESS_PREMIUM_SUBSCRIPTIONS"] = 2] = "SUPPRESS_PREMIUM_SUBSCRIPTIONS";
763
+ SystemChannelFlag2[SystemChannelFlag2["SUPPRESS_GUILD_REMINDER_NOTIFICATIONS"] = 4] = "SUPPRESS_GUILD_REMINDER_NOTIFICATIONS";
764
+ return SystemChannelFlag2;
765
+ })(SystemChannelFlag || {});
766
+ var GuildFeature = /* @__PURE__ */ ((GuildFeature2) => {
767
+ GuildFeature2["ANIMATED_ICON"] = "ANIMATED_ICON";
768
+ GuildFeature2["BANNER"] = "BANNER";
769
+ GuildFeature2["COMMERCE"] = "COMMERCE";
770
+ GuildFeature2["COMMUNITY"] = "COMMUNITY";
771
+ GuildFeature2["DISCOVERABLE"] = "DISCOVERABLE";
772
+ GuildFeature2["FEATURABLE"] = "FEATURABLE";
773
+ GuildFeature2["INVITE_SPLASH"] = "INVITE_SPLASH";
774
+ GuildFeature2["MEMBER_VERIFICATION_GATE_ENABLED"] = "MEMBER_VERIFICATION_GATE_ENABLED";
775
+ GuildFeature2["MONETIZATION_ENABLED"] = "MONETIZATION_ENABLED";
776
+ GuildFeature2["MORE_STICKERS"] = "MORE_STICKERS";
777
+ GuildFeature2["NEWS"] = "NEWS";
778
+ GuildFeature2["PARTNERED"] = "PARTNERED";
779
+ GuildFeature2["PREVIEW_ENABLED"] = "PREVIEW_ENABLED";
780
+ GuildFeature2["PRIVATE_THREADS"] = "PRIVATE_THREADS";
781
+ GuildFeature2["ROLE_ICONS"] = "ROLE_ICONS";
782
+ GuildFeature2["SEVEN_DAY_THREAD_ARCHIVE"] = "SEVEN_DAY_THREAD_ARCHIVE";
783
+ GuildFeature2["THREE_DAY_THREAD_ARCHIVE"] = "THREE_DAY_THREAD_ARCHIVE";
784
+ GuildFeature2["TICKETED_EVENTS_ENABLED"] = "TICKETED_EVENTS_ENABLED";
785
+ GuildFeature2["VANITY_URL"] = "VANITY_URL";
786
+ GuildFeature2["VERIFIED"] = "VERIFIED";
787
+ GuildFeature2["VIP_REGIONS"] = "VIP_REGIONS";
788
+ GuildFeature2["WELCOME_SCREEN_ENABLED"] = "WELCOME_SCREEN_ENABLED";
789
+ return GuildFeature2;
790
+ })(GuildFeature || {});
791
+ Internal.define({
792
+ "/users/@me/guilds": {
793
+ GET: "getCurrentUserGuilds"
794
+ },
795
+ "/users/@me/guilds/{guild.id}/member": {
796
+ GET: "getCurrentUserGuildMember"
797
+ },
798
+ "/users/@me/guilds/{guild.id}": {
799
+ DELETE: "leaveGuild"
800
+ }
801
+ });
802
+ Internal.define({
803
+ "/guilds": {
804
+ POST: "createGuild"
805
+ },
806
+ "/guilds/{guild.id}": {
807
+ GET: "getGuild",
808
+ PATCH: "modifyGuild",
809
+ DELETE: "deleteGuild"
810
+ },
811
+ "/guilds/{guild.id}/preview": {
812
+ GET: "getGuildPreview"
813
+ },
814
+ "/guilds/{guild.id}/widget": {
815
+ GET: "getGuildWidgetSettings",
816
+ PATCH: "modifyGuildWidget"
817
+ },
818
+ "/guilds/{guild.id}/widget.json": {
819
+ GET: "getGuildWidget"
820
+ },
821
+ "/guilds/{guild.id}/widget.png": {
822
+ GET: "getGuildWidgetImage"
823
+ },
824
+ "/guilds/{guild.id}/welcome-screen": {
825
+ GET: "getGuildWelcomeScreen",
826
+ PATCH: "modifyGuildWelcomeScreen"
827
+ }
828
+ });
829
+
830
+ // adapters/discord/src/types/integration.ts
831
+ var IntegrationExpireBehavior = /* @__PURE__ */ ((IntegrationExpireBehavior2) => {
832
+ IntegrationExpireBehavior2[IntegrationExpireBehavior2["REMOVE_ROLE"] = 0] = "REMOVE_ROLE";
833
+ IntegrationExpireBehavior2[IntegrationExpireBehavior2["KICK"] = 1] = "KICK";
834
+ return IntegrationExpireBehavior2;
835
+ })(IntegrationExpireBehavior || {});
836
+ Internal.define({
837
+ "/guilds/{guild.id}/integrations": {
838
+ GET: "getGuildIntegrations"
839
+ },
840
+ "/guilds/{guild.id}/integrations/{integration.id}": {
841
+ DELETE: "deleteGuildIntegration"
842
+ }
843
+ });
844
+
845
+ // adapters/discord/src/types/interaction.ts
846
+ var InteractionType = /* @__PURE__ */ ((InteractionType2) => {
847
+ InteractionType2[InteractionType2["PING"] = 1] = "PING";
848
+ InteractionType2[InteractionType2["APPLICATION_COMMAND"] = 2] = "APPLICATION_COMMAND";
849
+ InteractionType2[InteractionType2["MESSAGE_COMPONENT"] = 3] = "MESSAGE_COMPONENT";
850
+ return InteractionType2;
851
+ })(InteractionType || {});
852
+ var InteractionCallbackType = /* @__PURE__ */ ((InteractionCallbackType2) => {
853
+ InteractionCallbackType2[InteractionCallbackType2["PONG"] = 1] = "PONG";
854
+ InteractionCallbackType2[InteractionCallbackType2["CHANNEL_MESSAGE_WITH_SOURCE"] = 4] = "CHANNEL_MESSAGE_WITH_SOURCE";
855
+ InteractionCallbackType2[InteractionCallbackType2["DEFERRED_CHANNEL_MESSAGE_WITH_SOURCE"] = 5] = "DEFERRED_CHANNEL_MESSAGE_WITH_SOURCE";
856
+ InteractionCallbackType2[InteractionCallbackType2["DEFERRED_UPDATE_MESSAGE"] = 6] = "DEFERRED_UPDATE_MESSAGE";
857
+ InteractionCallbackType2[InteractionCallbackType2["UPDATE_MESSAGE"] = 7] = "UPDATE_MESSAGE";
858
+ return InteractionCallbackType2;
859
+ })(InteractionCallbackType || {});
860
+ var InteractionCallbackDataFlag = /* @__PURE__ */ ((InteractionCallbackDataFlag2) => {
861
+ InteractionCallbackDataFlag2[InteractionCallbackDataFlag2["EPHEMERAL"] = 64] = "EPHEMERAL";
862
+ return InteractionCallbackDataFlag2;
863
+ })(InteractionCallbackDataFlag || {});
864
+ Internal.define({
865
+ "/interactions/{interaction.id}/{interaction.token}/callback": {
866
+ POST: "createInteractionResponse"
867
+ },
868
+ "/webhooks/{application.id}/{interaction.token}/messages/@original": {
869
+ GET: "getOriginalInteractionResponse",
870
+ PATCH: "editOriginalInteractionResponse",
871
+ DELETE: "deleteOriginalInteractionResponse"
872
+ },
873
+ "/webhooks/{application.id}/{interaction.token}": {
874
+ POST: "createFollowupMessage"
875
+ },
876
+ "/webhooks/{application.id}/{interaction.token}/messages/{message.id}": {
877
+ GET: "getFollowupMessage",
878
+ PATCH: "editFollowupMessage",
879
+ DELETE: "deleteFollowupMessage"
880
+ }
881
+ });
882
+
883
+ // adapters/discord/src/types/invite.ts
884
+ var Invite;
885
+ ((Invite2) => {
886
+ let TargetType;
887
+ ((TargetType2) => {
888
+ TargetType2[TargetType2["STREAM"] = 1] = "STREAM";
889
+ TargetType2[TargetType2["EMBEDDED_APPLICATION"] = 2] = "EMBEDDED_APPLICATION";
890
+ })(TargetType = Invite2.TargetType || (Invite2.TargetType = {}));
891
+ })(Invite || (Invite = {}));
892
+ Internal.define({
893
+ "/invites/{invite.code}": {
894
+ GET: "getInvite",
895
+ DELETE: "deleteInvite"
896
+ },
897
+ "/guilds/{guild.id}/invites": {
898
+ GET: "getGuildInvites"
899
+ },
900
+ "/guilds/{guild.id}/vanity-url": {
901
+ GET: "getGuildVanityURL"
902
+ },
903
+ "/channels/{channel.id}/invites": {
904
+ GET: "getChannelInvites",
905
+ POST: "createChannelInvite"
906
+ }
907
+ });
908
+
909
+ // adapters/discord/src/types/message.ts
910
+ var Message3;
911
+ ((Message6) => {
912
+ let Type;
913
+ ((Type2) => {
914
+ Type2[Type2["DEFAULT"] = 0] = "DEFAULT";
915
+ Type2[Type2["RECIPIENT_ADD"] = 1] = "RECIPIENT_ADD";
916
+ Type2[Type2["RECIPIENT_REMOVE"] = 2] = "RECIPIENT_REMOVE";
917
+ Type2[Type2["CALL"] = 3] = "CALL";
918
+ Type2[Type2["CHANNEL_NAME_CHANGE"] = 4] = "CHANNEL_NAME_CHANGE";
919
+ Type2[Type2["CHANNEL_ICON_CHANGE"] = 5] = "CHANNEL_ICON_CHANGE";
920
+ Type2[Type2["CHANNEL_PINNED_MESSAGE"] = 6] = "CHANNEL_PINNED_MESSAGE";
921
+ Type2[Type2["GUILD_MEMBER_JOIN"] = 7] = "GUILD_MEMBER_JOIN";
922
+ Type2[Type2["USER_PREMIUM_GUILD_SUBSCRIPTION"] = 8] = "USER_PREMIUM_GUILD_SUBSCRIPTION";
923
+ Type2[Type2["USER_PREMIUM_GUILD_SUBSCRIPTION_TIER_1"] = 9] = "USER_PREMIUM_GUILD_SUBSCRIPTION_TIER_1";
924
+ Type2[Type2["USER_PREMIUM_GUILD_SUBSCRIPTION_TIER_2"] = 10] = "USER_PREMIUM_GUILD_SUBSCRIPTION_TIER_2";
925
+ Type2[Type2["USER_PREMIUM_GUILD_SUBSCRIPTION_TIER_3"] = 11] = "USER_PREMIUM_GUILD_SUBSCRIPTION_TIER_3";
926
+ Type2[Type2["CHANNEL_FOLLOW_ADD"] = 12] = "CHANNEL_FOLLOW_ADD";
927
+ Type2[Type2["GUILD_DISCOVERY_DISQUALIFIED"] = 14] = "GUILD_DISCOVERY_DISQUALIFIED";
928
+ Type2[Type2["GUILD_DISCOVERY_REQUALIFIED"] = 15] = "GUILD_DISCOVERY_REQUALIFIED";
929
+ Type2[Type2["GUILD_DISCOVERY_GRACE_PERIOD_INITIAL_WARNING"] = 16] = "GUILD_DISCOVERY_GRACE_PERIOD_INITIAL_WARNING";
930
+ Type2[Type2["GUILD_DISCOVERY_GRACE_PERIOD_FINAL_WARNING"] = 17] = "GUILD_DISCOVERY_GRACE_PERIOD_FINAL_WARNING";
931
+ Type2[Type2["THREAD_CREATED"] = 18] = "THREAD_CREATED";
932
+ Type2[Type2["REPLY"] = 19] = "REPLY";
933
+ Type2[Type2["CHAT_INPUT_COMMAND"] = 20] = "CHAT_INPUT_COMMAND";
934
+ Type2[Type2["THREAD_STARTER_MESSAGE"] = 21] = "THREAD_STARTER_MESSAGE";
935
+ Type2[Type2["GUILD_INVITE_REMINDER"] = 22] = "GUILD_INVITE_REMINDER";
936
+ Type2[Type2["CONTEXT_MENU_COMMAND"] = 23] = "CONTEXT_MENU_COMMAND";
937
+ })(Type = Message6.Type || (Message6.Type = {}));
938
+ let ActivityType2;
939
+ ((ActivityType3) => {
940
+ ActivityType3[ActivityType3["JOIN"] = 1] = "JOIN";
941
+ ActivityType3[ActivityType3["SPECTATE"] = 2] = "SPECTATE";
942
+ ActivityType3[ActivityType3["LISTEN"] = 3] = "LISTEN";
943
+ ActivityType3[ActivityType3["JOIN_REQUEST"] = 5] = "JOIN_REQUEST";
944
+ })(ActivityType2 = Message6.ActivityType || (Message6.ActivityType = {}));
945
+ let Flag;
946
+ ((Flag2) => {
947
+ Flag2[Flag2["CROSSPOSTED"] = 1] = "CROSSPOSTED";
948
+ Flag2[Flag2["IS_CROSSPOST"] = 2] = "IS_CROSSPOST";
949
+ Flag2[Flag2["SUPPRESS_EMBEDS"] = 4] = "SUPPRESS_EMBEDS";
950
+ Flag2[Flag2["SOURCE_MESSAGE_DELETED"] = 8] = "SOURCE_MESSAGE_DELETED";
951
+ Flag2[Flag2["URGENT"] = 16] = "URGENT";
952
+ Flag2[Flag2["HAS_THREAD"] = 32] = "HAS_THREAD";
953
+ Flag2[Flag2["EPHEMERAL"] = 64] = "EPHEMERAL";
954
+ Flag2[Flag2["LOADING"] = 128] = "LOADING";
955
+ })(Flag = Message6.Flag || (Message6.Flag = {}));
956
+ })(Message3 || (Message3 = {}));
957
+ Internal.define({
958
+ "/channels/{channel.id}/messages": {
959
+ GET: "getChannelMessages",
960
+ POST: "createMessage"
961
+ },
962
+ "/channels/{channel.id}/messages/{message.id}": {
963
+ GET: "getChannelMessage",
964
+ PATCH: "editMessage",
965
+ DELETE: "deleteMessage"
966
+ },
967
+ "/channels/{channel.id}/messages/{message.id}/crosspost": {
968
+ POST: "crosspostMessage"
969
+ },
970
+ "/channels/{channel.id}/messages/bulk-delete": {
971
+ POST: "bulkDeleteMessages"
972
+ },
973
+ "/channels/{channel.id}/pins": {
974
+ GET: "getPinnedMessages"
975
+ },
976
+ "/channels/{channel.id}/pins/{message.id}": {
977
+ PUT: "pinMessage",
978
+ DELETE: "unpinMessage"
979
+ }
980
+ });
981
+
982
+ // adapters/discord/src/types/presence.ts
983
+ var StatusType2 = /* @__PURE__ */ ((StatusType3) => {
984
+ StatusType3["ONLINE"] = "ONLINE";
985
+ StatusType3["DND"] = "DND";
986
+ StatusType3["IDLE"] = "IDLE";
987
+ StatusType3["INVISIBLE"] = "INVISIBLE";
988
+ StatusType3["OFFLINE"] = "OFFLINE";
989
+ return StatusType3;
990
+ })(StatusType2 || {});
991
+ var ActivityType = /* @__PURE__ */ ((ActivityType2) => {
992
+ ActivityType2[ActivityType2["GAME"] = 0] = "GAME";
993
+ ActivityType2[ActivityType2["STREAMING"] = 1] = "STREAMING";
994
+ ActivityType2[ActivityType2["LISTENING"] = 2] = "LISTENING";
995
+ ActivityType2[ActivityType2["WATCHING"] = 3] = "WATCHING";
996
+ ActivityType2[ActivityType2["CUSTOM"] = 4] = "CUSTOM";
997
+ ActivityType2[ActivityType2["COMPETING"] = 5] = "COMPETING";
998
+ return ActivityType2;
999
+ })(ActivityType || {});
1000
+ var ActivityFlag = /* @__PURE__ */ ((ActivityFlag2) => {
1001
+ ActivityFlag2[ActivityFlag2["INSTANCE"] = 1] = "INSTANCE";
1002
+ ActivityFlag2[ActivityFlag2["JOIN"] = 2] = "JOIN";
1003
+ ActivityFlag2[ActivityFlag2["SPECTATE"] = 4] = "SPECTATE";
1004
+ ActivityFlag2[ActivityFlag2["JOIN_REQUEST"] = 8] = "JOIN_REQUEST";
1005
+ ActivityFlag2[ActivityFlag2["SYNC"] = 16] = "SYNC";
1006
+ ActivityFlag2[ActivityFlag2["PLAY"] = 32] = "PLAY";
1007
+ return ActivityFlag2;
1008
+ })(ActivityFlag || {});
1009
+
1010
+ // adapters/discord/src/types/reaction.ts
1011
+ Internal.define({
1012
+ "/channels/{channel.id}/messages/{message.id}/reactions/{emoji}/@me": {
1013
+ PUT: "createReaction",
1014
+ DELETE: "deleteOwnReaction"
1015
+ },
1016
+ "/channels/{channel.id}/messages/{message.id}/reactions/{emoji}/{user.id}": {
1017
+ DELETE: "deleteUserReaction"
1018
+ },
1019
+ "/channels/{channel.id}/messages/{message.id}/reactions/{emoji}": {
1020
+ GET: "getReactions",
1021
+ DELETE: "deleteAllReactionsforEmoji"
1022
+ },
1023
+ "/channels/{channel.id}/messages/{message.id}/reactions": {
1024
+ DELETE: "deleteAllReactions"
1025
+ }
1026
+ });
1027
+
1028
+ // adapters/discord/src/types/role.ts
1029
+ var Permission = /* @__PURE__ */ ((Permission2) => {
1030
+ Permission2[Permission2["CREATE_INSTANT_INVITE"] = 1] = "CREATE_INSTANT_INVITE";
1031
+ Permission2[Permission2["KICK_MEMBERS"] = 2] = "KICK_MEMBERS";
1032
+ Permission2[Permission2["BAN_MEMBERS"] = 4] = "BAN_MEMBERS";
1033
+ Permission2[Permission2["ADMINISTRATOR"] = 8] = "ADMINISTRATOR";
1034
+ Permission2[Permission2["MANAGE_CHANNELS"] = 16] = "MANAGE_CHANNELS";
1035
+ Permission2[Permission2["MANAGE_GUILD"] = 32] = "MANAGE_GUILD";
1036
+ Permission2[Permission2["ADD_REACTIONS"] = 64] = "ADD_REACTIONS";
1037
+ Permission2[Permission2["VIEW_AUDIT_LOG"] = 128] = "VIEW_AUDIT_LOG";
1038
+ Permission2[Permission2["PRIORITY_SPEAKER"] = 256] = "PRIORITY_SPEAKER";
1039
+ Permission2[Permission2["STREAM"] = 512] = "STREAM";
1040
+ Permission2[Permission2["VIEW_CHANNEL"] = 1024] = "VIEW_CHANNEL";
1041
+ Permission2[Permission2["SEND_MESSAGES"] = 2048] = "SEND_MESSAGES";
1042
+ Permission2[Permission2["SEND_TTS_MESSAGES"] = 4096] = "SEND_TTS_MESSAGES";
1043
+ Permission2[Permission2["MANAGE_MESSAGES"] = 8192] = "MANAGE_MESSAGES";
1044
+ Permission2[Permission2["EMBED_LINKS"] = 16384] = "EMBED_LINKS";
1045
+ Permission2[Permission2["ATTACH_FILES"] = 32768] = "ATTACH_FILES";
1046
+ Permission2[Permission2["READ_MESSAGE_HISTORY"] = 65536] = "READ_MESSAGE_HISTORY";
1047
+ Permission2[Permission2["MENTION_EVERYONE"] = 131072] = "MENTION_EVERYONE";
1048
+ Permission2[Permission2["USE_EXTERNAL_EMOJIS"] = 262144] = "USE_EXTERNAL_EMOJIS";
1049
+ Permission2[Permission2["VIEW_GUILD_INSIGHTS"] = 524288] = "VIEW_GUILD_INSIGHTS";
1050
+ Permission2[Permission2["CONNECT"] = 1048576] = "CONNECT";
1051
+ Permission2[Permission2["SPEAK"] = 2097152] = "SPEAK";
1052
+ Permission2[Permission2["MUTE_MEMBERS"] = 4194304] = "MUTE_MEMBERS";
1053
+ Permission2[Permission2["DEAFEN_MEMBERS"] = 8388608] = "DEAFEN_MEMBERS";
1054
+ Permission2[Permission2["MOVE_MEMBERS"] = 16777216] = "MOVE_MEMBERS";
1055
+ Permission2[Permission2["USE_VAD"] = 33554432] = "USE_VAD";
1056
+ Permission2[Permission2["CHANGE_NICKNAME"] = 67108864] = "CHANGE_NICKNAME";
1057
+ Permission2[Permission2["MANAGE_NICKNAMES"] = 134217728] = "MANAGE_NICKNAMES";
1058
+ Permission2[Permission2["MANAGE_ROLES"] = 268435456] = "MANAGE_ROLES";
1059
+ Permission2[Permission2["MANAGE_WEBHOOKS"] = 536870912] = "MANAGE_WEBHOOKS";
1060
+ Permission2[Permission2["MANAGE_EMOJIS_AND_STICKERS"] = 1073741824] = "MANAGE_EMOJIS_AND_STICKERS";
1061
+ Permission2[Permission2["USE_APPLICATION_COMMANDS"] = -2147483648] = "USE_APPLICATION_COMMANDS";
1062
+ Permission2[Permission2["REQUEST_TO_SPEAK"] = 1] = "REQUEST_TO_SPEAK";
1063
+ Permission2[Permission2["MANAGE_THREADS"] = 4] = "MANAGE_THREADS";
1064
+ Permission2[Permission2["CREATE_PUBLIC_THREADS"] = 8] = "CREATE_PUBLIC_THREADS";
1065
+ Permission2[Permission2["CREATE_PRIVATE_THREADS"] = 16] = "CREATE_PRIVATE_THREADS";
1066
+ Permission2[Permission2["USE_EXTERNAL_STICKERS"] = 32] = "USE_EXTERNAL_STICKERS";
1067
+ Permission2[Permission2["SEND_MESSAGES_IN_THREADS"] = 64] = "SEND_MESSAGES_IN_THREADS";
1068
+ Permission2[Permission2["START_EMBEDDED_ACTIVITIES"] = 128] = "START_EMBEDDED_ACTIVITIES";
1069
+ return Permission2;
1070
+ })(Permission || {});
1071
+ Internal.define({
1072
+ "/guilds/{guild.id}/roles": {
1073
+ GET: "getGuildRoles",
1074
+ POST: "createGuildRole",
1075
+ PATCH: "modifyGuildRolePositions"
1076
+ },
1077
+ "/guilds/{guild.id}/roles/{role.id}": {
1078
+ PATCH: "modifyGuildRole",
1079
+ DELETE: "deleteGuildRole"
1080
+ }
1081
+ });
1082
+
1083
+ // adapters/discord/src/types/scheduled-event.ts
1084
+ var GuildScheduledEvent;
1085
+ ((GuildScheduledEvent2) => {
1086
+ let PrivacyLevel;
1087
+ ((PrivacyLevel2) => {
1088
+ PrivacyLevel2[PrivacyLevel2["GUILD_ONLY"] = 2] = "GUILD_ONLY";
1089
+ })(PrivacyLevel = GuildScheduledEvent2.PrivacyLevel || (GuildScheduledEvent2.PrivacyLevel = {}));
1090
+ let EntityType;
1091
+ ((EntityType2) => {
1092
+ EntityType2[EntityType2["STAGE_INSTANCE"] = 1] = "STAGE_INSTANCE";
1093
+ EntityType2[EntityType2["VOICE"] = 2] = "VOICE";
1094
+ EntityType2[EntityType2["EXTERNAL"] = 3] = "EXTERNAL";
1095
+ })(EntityType = GuildScheduledEvent2.EntityType || (GuildScheduledEvent2.EntityType = {}));
1096
+ let Status;
1097
+ ((Status2) => {
1098
+ Status2[Status2["SCHEDULED"] = 1] = "SCHEDULED";
1099
+ Status2[Status2["ACTIVE"] = 2] = "ACTIVE";
1100
+ Status2[Status2["COMPLETED"] = 3] = "COMPLETED";
1101
+ Status2[Status2["CANCELLED"] = 4] = "CANCELLED";
1102
+ })(Status = GuildScheduledEvent2.Status || (GuildScheduledEvent2.Status = {}));
1103
+ })(GuildScheduledEvent || (GuildScheduledEvent = {}));
1104
+ Internal.define({
1105
+ "/guilds/{guild.id}/scheduled-events": {
1106
+ GET: "listScheduledEventsforGuild",
1107
+ POST: "createGuildScheduledEvent"
1108
+ },
1109
+ "/guilds/{guild.id}/scheduled-events/{guild_scheduled_event.id}": {
1110
+ GET: "getGuildScheduledEvent",
1111
+ PATCH: "modifyGuildScheduledEvent",
1112
+ DELETE: "deleteGuildScheduledEvent"
1113
+ },
1114
+ "/guilds/{guild.id}/scheduled-events/{guild_scheduled_event.id}/users": {
1115
+ GET: "getGuildScheduledEventUsers"
1116
+ }
1117
+ });
1118
+
1119
+ // adapters/discord/src/types/stage-instance.ts
1120
+ Internal.define({
1121
+ "/stage-instances": {
1122
+ POST: "createStageInstance"
1123
+ },
1124
+ "/stage-instances/{channel.id}": {
1125
+ GET: "getStageInstance",
1126
+ PATCH: "modifyStageInstance",
1127
+ DELETE: "deleteStageInstance"
1128
+ }
1129
+ });
1130
+
1131
+ // adapters/discord/src/types/sticker.ts
1132
+ var Sticker3;
1133
+ ((Sticker4) => {
1134
+ let Type;
1135
+ ((Type2) => {
1136
+ Type2[Type2["STANDARD"] = 1] = "STANDARD";
1137
+ Type2[Type2["GUILD"] = 2] = "GUILD";
1138
+ })(Type = Sticker4.Type || (Sticker4.Type = {}));
1139
+ let FormatType;
1140
+ ((FormatType2) => {
1141
+ FormatType2[FormatType2["PNG"] = 1] = "PNG";
1142
+ FormatType2[FormatType2["APNG"] = 2] = "APNG";
1143
+ FormatType2[FormatType2["LOTTIE"] = 3] = "LOTTIE";
1144
+ })(FormatType = Sticker4.FormatType || (Sticker4.FormatType = {}));
1145
+ })(Sticker3 || (Sticker3 = {}));
1146
+ Internal.define({
1147
+ "/stickers/{sticker.id}": {
1148
+ GET: "getSticker"
1149
+ },
1150
+ "/sticker-packs": {
1151
+ GET: "listNitroStickerPacks"
1152
+ },
1153
+ "/guilds/{guild.id}/stickers": {
1154
+ GET: "listGuildStickers",
1155
+ POST: "createGuildSticker"
1156
+ },
1157
+ "/guilds/{guild.id}/stickers/{sticker.id}": {
1158
+ GET: "getGuildSticker",
1159
+ PATCH: "modifyGuildSticker",
1160
+ DELETE: "deleteGuildSticker"
1161
+ }
1162
+ });
1163
+
1164
+ // adapters/discord/src/types/team.ts
1165
+ var MembershipState = /* @__PURE__ */ ((MembershipState2) => {
1166
+ MembershipState2[MembershipState2["INVITED"] = 1] = "INVITED";
1167
+ MembershipState2[MembershipState2["ACCEPTED"] = 2] = "ACCEPTED";
1168
+ return MembershipState2;
1169
+ })(MembershipState || {});
1170
+
1171
+ // adapters/discord/src/types/thread.ts
1172
+ Internal.define({
1173
+ "/channels/{channel.id}/messages/{message.id}/threads": {
1174
+ POST: "startThreadwithMessage"
1175
+ },
1176
+ "/channels/{channel.id}/threads": {
1177
+ POST: "startThreadwithoutMessage"
1178
+ },
1179
+ "/channels/{channel.id}/thread-members/@me": {
1180
+ PUT: "joinThread",
1181
+ DELETE: "leaveThread"
1182
+ },
1183
+ "/channels/{channel.id}/thread-members/{user.id}": {
1184
+ PUT: "addThreadMember",
1185
+ DELETE: "removeThreadMember",
1186
+ GET: "getThreadMember"
1187
+ },
1188
+ "/channels/{channel.id}/thread-members": {
1189
+ GET: "listThreadMembers"
1190
+ },
1191
+ "/channels/{channel.id}/threads/active": {
1192
+ GET: "listActiveThreads"
1193
+ },
1194
+ "/channels/{channel.id}/threads/archived/public": {
1195
+ GET: "listPublicArchivedThreads"
1196
+ },
1197
+ "/channels/{channel.id}/threads/archived/private": {
1198
+ GET: "listPrivateArchivedThreads"
1199
+ },
1200
+ "/channels/{channel.id}/users/@me/threads/archived/private": {
1201
+ GET: "listJoinedPrivateArchivedThreads"
1202
+ }
1203
+ });
1204
+
1205
+ // adapters/discord/src/types/user.ts
1206
+ var UserFlag = /* @__PURE__ */ ((UserFlag2) => {
1207
+ UserFlag2[UserFlag2["NONE"] = 0] = "NONE";
1208
+ UserFlag2[UserFlag2["DISCORD_EMPLOYEE"] = 1] = "DISCORD_EMPLOYEE";
1209
+ UserFlag2[UserFlag2["PARTNERED_SERVER_OWNER"] = 2] = "PARTNERED_SERVER_OWNER";
1210
+ UserFlag2[UserFlag2["HYPESQUAD_EVENTS"] = 4] = "HYPESQUAD_EVENTS";
1211
+ UserFlag2[UserFlag2["BUG_HUNTER_LEVEL_1"] = 8] = "BUG_HUNTER_LEVEL_1";
1212
+ UserFlag2[UserFlag2["HOUSE_BRAVERY"] = 64] = "HOUSE_BRAVERY";
1213
+ UserFlag2[UserFlag2["HOUSE_BRILLIANCE"] = 128] = "HOUSE_BRILLIANCE";
1214
+ UserFlag2[UserFlag2["HOUSE_BALANCE"] = 256] = "HOUSE_BALANCE";
1215
+ UserFlag2[UserFlag2["EARLY_SUPPORTER"] = 512] = "EARLY_SUPPORTER";
1216
+ UserFlag2[UserFlag2["TEAM_USER"] = 1024] = "TEAM_USER";
1217
+ UserFlag2[UserFlag2["BUG_HUNTER_LEVEL_2"] = 16384] = "BUG_HUNTER_LEVEL_2";
1218
+ UserFlag2[UserFlag2["VERIFIED_BOT"] = 65536] = "VERIFIED_BOT";
1219
+ UserFlag2[UserFlag2["EARLY_VERIFIED_BOT_DEVELOPER"] = 131072] = "EARLY_VERIFIED_BOT_DEVELOPER";
1220
+ UserFlag2[UserFlag2["DISCORD_CERTIFIED_MODERATOR"] = 262144] = "DISCORD_CERTIFIED_MODERATOR";
1221
+ return UserFlag2;
1222
+ })(UserFlag || {});
1223
+ var VisibilityType = /* @__PURE__ */ ((VisibilityType2) => {
1224
+ VisibilityType2[VisibilityType2["NONE"] = 0] = "NONE";
1225
+ VisibilityType2[VisibilityType2["EVERYONE"] = 1] = "EVERYONE";
1226
+ return VisibilityType2;
1227
+ })(VisibilityType || {});
1228
+ Internal.define({
1229
+ "/users/@me": {
1230
+ GET: "getCurrentUser",
1231
+ PATCH: "modifyCurrentUser"
1232
+ },
1233
+ "/users/{user.id}": {
1234
+ GET: "getUser"
1235
+ },
1236
+ "/users/@me/connections": {
1237
+ GET: "getUserConnections"
1238
+ }
1239
+ });
1240
+
1241
+ // adapters/discord/src/types/voice.ts
1242
+ Internal.define({
1243
+ "/voice/regions": {
1244
+ GET: "listVoiceRegions"
1245
+ },
1246
+ "/guilds/{guild.id}/regions": {
1247
+ GET: "getGuildVoiceRegions"
1248
+ },
1249
+ "/guilds/{guild.id}/voice-states/@me": {
1250
+ PATCH: "modifyCurrentUserVoiceState"
1251
+ },
1252
+ "/guilds/{guild.id}/voice-states/{user.id}": {
1253
+ PATCH: "modifyUserVoiceState"
1254
+ }
1255
+ });
1256
+
1257
+ // adapters/discord/src/types/webhook.ts
1258
+ var Webhook2;
1259
+ ((Webhook3) => {
1260
+ let Type;
1261
+ ((Type2) => {
1262
+ Type2[Type2["INCOMING"] = 1] = "INCOMING";
1263
+ Type2[Type2["CHANNEL_FOLLOWER"] = 2] = "CHANNEL_FOLLOWER";
1264
+ Type2[Type2["APPLICATION"] = 3] = "APPLICATION";
1265
+ })(Type = Webhook3.Type || (Webhook3.Type = {}));
1266
+ })(Webhook2 || (Webhook2 = {}));
1267
+ Internal.define({
1268
+ "/channels/{channel.id}/webhooks": {
1269
+ POST: "createWebhook",
1270
+ GET: "getChannelWebhooks"
1271
+ },
1272
+ "/guilds/{guild.id}/webhooks": {
1273
+ GET: "getGuildWebhooks"
1274
+ },
1275
+ "/webhooks/{webhook.id}": {
1276
+ GET: "getWebhook",
1277
+ PATCH: "modifyWebhook",
1278
+ DELETE: "deleteWebhook"
1279
+ },
1280
+ "/webhooks/{webhook.id}/{webhook.token}": {
1281
+ GET: "getWebhookwithToken",
1282
+ PATCH: "modifyWebhookwithToken",
1283
+ DELETE: "deleteWebhookwithToken",
1284
+ POST: "executeWebhook"
1285
+ },
1286
+ "/webhooks/{webhook.id}/{webhook.token}/slack": {
1287
+ POST: "executeSlackCompatibleWebhook"
1288
+ },
1289
+ "/webhooks/{webhook.id}/{webhook.token}/github": {
1290
+ POST: "executeGitHubCompatibleWebhook"
1291
+ },
1292
+ "/webhooks/{webhook.id}/{webhook.token}/messages/{message.id}": {
1293
+ GET: "getWebhookMessage",
1294
+ PATCH: "editWebhookMessage",
1295
+ DELETE: "deleteWebhookMessage"
1296
+ }
1297
+ });
1298
+
1299
+ // adapters/discord/src/ws.ts
1300
+ var import_satori3 = require("@satorijs/satori");
1301
+ var logger = new import_satori3.Logger("discord");
1302
+ var WsClient = class extends import_satori3.Adapter.WsClient {
1303
+ constructor() {
1304
+ super(...arguments);
1305
+ this._d = 0;
1306
+ this._sessionId = "";
1307
+ }
1308
+ prepare() {
1309
+ return this.bot.http.ws(this.bot.config.gateway);
1310
+ }
1311
+ heartbeat() {
1312
+ logger.debug(`heartbeat d ${this._d}`);
1313
+ this.bot.socket.send(JSON.stringify({
1314
+ op: 1 /* HEARTBEAT */,
1315
+ d: this._d
1316
+ }));
1317
+ }
1318
+ accept() {
1319
+ if (this._sessionId) {
1320
+ logger.debug("resuming");
1321
+ this.bot.socket.send(JSON.stringify({
1322
+ op: 6 /* RESUME */,
1323
+ d: {
1324
+ token: this.bot.config.token,
1325
+ session_id: this._sessionId,
1326
+ seq: this._d
1327
+ }
1328
+ }));
1329
+ this.bot.online();
1330
+ }
1331
+ this.bot.socket.on("message", async (data) => {
1332
+ let parsed;
1333
+ try {
1334
+ parsed = JSON.parse(data.toString());
1335
+ } catch (error) {
1336
+ return logger.warn("cannot parse message", data);
1337
+ }
1338
+ logger.debug(require("util").inspect(parsed, false, null, true));
1339
+ if (parsed.s) {
1340
+ this._d = parsed.s;
1341
+ }
1342
+ if (parsed.op === 10 /* HELLO */) {
1343
+ this._ping = setInterval(() => this.heartbeat(), parsed.d.heartbeat_interval);
1344
+ if (this._sessionId)
1345
+ return;
1346
+ this.bot.socket.send(JSON.stringify({
1347
+ op: 2 /* IDENTIFY */,
1348
+ d: {
1349
+ token: this.bot.config.token,
1350
+ properties: {},
1351
+ compress: false,
1352
+ intents: this.bot.getIntents()
1353
+ }
1354
+ }));
1355
+ }
1356
+ if (parsed.op === 0 /* DISPATCH */) {
1357
+ if (parsed.t === "READY") {
1358
+ this._sessionId = parsed.d.session_id;
1359
+ const self = adaptUser(parsed.d.user);
1360
+ self.selfId = self.userId;
1361
+ delete self.userId;
1362
+ Object.assign(this.bot, self);
1363
+ logger.debug("session_id " + this._sessionId);
1364
+ return this.bot.online();
1365
+ }
1366
+ const session = await adaptSession(this.bot, parsed);
1367
+ if (session)
1368
+ this.bot.dispatch(session);
1369
+ }
1370
+ });
1371
+ this.bot.socket.on("close", () => {
1372
+ clearInterval(this._ping);
1373
+ });
1374
+ }
1375
+ };
1376
+ __name(WsClient, "WsClient");
1377
+ ((WsClient2) => {
1378
+ WsClient2.Config = import_satori3.Schema.intersect([
1379
+ import_satori3.Schema.object({
1380
+ gateway: import_satori3.Schema.string().role("url").default("wss://gateway.discord.gg/?v=8&encoding=json").description("要连接的 WebSocket 网关。"),
1381
+ intents: import_satori3.Schema.object({
1382
+ members: import_satori3.Schema.boolean().description("启用 GUILD_MEMBERS 推送。").default(true),
1383
+ presence: import_satori3.Schema.boolean().description("启用 GUILD_PRESENCES 推送。").default(false)
1384
+ })
1385
+ }).description("推送设置"),
1386
+ import_satori3.Adapter.WsClient.Config
1387
+ ]);
1388
+ })(WsClient || (WsClient = {}));
1389
+
1390
+ // adapters/discord/src/bot.ts
1391
+ var DiscordBot = class extends import_satori4.Bot {
1392
+ constructor(ctx, config) {
1393
+ super(ctx, config);
1394
+ this.http = ctx.http.extend({
1395
+ ...config,
1396
+ headers: {
1397
+ Authorization: `Bot ${config.token}`,
1398
+ ...config.headers
1399
+ }
1400
+ });
1401
+ this.internal = new Internal(this.http);
1402
+ ctx.plugin(WsClient, this);
1403
+ }
1404
+ getIntents() {
1405
+ let intents = 0 | 512 /* GUILD_MESSAGES */ | 1024 /* GUILD_MESSAGE_REACTIONS */ | 4096 /* DIRECT_MESSAGES */ | 8192 /* DIRECT_MESSAGE_REACTIONS */;
1406
+ if (this.config.intents.members) {
1407
+ intents |= 2 /* GUILD_MEMBERS */;
1408
+ }
1409
+ if (this.config.intents.presence) {
1410
+ intents |= 256 /* GUILD_PRESENCES */;
1411
+ }
1412
+ return intents;
1413
+ }
1414
+ async getSelf() {
1415
+ const data = await this.internal.getCurrentUser();
1416
+ return adaptUser(data);
1417
+ }
1418
+ parseQuote(chain) {
1419
+ if (chain[0].type !== "quote")
1420
+ return;
1421
+ return chain.shift().data.id;
1422
+ }
1423
+ async sendMessage(channelId, content, guildId) {
1424
+ const session = this.session({
1425
+ type: "send",
1426
+ author: this,
1427
+ channelId,
1428
+ content,
1429
+ guildId,
1430
+ subtype: guildId ? "group" : "private"
1431
+ });
1432
+ if (await this.ctx.serial(session, "before-send", session))
1433
+ return;
1434
+ if (!(session == null ? void 0 : session.content))
1435
+ return [];
1436
+ const chain = import_satori4.segment.parse(session.content);
1437
+ const quote = this.parseQuote(chain);
1438
+ const message_reference = quote ? {
1439
+ message_id: quote
1440
+ } : void 0;
1441
+ const send = Sender.from(this, `/channels/${channelId}/messages`);
1442
+ const results = await send(session.content, { message_reference });
1443
+ for (const id of results) {
1444
+ session.messageId = id;
1445
+ this.ctx.emit(session, "send", session);
1446
+ }
1447
+ return results;
1448
+ }
1449
+ async sendPrivateMessage(channelId, content) {
1450
+ return this.sendMessage(channelId, content);
1451
+ }
1452
+ async deleteMessage(channelId, messageId) {
1453
+ await this.internal.deleteMessage(channelId, messageId);
1454
+ }
1455
+ async editMessage(channelId, messageId, content) {
1456
+ const chain = import_satori4.segment.parse(content);
1457
+ const image = chain.find((v) => v.type === "image");
1458
+ if (image) {
1459
+ throw new Error("You can't include embed object(s) while editing message.");
1460
+ }
1461
+ await this.internal.editMessage(channelId, messageId, {
1462
+ content
1463
+ });
1464
+ }
1465
+ async getMessage(channelId, messageId) {
1466
+ const original = await this.internal.getChannelMessage(channelId, messageId);
1467
+ const result = adaptMessage(original);
1468
+ const reference = original.message_reference;
1469
+ if (reference) {
1470
+ const quoteMsg = await this.internal.getChannelMessage(reference.channel_id, reference.message_id);
1471
+ result.quote = adaptMessage(quoteMsg);
1472
+ }
1473
+ return result;
1474
+ }
1475
+ async getUser(userId) {
1476
+ const data = await this.internal.getUser(userId);
1477
+ return adaptUser(data);
1478
+ }
1479
+ async getGuildMemberList(guildId) {
1480
+ const data = await this.internal.listGuildMembers(guildId);
1481
+ return data.map((v) => adaptUser(v.user));
1482
+ }
1483
+ async getChannel(channelId) {
1484
+ const data = await this.internal.getChannel(channelId);
1485
+ return adaptChannel(data);
1486
+ }
1487
+ async getGuildMember(guildId, userId) {
1488
+ const member = await this.internal.getGuildMember(guildId, userId);
1489
+ return {
1490
+ ...adaptUser(member.user),
1491
+ nickname: member.nick
1492
+ };
1493
+ }
1494
+ async kickGuildMember(guildId, userId) {
1495
+ return this.internal.removeGuildMember(guildId, userId);
1496
+ }
1497
+ async getGuild(guildId) {
1498
+ const data = await this.internal.getGuild(guildId);
1499
+ return adaptGuild(data);
1500
+ }
1501
+ async getGuildList() {
1502
+ const data = await this.internal.getCurrentUserGuilds();
1503
+ return data.map((v) => adaptGuild(v));
1504
+ }
1505
+ async getChannelList(guildId) {
1506
+ const data = await this.internal.getGuildChannels(guildId);
1507
+ return data.map((v) => adaptChannel(v));
1508
+ }
1509
+ async getMessageList(channelId, before) {
1510
+ const data = (await this.internal.getChannelMessages(channelId, {
1511
+ before,
1512
+ limit: 50
1513
+ })).reverse();
1514
+ return data.map((v) => {
1515
+ const session = {};
1516
+ prepareMessageSession(session, v);
1517
+ adaptMessageSession(v, session);
1518
+ return session;
1519
+ });
1520
+ }
1521
+ };
1522
+ __name(DiscordBot, "DiscordBot");
1523
+ ((DiscordBot2) => {
1524
+ DiscordBot2.Config = import_satori4.Schema.intersect([
1525
+ import_satori4.Schema.object({
1526
+ token: import_satori4.Schema.string().description("机器人的用户令牌。").role("secret").required()
1527
+ }),
1528
+ WsClient.Config,
1529
+ Sender.Config,
1530
+ import_satori4.Schema.object({
1531
+ endpoint: import_satori4.Schema.string().role("url").description("要连接的服务器地址。").default("https://discord.com/api/v8"),
1532
+ proxyAgent: import_satori4.Schema.string().role("url").description("使用的代理服务器地址。"),
1533
+ headers: import_satori4.Schema.dict(String).description("要附加的额外请求头。"),
1534
+ timeout: import_satori4.Schema.natural().role("ms").description("等待连接建立的最长时间。")
1535
+ }).description("请求设置")
1536
+ ]);
1537
+ })(DiscordBot || (DiscordBot = {}));
1538
+ DiscordBot.prototype.platform = "discord";
1539
+
1540
+ // adapters/discord/src/index.ts
1541
+ var src_default = DiscordBot;
1542
+ // Annotate the CommonJS export names for ESM import in node:
1543
+ 0 && (module.exports = {
1544
+ Discord,
1545
+ DiscordBot,
1546
+ Sender,
1547
+ WsClient,
1548
+ adaptAuthor,
1549
+ adaptChannel,
1550
+ adaptGuild,
1551
+ adaptMessage,
1552
+ adaptMessageSession,
1553
+ adaptSession,
1554
+ adaptUser,
1555
+ prepareMessageSession
1556
+ });
1557
+ //# sourceMappingURL=index.js.map