cordo 1.9.5 → 1.10.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/api.js CHANGED
@@ -13,8 +13,13 @@ class CordoAPI {
13
13
  i._answerComponents = data.components;
14
14
  if (!i._answered) {
15
15
  i._answered = true;
16
- const res = await axios_1.default.post(`https://discord.com/api/v8/interactions/${i.id}/${i.token}/callback`, { type, data }, { validateStatus: null });
17
- CordoAPI.handleCallbackResponse(res, type, data);
16
+ if (!!i._httpCallback) {
17
+ i._httpCallback({ type, data });
18
+ }
19
+ else {
20
+ const res = await axios_1.default.post(`https://discord.com/api/v9/interactions/${i.id}/${i.token}/callback`, { type, data }, { validateStatus: null });
21
+ CordoAPI.handleCallbackResponse(res, type, data);
22
+ }
18
23
  }
19
24
  else {
20
25
  switch (type) {
@@ -22,12 +27,12 @@ class CordoAPI {
22
27
  case const_2.InteractionCallbackType.DEFERRED_CHANNEL_MESSAGE_WITH_SOURCE: break;
23
28
  case const_2.InteractionCallbackType.DEFERRED_UPDATE_MESSAGE: break;
24
29
  case const_2.InteractionCallbackType.CHANNEL_MESSAGE_WITH_SOURCE: {
25
- const res = await axios_1.default.post(`https://discord.com/api/v8/webhooks/${index_1.default._data.config.botId}/${i.token}`, data, { validateStatus: null });
30
+ const res = await axios_1.default.post(`https://discord.com/api/v9/webhooks/${index_1.default._data.config.botId}/${i.token}`, data, { validateStatus: null });
26
31
  CordoAPI.handleCallbackResponse(res, type, data);
27
32
  break;
28
33
  }
29
34
  case const_2.InteractionCallbackType.UPDATE_MESSAGE: {
30
- const res = await axios_1.default.patch(`https://discord.com/api/v8/webhooks/${index_1.default._data.config.botId}/${i.token}/messages/@original`, data, { validateStatus: null });
35
+ const res = await axios_1.default.patch(`https://discord.com/api/v9/webhooks/${index_1.default._data.config.botId}/${i.token}/messages/@original`, data, { validateStatus: null });
31
36
  CordoAPI.handleCallbackResponse(res, type, data);
32
37
  break;
33
38
  }
@@ -63,7 +68,7 @@ class CordoAPI {
63
68
  if (!data)
64
69
  return;
65
70
  // explicitly not using this. in this function due to unwanted side-effects in lambda functions
66
- index_1.default._data.middlewares.interactionCallback.forEach(f => f(data, i.guildData));
71
+ index_1.default._data.middlewares.interactionCallback.forEach(f => f(data, i));
67
72
  const isEmphemeral = (data.flags & const_1.InteractionResponseFlags.EPHEMERAL) !== 0;
68
73
  if (!data.content)
69
74
  data.content = '';
package/dist/api.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { Request, Response } from "express";
2
+ export declare function useCordo(clientPublicKey: string): (req: Request, res: Response) => void;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useCordo = void 0;
4
+ const discord_interactions_1 = require("discord-interactions");
5
+ const _1 = require(".");
6
+ function useCordo(clientPublicKey) {
7
+ if (!clientPublicKey)
8
+ throw new Error('You must specify a Discord client public key');
9
+ const checkKey = discord_interactions_1.verifyKeyMiddleware(clientPublicKey);
10
+ return (req, res) => {
11
+ checkKey(req, res, () => _1.default.emitInteraction(req.body));
12
+ };
13
+ }
14
+ exports.useCordo = useCordo;
15
+ //# sourceMappingURL=express-middleware.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"express-middleware.js","sourceRoot":"","sources":["../src/express-middleware.ts"],"names":[],"mappings":";;;AAAA,+DAA0D;AAE1D,wBAAqB;AAGrB,SAAgB,QAAQ,CAAC,eAAuB;IAC9C,IAAI,CAAC,eAAe;QAClB,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;IAElE,MAAM,QAAQ,GAAG,0CAAmB,CAAC,eAAe,CAAC,CAAA;IAErD,OAAO,CAAC,GAAY,EAAE,GAAa,EAAE,EAAE;QACrC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,UAAK,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;IAC3D,CAAC,CAAA;AACH,CAAC;AATD,4BASC"}
package/dist/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import { Request, Response } from "express";
1
2
  import { InteractionCommandHandler, InteractionComponentHandler, InteractionUIState, SlottedComponentHandler } from './types/custom';
2
3
  import { CordoConfig, CustomLogger, GuildDataMiddleware, InteractionCallbackMiddleware, UserDataMiddleware, ApiResponseHandlerMiddleware } from './types/middleware';
3
4
  import { GenericInteraction } from './types/base';
@@ -53,6 +54,7 @@ export default class Cordo {
53
54
  static setMiddlewareUserData(fun: UserDataMiddleware): void;
54
55
  static setMiddlewareApiResponseHandler(fun: ApiResponseHandlerMiddleware): void;
55
56
  static emitInteraction(i: GenericInteraction): Promise<void>;
57
+ static useWithExpress(clientPublicKey: string): (req: Request, res: Response) => void;
56
58
  private static onCommand;
57
59
  private static componentPermissionCheck;
58
60
  private static onComponent;
package/dist/index.js CHANGED
@@ -12,6 +12,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
13
  const fs = require("fs");
14
14
  const path = require("path");
15
+ const discord_interactions_1 = require("discord-interactions");
15
16
  const const_1 = require("./types/const");
16
17
  const api_1 = require("./api");
17
18
  const replies_1 = require("./replies");
@@ -171,6 +172,12 @@ class Cordo {
171
172
  //
172
173
  static async emitInteraction(i) {
173
174
  i._answered = false;
175
+ if (Cordo.config.immediateDefer?.(i)) {
176
+ if (i.type === const_1.InteractionType.COMMAND)
177
+ api_1.default.interactionCallback(i, discord_interactions_1.InteractionResponseType.DEFERRED_CHANNEL_MESSAGE_WITH_SOURCE);
178
+ else if (i.type === const_1.InteractionType.COMPONENT)
179
+ api_1.default.interactionCallback(i, discord_interactions_1.InteractionResponseType.DEFERRED_UPDATE_MESSAGE);
180
+ }
174
181
  if (i.guild_id && !!Cordo.middlewares.fetchGuildData && typeof Cordo.middlewares.fetchGuildData === 'function') {
175
182
  i.guildData = Cordo.middlewares.fetchGuildData(i.guild_id);
176
183
  if (!!i.guildData.then)
@@ -190,6 +197,18 @@ class Cordo {
190
197
  else
191
198
  Cordo.logger.warn(`Unknown interaction type ${i.type}`);
192
199
  }
200
+ static useWithExpress(clientPublicKey) {
201
+ if (!clientPublicKey)
202
+ throw new Error('You must specify a Discord client public key');
203
+ const checkKey = discord_interactions_1.verifyKeyMiddleware(clientPublicKey);
204
+ return (req, res) => {
205
+ checkKey(req, res, () => {
206
+ const interaction = req.body;
207
+ interaction._httpCallback = (payload) => res.status(200).json(payload);
208
+ Cordo.emitInteraction(interaction);
209
+ });
210
+ };
211
+ }
193
212
  /*
194
213
  * INTERNAL
195
214
  */
@@ -250,9 +269,7 @@ class Cordo {
250
269
  }
251
270
  static async onComponent(i) {
252
271
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
253
- const [contextId, _reserved, customId, flagsRaw] = i.data.custom_id.includes(':')
254
- ? i.data.custom_id.split(':') // new format
255
- : [null, null, i.data.custom_id.split('-')[0], i.data.custom_id.split('-')[1]]; // legacy
272
+ const [contextId, _reserved, customId, flagsRaw] = i.data.custom_id.split(':'); // new format
256
273
  i.data.custom_id = customId;
257
274
  i.data.flags = flagsRaw?.split('') ?? [];
258
275
  if ((await Cordo.componentPermissionCheck(i)) !== 'passed')
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yBAAwB;AACxB,6BAA4B;AAE5B,yCAAoJ;AAGpJ,+BAA4B;AAC5B,uCAAoC;AACpC,yDAAgD;AAChD,iEAAwD;AACxD,mCAAqC;AAGrC,wCAAqB;AACrB,4CAAyB;AACzB,uDAAoC;AACpC,2DAAwC;AACxC,+CAA4B;AAC5B,oDAAiC;AACjC,gDAA6B;AAC7B,iDAA8B;AAC9B,qDAAkC;AAClC,MAAqB,KAAK;IA6BjB,MAAM,KAAK,KAAK;QACrB,OAAO;YACL,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,eAAe,EAAE,KAAK,CAAC,eAAe;YACtC,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;YAC1C,wBAAwB,EAAE,KAAK,CAAC,wBAAwB;YACxD,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,UAAU,EAAE,KAAK,CAAC,UAAU;SAC7B,CAAA;IACH,CAAC;IAED,EAAE;IAEK,MAAM,CAAC,IAAI,CAAC,MAAmB;QACpC,IAAI,CAAC,MAAM,CAAC,KAAK;YAAE,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAA;QACpD,KAAK,CAAC,MAAM,GAAG,MAAM,CAAA;QAErB,IAAI,MAAM,CAAC,WAAW;YAAE,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;QAC7D,IAAI,MAAM,CAAC,kBAAkB;YAAE,KAAK,CAAC,mBAAmB,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAA;QACnF,IAAI,MAAM,CAAC,oBAAoB;YAAE,KAAK,CAAC,qBAAqB,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAA;QACzF,IAAI,MAAM,CAAC,YAAY;YAAE,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;IAClE,CAAC;IAED,EAAE;IAEK,MAAM,CAAC,sBAAsB,CAAC,OAAe,EAAE,OAAkC;QACtF,IAAI,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC;YAChC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,OAAO,kCAAkC,CAAC,CAAA;QACrF,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,GAAG,OAAO,CAAA;IAC1C,CAAC;IAEM,MAAM,CAAC,wBAAwB,CAAC,EAAU,EAAE,OAAoC;QACrF,IAAI,KAAK,CAAC,iBAAiB,CAAC,EAAE,CAAC;YAC7B,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,yBAAyB,EAAE,kCAAkC,CAAC,CAAA;QAClF,KAAK,CAAC,iBAAiB,CAAC,EAAE,CAAC,GAAG,OAAO,CAAA;QACrC,IAAI,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YACpB,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC;gBACjC,EAAE;gBACF,KAAK,EAAE,IAAI,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,iBAAiB,EAAE,cAAc,CAAC,CAAC;gBAChE,OAAO;aACR,CAAC,CAAA;SACH;IACH,CAAC;IAEM,MAAM,CAAC,eAAe,CAAC,EAAU,EAAE,KAAyB;QACjE,IAAI,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;YACpB,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,8BAA8B,CAAC,CAAA;QACrE,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,KAAK,CAAA;IAC5B,CAAC;IAEM,MAAM,CAAC,mBAAmB,CAAC,GAAsB,EAAE,MAAe;QACvE,IAAI,OAAO,GAAG,KAAK,QAAQ;YAAE,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAA;QACpD,KAAK,MAAM,IAAI,IAAI,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE;YACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;YACrC,IAAI,QAAQ,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;YAChE,OAAO,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAAE,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;YAEjF,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;gBACtB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;oBAAE,SAAQ;gBACnC,IAAI;oBACF,KAAK,CAAC,sBAAsB,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAA;iBAClE;gBAAC,OAAO,EAAE,EAAE;oBACX,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;iBAClB;aACF;iBAAM;gBACL,KAAK,CAAC,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;aAC9C;SACF;IACH,CAAC;IAEM,MAAM,CAAC,qBAAqB,CAAC,GAAsB,EAAE,MAAe;QACzE,IAAI,OAAO,GAAG,KAAK,QAAQ;YAAE,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAA;QACpD,KAAK,MAAM,IAAI,IAAI,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE;YACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;YACrC,IAAI,QAAQ,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;YAChE,OAAO,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAAE,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;YAEjF,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;gBACtB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;oBAAE,SAAQ;gBACnC,KAAK,CAAC,wBAAwB,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAA;aACpE;iBAAM;gBACL,KAAK,CAAC,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;aAChD;SACF;IACH,CAAC;IAEM,MAAM,CAAC,YAAY,CAAC,GAAsB,EAAE,MAAe;QAChE,IAAI,OAAO,GAAG,KAAK,QAAQ;YAAE,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAA;QACpD,KAAK,MAAM,IAAI,IAAI,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE;YACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;YACrC,IAAI,QAAQ,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;YAChE,OAAO,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAAE,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;YAEjF,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;gBACtB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;oBAAE,SAAQ;gBACnC,KAAK,CAAC,eAAe,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAA;aAC3D;iBAAM;gBACL,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;aACvC;SACF;IACH,CAAC;IAEM,MAAM,CAAC,WAAW,CAAC,GAAsB;QAC9C,IAAI,OAAO,GAAG,KAAK,QAAQ;YACzB,GAAG,GAAG,CAAE,GAAG,CAAE,CAAA;QACf,IAAI;YACF,KAAK,CAAC,mBAAmB,CAAC,CAAE,GAAG,GAAG,EAAE,UAAU,CAAE,CAAC,CAAA;SAClD;QAAC,OAAO,MAAM,EAAE,GAAE;QACnB,IAAI;YACF,KAAK,CAAC,qBAAqB,CAAC,CAAE,GAAG,GAAG,EAAE,YAAY,CAAE,CAAC,CAAA;SACtD;QAAC,OAAO,MAAM,EAAE,GAAE;QACnB,IAAI;YACF,KAAK,CAAC,YAAY,CAAC,CAAE,GAAG,GAAG,EAAE,QAAQ,CAAE,CAAC,CAAA;SACzC;QAAC,OAAO,MAAM,EAAE,GAAE;IACrB,CAAC;IAEM,MAAM,CAAC,WAAW,CAAC,KAAa;QACrC,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,KAAK,CAAA;IAC5B,CAAC;IAED,EAAE;IAEK,MAAM,CAAC,gCAAgC,CAAC,GAAkC;QAC/E,KAAK,CAAC,WAAW,CAAC,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACjD,CAAC;IAEM,MAAM,CAAC,sBAAsB,CAAC,GAAwB;QAC3D,KAAK,CAAC,WAAW,CAAC,cAAc,GAAG,GAAG,CAAA;IACxC,CAAC;IAEM,MAAM,CAAC,qBAAqB,CAAC,GAAuB;QACzD,KAAK,CAAC,WAAW,CAAC,aAAa,GAAG,GAAG,CAAA;IACvC,CAAC;IAEM,MAAM,CAAC,+BAA+B,CAAC,GAAiC;QAC7E,KAAK,CAAC,WAAW,CAAC,kBAAkB,GAAG,GAAG,CAAA;IAC5C,CAAC;IAED,EAAE;IAEK,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAqB;QACvD,CAAC,CAAC,SAAS,GAAG,KAAK,CAAA;QAEnB,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,cAAc,IAAI,OAAO,KAAK,CAAC,WAAW,CAAC,cAAc,KAAK,UAAU,EAAE;YAC9G,CAAC,CAAC,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAA;YAC1D,IAAI,CAAC,CAAE,CAAC,CAAC,SAAiB,CAAC,IAAI;gBAAE,CAAC,CAAC,SAAS,GAAG,MAAO,CAAC,CAAC,SAAiB,CAAA;SAC1E;QAED,IAAI,CAAC,CAAC,CAAC,IAAI;YACT,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAA;QAExB,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,aAAa,IAAI,OAAO,KAAK,CAAC,WAAW,CAAC,aAAa,KAAK,UAAU,EAAE;YAC3G,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YACvD,IAAI,CAAC,CAAE,CAAC,CAAC,QAAgB,CAAC,IAAI;gBAAE,CAAC,CAAC,QAAQ,GAAG,MAAO,CAAC,CAAC,QAAgB,CAAA;SACvE;QAED,IAAI,CAAC,CAAC,IAAI,KAAK,uBAAe,CAAC,OAAO;YACpC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;aACf,IAAI,CAAC,CAAC,IAAI,KAAK,uBAAe,CAAC,SAAS;YAC3C,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAA;;YAEpB,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,4BAA6B,CAAS,CAAC,IAAI,EAAE,CAAC,CAAA;IACpE,CAAC;IAGD;;OAEG;IAEK,MAAM,CAAC,SAAS,CAAC,CAAqB;QAC5C,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;QAC7E,IAAI;YACF,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,EAAE,CAAA;YAClB,KAAK,MAAM,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE;gBACvC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAA;YAE3C,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,8BAAsB,CAAC,IAAI;gBAC7C,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;YACzD,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,8BAAsB,CAAC,OAAO;gBAChD,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;YAE5D,IAAI,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE;gBAC/B,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,iBAAY,CAAC,gCAAgC,CAAC,CAAC,CAAC,CAAC,CAAA;aAC9E;iBAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,GAAG,OAAO,CAAC,EAAE;gBACzC,iBAAY,CAAC,gCAAgC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,GAAG,OAAO,CAAC,CAAA;aACvE;iBAAM;gBACL,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,IAAI,GAAG,CAAC,CAAA;gBAChD,aAAQ,CAAC,mBAAmB,CAAC,CAAC,EAAE,+BAAuB,CAAC,oCAAoC,CAAC,CAAA;aAC9F;SACF;QAAC,OAAO,EAAE,EAAE;YACX,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YACrB,IAAI;gBACF,aAAQ,CAAC,mBAAmB,CAAC,CAAC,EAAE,+BAAuB,CAAC,oCAAoC,EAAE;oBAC5F,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB;oBAC9C,KAAK,EAAE,gCAAwB,CAAC,SAAS;iBAC1C,CAAC,CAAA;aACH;YAAC,OAAO,EAAE,EAAE;gBACX,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;aACtB;SACF;IACH,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAuB;QACnE,IAAI,MAAM,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;YACnC,OAAO,QAAQ,CAAA;QAEjB,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,gCAAwB,CAAC,gBAAgB,CAAC;YAClE,OAAO,KAAK,KAAK,CAAC,uBAAuB,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAA;QAElH,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,gCAAwB,CAAC,eAAe,CAAC,EAAE;YACpE,MAAM,gBAAgB,GAAG,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAA;YAEpD,IAAI,gBAAgB,EAAE,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE;gBACtC,OAAO,KAAK,KAAK,CAAC,mBAAmB,CACnC,CAAC,EACD,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,sBAAsB,EAClF,gBAAgB,EAAE,QAAQ,IAAI,uBAAuB,CACtD,CAAA;aACF;SACF;QAED,IAAI,CAAC,CAAC,CAAC,MAAM;YACX,OAAO,QAAQ,CAAA;QAEjB,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,gCAAwB,CAAC,YAAY,CAAC,IAAI,CAAC,4BAAiB,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC;YACxH,OAAO,KAAK,KAAK,CAAC,uBAAuB,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAA;QACpH,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,gCAAwB,CAAC,oBAAoB,CAAC,IAAI,CAAC,4BAAiB,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC;YACvI,OAAO,KAAK,KAAK,CAAC,uBAAuB,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAA;QACtH,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,gCAAwB,CAAC,sBAAsB,CAAC,IAAI,CAAC,4BAAiB,CAAC,sBAAsB,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC;YAC3I,OAAO,KAAK,KAAK,CAAC,uBAAuB,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,qDAAqD,CAAC,CAAA;QAExH,OAAO,QAAQ,CAAA;IACjB,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAuB;QACtD,6DAA6D;QAC7D,MAAM,CAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAE,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC;YACjF,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,aAAa;YAC3C,CAAC,CAAC,CAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAE,CAAA,CAAC,SAAS;QAE5F,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAA;QAC3B,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,QAAQ,EAAE,KAAK,CAAC,EAAE,CAA+B,IAAI,EAAE,CAAA;QAEtE,IAAI,CAAC,MAAM,KAAK,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,KAAK,QAAQ;YAAE,OAAM;QAElE,MAAM,OAAO,GAAG,iBAAY,CAAC,8BAA8B,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;QAE1E,IAAI,iBAAsD,CAAA;QAC1D,IAAI,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;YACzC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,iBAAY,CAAC,kCAAkC,CAAC,CAAC,CAAC,CAAC,CAAA;SACzF;aAAM,IAAI,iBAAiB,GAAG,OAAO,EAAE,eAAe,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE;YAClG,MAAM,MAAM,GAAG,mBAAW,CAAC,iBAAiB,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;YAClE,iBAAiB,CAAC,OAAO,CAAC,iBAAY,CAAC,kCAAkC,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,CAAA;SAC1F;aAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;YACpD,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,iBAAY,CAAC,kCAAkC,CAAC,CAAC,CAAC,CAAC,CAAA;SAC9F;aAAM,IAAI,iBAAiB,GAAG,KAAK,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE;YACvG,MAAM,MAAM,GAAG,mBAAW,CAAC,iBAAiB,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;YAClE,iBAAiB,CAAC,OAAO,CAAC,iBAAY,CAAC,kCAAkC,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,CAAA;SAC1F;aAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;YAC3C,iBAAY,CAAC,kCAAkC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAA;SAC3D;aAAM;YACL,IAAI,CAAC,SAAS;gBACZ,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAA;YAC/E,aAAQ,CAAC,mBAAmB,CAAC,CAAC,EAAE,+BAAuB,CAAC,uBAAuB,CAAC,CAAA;SACjF;QAED,IAAI,OAAO,EAAE,aAAa,KAAK,gBAAgB,EAAE;YAC/C,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAA;YACnC,UAAU,CAAC,OAAO,CAAC,cAAc,EAAE,OAAO,CAAC,OAAO,CAAC,CAAA;SACpD;aAAM,IAAI,OAAO,EAAE,aAAa,KAAK,gBAAgB,EAAE;YACtD,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAA;YACnC,OAAO,CAAC,cAAc,EAAE,CAAA;SACzB;aAAM,IAAI,OAAO,EAAE,aAAa,KAAK,eAAe,EAAE;YACrD,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAA;YACnC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;SAC7B;IACH,CAAC;IAEO,MAAM,CAAC,uBAAuB,CAAC,CAAqB,EAAE,IAAa;QACzE,OAAO,aAAQ,CAAC,mBAAmB,CAAC,CAAC,EAAE,+BAAuB,CAAC,2BAA2B,EAAE;YAC1F,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,+BAA+B;YACzD,WAAW,EAAE,IAAI,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,6CAA6C;YACrF,KAAK,EAAE,gCAAwB,CAAC,SAAS;SAC1C,CAAC,CAAA;IACJ,CAAC;IAEO,MAAM,CAAC,mBAAmB,CAAC,CAAqB,EAAE,OAAgB,EAAE,KAAc;QACxF,OAAO,aAAQ,CAAC,mBAAmB,CAAC,CAAC,EAAE,+BAAuB,CAAC,2BAA2B,EAAE;YAC1F,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,2BAA2B;YACrD,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,iCAAiC;YACjE,KAAK,EAAE,gCAAwB,CAAC,SAAS;YACzC,QAAQ,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE;SAC7B,CAAC,CAAA;IACJ,CAAC;IAEO,MAAM,CAAC,UAAU,CAAC,MAAc;QACtC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS;YAAE,OAAO,KAAK,CAAA;QAEzC,IAAI,OAAO,KAAK,CAAC,MAAM,CAAC,SAAS,KAAK,UAAU;YAC9C,OAAO,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;;YAErC,OAAO,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;IAClD,CAAC;;AA7UH,wBA+UC;AA7UgB,qBAAe,GAAqD,EAAE,CAAA;AACtE,uBAAiB,GAAuD,EAAE,CAAA;AAC1E,8BAAwB,GAA8B,EAAE,CAAA;AACxD,cAAQ,GAA2C,EAAE,CAAA;AACrD,YAAM,GAAgB;IACnC,KAAK,EAAE,IAAI;IACX,KAAK,EAAE;QACL,2BAA2B,EAAE,OAAO;QACpC,iCAAiC,EAAE,wHAAwH;QAC3J,+BAA+B,EAAE,gBAAgB;QACjD,6CAA6C,EAAE,sBAAsB;QACrE,+CAA+C,EAAE,+BAA+B;QAChF,iDAAiD,EAAE,qBAAqB;QACxE,mDAAmD,EAAE,+DAA+D;QACpH,qDAAqD,EAAE,iEAAiE;QACxH,kBAAkB,EAAE,yFAAyF;KAC9G;CACF,CAAA;AAEc,YAAM,GAAiB,IAAI,wBAAa,EAAE,CAAA;AAC1C,iBAAW,GAAG;IAC3B,mBAAmB,EAAE,EAAqC;IAC1D,cAAc,EAAE,IAA2B;IAC3C,aAAa,EAAE,IAA0B;IACzC,kBAAkB,EAAE,IAAoC;CACzD,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -199,9 +199,12 @@ export declare type InteractionBase = {
199
199
  version: number;
200
200
  user: InteractionUser;
201
201
  application_id?: Snowflake;
202
+ locale?: string;
203
+ guild_locale?: string;
202
204
  guildData?: GuildData;
203
205
  userData?: UserData;
204
206
  _answered: boolean;
207
+ _httpCallback?: (payload: any) => any;
205
208
  _answerComponents: MessageComponent[];
206
209
  };
207
210
  export declare type GenericInteraction = InteractionBase & (InteractionLocationGuild | InteractionLocationDM) & (InteractionTypeCommand | InteractionTypeComponent | InteractionTypeRichMessage);
@@ -1,4 +1,5 @@
1
1
  import { AxiosResponse } from 'axios';
2
+ import { GenericInteraction } from '..';
2
3
  import { InteractionApplicationCommandCallbackData } from './custom';
3
4
  export declare type CordoConfig = {
4
5
  botId: string;
@@ -7,6 +8,7 @@ export declare type CordoConfig = {
7
8
  uiStatesPath?: string | string[];
8
9
  contextPath?: string | string[];
9
10
  botAdmins?: string[] | ((userid: string) => boolean);
11
+ immediateDefer?: (i: GenericInteraction) => boolean;
10
12
  texts?: {
11
13
  interaction_not_owned_title: string;
12
14
  interaction_not_owned_description: string;
@@ -19,7 +21,7 @@ export declare type CordoConfig = {
19
21
  interaction_failed: string;
20
22
  };
21
23
  };
22
- export declare type InteractionCallbackMiddleware = (data?: InteractionApplicationCommandCallbackData, guild?: GuildData) => any;
24
+ export declare type InteractionCallbackMiddleware = (data?: InteractionApplicationCommandCallbackData, i?: GenericInteraction) => any;
23
25
  export declare type GuildDataMiddleware = (guildid: string) => GuildData | Promise<GuildData>;
24
26
  export declare type UserDataMiddleware = (userid: string) => UserData | Promise<UserData>;
25
27
  export declare type ApiResponseHandlerMiddleware = (res: AxiosResponse) => any;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cordo",
3
- "version": "1.9.5",
3
+ "version": "1.10.3",
4
4
  "description": "A framework for handling complex discord api interactions",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -22,11 +22,14 @@
22
22
  },
23
23
  "homepage": "https://github.com/Maanex/cordo#readme",
24
24
  "dependencies": {
25
- "axios": "^0.21.4"
25
+ "@types/express": "^4.17.13",
26
+ "axios": "^0.21.4",
27
+ "discord-interactions": "^2.4.1",
28
+ "express": "^4.17.2"
26
29
  },
27
30
  "devDependencies": {
28
31
  "@types/axios": "^0.14.0",
29
- "@types/node": "^16.3.2",
32
+ "@types/node": "^17.0.8",
30
33
  "@typescript-eslint/eslint-plugin": "^4.28.3",
31
34
  "@typescript-eslint/parser": "^4.28.3",
32
35
  "eslint": "^7.30.0",
package/src/api.ts CHANGED
@@ -18,20 +18,24 @@ export default class CordoAPI {
18
18
 
19
19
  if (!i._answered) {
20
20
  i._answered = true
21
- const res = await axios.post(`https://discord.com/api/v8/interactions/${i.id}/${i.token}/callback`, { type, data }, { validateStatus: null })
22
- CordoAPI.handleCallbackResponse(res, type, data)
21
+ if (!!i._httpCallback) {
22
+ i._httpCallback({ type, data })
23
+ } else {
24
+ const res = await axios.post(`https://discord.com/api/v9/interactions/${i.id}/${i.token}/callback`, { type, data }, { validateStatus: null })
25
+ CordoAPI.handleCallbackResponse(res, type, data)
26
+ }
23
27
  } else {
24
28
  switch (type) {
25
29
  case InteractionCallbackType.PONG: break
26
30
  case InteractionCallbackType.DEFERRED_CHANNEL_MESSAGE_WITH_SOURCE: break
27
31
  case InteractionCallbackType.DEFERRED_UPDATE_MESSAGE: break
28
32
  case InteractionCallbackType.CHANNEL_MESSAGE_WITH_SOURCE: {
29
- const res = await axios.post(`https://discord.com/api/v8/webhooks/${Cordo._data.config.botId}/${i.token}`, data, { validateStatus: null })
33
+ const res = await axios.post(`https://discord.com/api/v9/webhooks/${Cordo._data.config.botId}/${i.token}`, data, { validateStatus: null })
30
34
  CordoAPI.handleCallbackResponse(res, type, data)
31
35
  break
32
36
  }
33
37
  case InteractionCallbackType.UPDATE_MESSAGE: {
34
- const res = await axios.patch(`https://discord.com/api/v8/webhooks/${Cordo._data.config.botId}/${i.token}/messages/@original`, data, { validateStatus: null })
38
+ const res = await axios.patch(`https://discord.com/api/v9/webhooks/${Cordo._data.config.botId}/${i.token}/messages/@original`, data, { validateStatus: null })
35
39
  CordoAPI.handleCallbackResponse(res, type, data)
36
40
  break
37
41
  }
@@ -67,7 +71,7 @@ export default class CordoAPI {
67
71
  public static normaliseData(data: InteractionApplicationCommandCallbackData, i: GenericInteraction, contextId?: string) {
68
72
  if (!data) return
69
73
  // explicitly not using this. in this function due to unwanted side-effects in lambda functions
70
- Cordo._data.middlewares.interactionCallback.forEach(f => f(data, i.guildData))
74
+ Cordo._data.middlewares.interactionCallback.forEach(f => f(data, i))
71
75
 
72
76
  const isEmphemeral = (data.flags & InteractionResponseFlags.EPHEMERAL) !== 0
73
77
 
package/src/index.ts CHANGED
@@ -1,5 +1,7 @@
1
1
  import * as fs from 'fs'
2
2
  import * as path from 'path'
3
+ import { InteractionResponseType, verifyKeyMiddleware } from "discord-interactions"
4
+ import { Request, Response } from "express"
3
5
  import { InteractionCommandHandler, InteractionComponentHandler, InteractionUIState, SlottedComponentHandler } from './types/custom'
4
6
  import { InteractionCallbackType, InteractionComponentFlag, InteractionResponseFlags, InteractionType, InteractionCommandType } from './types/const'
5
7
  import { CordoConfig, CustomLogger, GuildDataMiddleware, InteractionCallbackMiddleware, UserDataMiddleware, ApiResponseHandlerMiddleware } from './types/middleware'
@@ -194,6 +196,13 @@ export default class Cordo {
194
196
  public static async emitInteraction(i: GenericInteraction) {
195
197
  i._answered = false
196
198
 
199
+ if (Cordo.config.immediateDefer?.(i)) {
200
+ if (i.type === InteractionType.COMMAND)
201
+ CordoAPI.interactionCallback(i, InteractionResponseType.DEFERRED_CHANNEL_MESSAGE_WITH_SOURCE)
202
+ else if (i.type === InteractionType.COMPONENT)
203
+ CordoAPI.interactionCallback(i, InteractionResponseType.DEFERRED_UPDATE_MESSAGE)
204
+ }
205
+
197
206
  if (i.guild_id && !!Cordo.middlewares.fetchGuildData && typeof Cordo.middlewares.fetchGuildData === 'function') {
198
207
  i.guildData = Cordo.middlewares.fetchGuildData(i.guild_id)
199
208
  if (!!(i.guildData as any).then) i.guildData = await (i.guildData as any)
@@ -215,6 +224,21 @@ export default class Cordo {
215
224
  Cordo.logger.warn(`Unknown interaction type ${(i as any).type}`)
216
225
  }
217
226
 
227
+ public static useWithExpress(clientPublicKey: string) {
228
+ if (!clientPublicKey)
229
+ throw new Error('You must specify a Discord client public key');
230
+
231
+ const checkKey = verifyKeyMiddleware(clientPublicKey)
232
+
233
+ return (req: Request, res: Response) => {
234
+ checkKey(req, res, () => {
235
+ const interaction = req.body as GenericInteraction
236
+ interaction._httpCallback = (payload: any) => res.status(200).json(payload)
237
+ Cordo.emitInteraction(interaction)
238
+ })
239
+ }
240
+ }
241
+
218
242
 
219
243
  /*
220
244
  * INTERNAL
@@ -287,9 +311,7 @@ export default class Cordo {
287
311
 
288
312
  private static async onComponent(i: ComponentInteraction) {
289
313
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
290
- const [ contextId, _reserved, customId, flagsRaw ] = i.data.custom_id.includes(':')
291
- ? i.data.custom_id.split(':') // new format
292
- : [ null, null, i.data.custom_id.split('-')[0], i.data.custom_id.split('-')[1] ] // legacy
314
+ const [ contextId, _reserved, customId, flagsRaw ] = i.data.custom_id.split(':') // new format
293
315
 
294
316
  i.data.custom_id = customId
295
317
  i.data.flags = flagsRaw?.split('') as InteractionComponentFlag[] ?? []
package/src/types/base.ts CHANGED
@@ -227,9 +227,12 @@ export type InteractionBase = {
227
227
  version: number
228
228
  user: InteractionUser
229
229
  application_id?: Snowflake
230
+ locale?: string
231
+ guild_locale?: string
230
232
  guildData?: GuildData
231
233
  userData?: UserData
232
234
  _answered: boolean
235
+ _httpCallback?: (payload: any) => any
233
236
  _answerComponents: MessageComponent[]
234
237
  }
235
238
 
@@ -1,4 +1,5 @@
1
1
  import { AxiosResponse } from 'axios'
2
+ import { GenericInteraction } from '..'
2
3
  import { InteractionApplicationCommandCallbackData } from './custom'
3
4
 
4
5
 
@@ -9,6 +10,7 @@ export type CordoConfig = {
9
10
  uiStatesPath?: string | string[]
10
11
  contextPath?: string | string[]
11
12
  botAdmins?: string[] | ((userid: string) => boolean)
13
+ immediateDefer?: (i: GenericInteraction) => boolean
12
14
  texts?: {
13
15
  interaction_not_owned_title: string
14
16
  interaction_not_owned_description: string
@@ -22,7 +24,7 @@ export type CordoConfig = {
22
24
  }
23
25
  }
24
26
 
25
- export type InteractionCallbackMiddleware = (data?: InteractionApplicationCommandCallbackData, guild?: GuildData) => any
27
+ export type InteractionCallbackMiddleware = (data?: InteractionApplicationCommandCallbackData, i?: GenericInteraction) => any
26
28
  export type GuildDataMiddleware = (guildid: string) => GuildData | Promise<GuildData>
27
29
  export type UserDataMiddleware = (userid: string) => UserData | Promise<UserData>
28
30
  export type ApiResponseHandlerMiddleware = (res: AxiosResponse) => any