cordo 1.15.3 → 1.16.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.
Files changed (150) hide show
  1. package/.eslintrc.js +11 -11
  2. package/README.md +97 -97
  3. package/dist/api.d.ts +27 -27
  4. package/dist/api.js +211 -216
  5. package/dist/api.js.map +1 -1
  6. package/dist/express-middleware.d.ts +2 -2
  7. package/dist/express-middleware.js +14 -14
  8. package/dist/index.d.ts +48 -48
  9. package/dist/index.js +191 -191
  10. package/dist/lib/default-logger.d.ts +7 -7
  11. package/dist/lib/default-logger.js +10 -10
  12. package/dist/lib/permission-checks.d.ts +5 -5
  13. package/dist/lib/permission-checks.js +48 -48
  14. package/dist/lib/permission-strings.d.ts +48 -48
  15. package/dist/lib/permission-strings.js +66 -66
  16. package/dist/lib/user-error-messages.d.ts +7 -7
  17. package/dist/lib/user-error-messages.js +38 -38
  18. package/dist/lib/utils.d.ts +2 -2
  19. package/dist/lib/utils.js +20 -20
  20. package/dist/manager/autocompleter.d.ts +8 -8
  21. package/dist/manager/autocompleter.js +58 -58
  22. package/dist/manager/commands.d.ts +11 -11
  23. package/dist/manager/commands.js +100 -100
  24. package/dist/manager/components.d.ts +11 -11
  25. package/dist/manager/components.js +109 -109
  26. package/dist/manager/states.d.ts +12 -12
  27. package/dist/manager/states.js +56 -56
  28. package/dist/replies.d.ts +18 -18
  29. package/dist/replies.js +238 -232
  30. package/dist/replies.js.map +1 -1
  31. package/dist/src/api.d.ts +27 -27
  32. package/dist/src/api.js +193 -193
  33. package/dist/src/index.d.ts +47 -47
  34. package/dist/src/index.js +184 -184
  35. package/dist/src/lib/default-logger.d.ts +7 -7
  36. package/dist/src/lib/default-logger.js +10 -10
  37. package/dist/src/lib/permission-checks.d.ts +5 -5
  38. package/dist/src/lib/permission-checks.js +48 -48
  39. package/dist/src/lib/permission-strings.d.ts +48 -48
  40. package/dist/src/lib/permission-strings.js +66 -66
  41. package/dist/src/lib/user-error-messages.d.ts +7 -7
  42. package/dist/src/lib/user-error-messages.js +38 -38
  43. package/dist/src/lib/utils.d.ts +2 -2
  44. package/dist/src/lib/utils.js +20 -20
  45. package/dist/src/manager/autocompleter.d.ts +8 -8
  46. package/dist/src/manager/autocompleter.js +58 -58
  47. package/dist/src/manager/commands.d.ts +11 -11
  48. package/dist/src/manager/commands.js +100 -100
  49. package/dist/src/manager/components.d.ts +11 -11
  50. package/dist/src/manager/components.js +109 -109
  51. package/dist/src/manager/states.d.ts +6 -6
  52. package/dist/src/manager/states.js +33 -33
  53. package/dist/src/replies.d.ts +18 -18
  54. package/dist/src/replies.js +228 -228
  55. package/dist/src/types/base.d.ts +282 -282
  56. package/dist/src/types/base.js +4 -4
  57. package/dist/src/types/component.d.ts +55 -55
  58. package/dist/src/types/component.js +3 -3
  59. package/dist/src/types/const.d.ts +78 -78
  60. package/dist/src/types/const.js +91 -91
  61. package/dist/src/types/custom.d.ts +77 -77
  62. package/dist/src/types/custom.js +3 -3
  63. package/dist/src/types/middleware.d.ts +41 -41
  64. package/dist/src/types/middleware.js +2 -2
  65. package/dist/types/base.d.ts +301 -299
  66. package/dist/types/base.js +4 -4
  67. package/dist/types/component.d.ts +66 -66
  68. package/dist/types/component.js +3 -3
  69. package/dist/types/const.d.ts +89 -89
  70. package/dist/types/const.js +103 -103
  71. package/dist/types/custom.d.ts +82 -82
  72. package/dist/types/custom.js +3 -3
  73. package/dist/types/middleware.d.ts +41 -41
  74. package/dist/types/middleware.js +2 -2
  75. package/dist/utils.d.ts +2 -2
  76. package/dist/utils.js +20 -20
  77. package/dist/v2/_test/command.d.ts +2 -2
  78. package/dist/v2/_test/command.js +30 -30
  79. package/dist/v2/_test/general-test.d.ts +1 -1
  80. package/dist/v2/_test/general-test.js +24 -24
  81. package/dist/v2/api.js +184 -184
  82. package/dist/v2/components/$component.d.ts +14 -14
  83. package/dist/v2/components/$component.js +6 -6
  84. package/dist/v2/components/button-component.d.ts +31 -31
  85. package/dist/v2/components/button-component.js +104 -104
  86. package/dist/v2/components/buttons.d.ts +31 -31
  87. package/dist/v2/components/buttons.js +104 -104
  88. package/dist/v2/handler/$handler.d.ts +2 -2
  89. package/dist/v2/handler/$handler.js +6 -6
  90. package/dist/v2/handler/command-handler.d.ts +15 -15
  91. package/dist/v2/handler/command-handler.js +6 -6
  92. package/dist/v2/index.js +181 -181
  93. package/dist/v2/interactions/$interaction.d.ts +58 -58
  94. package/dist/v2/interactions/$interaction.js +35 -35
  95. package/dist/v2/interactions/$shared-types.d.ts +69 -69
  96. package/dist/v2/interactions/$shared-types.js +2 -2
  97. package/dist/v2/interactions/autocomplete-interaction.d.ts +13 -13
  98. package/dist/v2/interactions/autocomplete-interaction.js +10 -10
  99. package/dist/v2/interactions/command-interaction.d.ts +60 -60
  100. package/dist/v2/interactions/command-interaction.js +25 -25
  101. package/dist/v2/interactions/component-interaction.d.ts +35 -35
  102. package/dist/v2/interactions/component-interaction.js +12 -12
  103. package/dist/v2/interactions/modal-submit-interaction.d.ts +23 -23
  104. package/dist/v2/interactions/modal-submit-interaction.js +16 -16
  105. package/dist/v2/types/const.d.ts +84 -84
  106. package/dist/v2/types/const.js +93 -93
  107. package/dist/v2/types/discord.d.ts +146 -146
  108. package/dist/v2/types/discord.js +2 -2
  109. package/dist/v2/types/helper.d.ts +7 -7
  110. package/dist/v2/types/helper.js +2 -2
  111. package/dist/v2/types/interactions.d.ts +21 -21
  112. package/dist/v2/types/interactions.js +2 -2
  113. package/dist/v2/types/middleware.d.ts +11 -11
  114. package/dist/v2/types/middleware.js +2 -2
  115. package/package.json +1 -1
  116. package/src/api.ts +221 -226
  117. package/src/index.ts +207 -207
  118. package/src/lib/default-logger.ts +11 -11
  119. package/src/lib/permission-checks.ts +76 -76
  120. package/src/lib/permission-strings.ts +72 -72
  121. package/src/lib/user-error-messages.ts +43 -43
  122. package/src/lib/utils.ts +21 -21
  123. package/src/manager/autocompleter.ts +68 -68
  124. package/src/manager/commands.ts +116 -116
  125. package/src/manager/components.ts +132 -132
  126. package/src/manager/states.ts +64 -64
  127. package/src/replies.ts +267 -261
  128. package/src/types/base.ts +367 -365
  129. package/src/types/component.ts +87 -87
  130. package/src/types/const.ts +101 -101
  131. package/src/types/custom.ts +115 -115
  132. package/src/types/middleware.ts +45 -45
  133. package/tsconfig.json +27 -27
  134. package/v2/_test/command.ts +47 -47
  135. package/v2/_test/general-test.ts +34 -34
  136. package/v2/api.ts +193 -193
  137. package/v2/components/$component.ts +23 -23
  138. package/v2/components/button-component.ts +152 -152
  139. package/v2/components/select-component.ts +140 -140
  140. package/v2/index.ts +194 -194
  141. package/v2/interactions/$interaction.ts +104 -104
  142. package/v2/interactions/$shared-types.ts +88 -88
  143. package/v2/interactions/autocomplete-interaction.ts +24 -24
  144. package/v2/interactions/command-interaction.ts +94 -94
  145. package/v2/interactions/component-interaction.ts +51 -51
  146. package/v2/interactions/modal-submit-interaction.ts +41 -41
  147. package/v2/types/const.ts +135 -135
  148. package/v2/types/discord.ts +160 -160
  149. package/v2/types/helper.ts +16 -16
  150. package/v2/types/middleware.ts +12 -12
package/dist/api.js CHANGED
@@ -1,217 +1,212 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const axios_1 = require("axios");
4
- const permission_strings_1 = require("./lib/permission-strings");
5
- const const_1 = require("./types/const");
6
- const const_2 = require("./types/const");
7
- const permission_checks_1 = require("./lib/permission-checks");
8
- const index_1 = require("./index");
9
- class CordoAPI {
10
- static async interactionCallback(i, type, data, contextId, useRaw) {
11
- if (!useRaw)
12
- CordoAPI.normaliseData(data, i, contextId, type);
13
- if (data?.components)
14
- i._answerComponents = data.components;
15
- if (!i._answered) {
16
- i._answered = true;
17
- if (!!i._httpCallback) {
18
- i._httpCallback({ type, data });
19
- }
20
- else {
21
- const res = await axios_1.default.post(`https://discord.com/api/v9/interactions/${i.id}/${i.token}/callback`, { type, data }, { validateStatus: null });
22
- CordoAPI.handleCallbackResponse(res, type, data);
23
- }
24
- }
25
- else {
26
- switch (type) {
27
- case const_2.InteractionCallbackType.PONG: break;
28
- case const_2.InteractionCallbackType.DEFERRED_CHANNEL_MESSAGE_WITH_SOURCE: break;
29
- case const_2.InteractionCallbackType.DEFERRED_UPDATE_MESSAGE: break;
30
- case const_2.InteractionCallbackType.CHANNEL_MESSAGE_WITH_SOURCE: {
31
- const res = await axios_1.default.post(`https://discord.com/api/v9/webhooks/${index_1.default._data.config.botId}/${i.token}`, data, { validateStatus: null });
32
- CordoAPI.handleCallbackResponse(res, type, data);
33
- break;
34
- }
35
- case const_2.InteractionCallbackType.UPDATE_MESSAGE: {
36
- 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 });
37
- CordoAPI.handleCallbackResponse(res, type, data);
38
- break;
39
- }
40
- case const_2.InteractionCallbackType.APPLICATION_COMMAND_AUTOCOMPLETE_RESULT: break;
41
- case const_2.InteractionCallbackType.MODAL: break;
42
- }
43
- }
44
- return {
45
- async getMessage() {
46
- const res = await axios_1.default.get(`https://discord.com/api/v8/webhooks/${index_1.default._data.config.botId}/${i.token}/messages/@original`, { validateStatus: null });
47
- if (res.status !== 200)
48
- return null;
49
- return res.data;
50
- },
51
- edit(editData, editUseRaw = useRaw) {
52
- CordoAPI.interactionCallback(i, const_2.InteractionCallbackType.UPDATE_MESSAGE, editData, contextId, editUseRaw);
53
- }
54
- };
55
- }
56
- static handleCallbackResponse(res, type, data) {
57
- if (index_1.default._data.middlewares.apiResponseHandler) {
58
- index_1.default._data.middlewares.apiResponseHandler(res);
59
- }
60
- else if (res.status >= 300) {
61
- index_1.default._data.logger.warn('Interaction callback failed with error:');
62
- index_1.default._data.logger.warn(JSON.stringify(res.data, null, 2));
63
- index_1.default._data.logger.warn('Request payload:');
64
- index_1.default._data.logger.warn(JSON.stringify({ type, data }, null, 2));
65
- }
66
- }
67
- /**
68
- * Transforms the shorthand way of writing into proper discord api compatible objects
69
- */
70
- static normaliseData(data, i, contextId, type) {
71
- if (!data)
72
- return;
73
- // explicitly not using this. in this function due to unwanted side-effects in lambda functions
74
- if (i)
75
- index_1.default._data.middlewares.interactionCallback.forEach(f => f(data, i));
76
- CordoAPI.normalizeFindAndResolveSmartEmbed(data, type);
77
- const isEmphemeral = (data.flags & const_1.InteractionResponseFlags.EPHEMERAL) !== 0;
78
- if (data.components?.length && data.components[0].type !== const_2.ComponentType.ROW) {
79
- const rows = [];
80
- let newlineFlag = true;
81
- for (const comp of data.components) {
82
- if (comp.visible === false)
83
- continue; // === false to not catch any null or undefined
84
- CordoAPI.normalizeApplyFlags(comp, i ?? null, contextId, isEmphemeral);
85
- switch (comp.type) {
86
- case const_2.ComponentType.LINE_BREAK: {
87
- if (rows[rows.length - 1].length)
88
- newlineFlag = true;
89
- break;
90
- }
91
- case const_2.ComponentType.BUTTON: {
92
- if (newlineFlag)
93
- rows.push([]);
94
- newlineFlag = false;
95
- if (comp.label?.length > 50)
96
- comp.label = comp.label.substr(0, 50);
97
- rows[rows.length - 1].push(comp);
98
- if (rows[rows.length - 1].length >= 5)
99
- newlineFlag = true;
100
- break;
101
- }
102
- case const_2.ComponentType.SELECT: {
103
- if (comp.options?.length > 50)
104
- comp.options.length = 50;
105
- rows.push([comp]);
106
- newlineFlag = true;
107
- break;
108
- }
109
- case const_2.ComponentType.TEXT: {
110
- rows.push([comp]);
111
- newlineFlag = true;
112
- break;
113
- }
114
- case const_2.ComponentType.USER_SELECT: {
115
- rows.push([comp]);
116
- newlineFlag = true;
117
- break;
118
- }
119
- case const_2.ComponentType.ROLE_SELECT: {
120
- rows.push([comp]);
121
- newlineFlag = true;
122
- break;
123
- }
124
- case const_2.ComponentType.MENTIONABLE_SELECT: {
125
- rows.push([comp]);
126
- newlineFlag = true;
127
- break;
128
- }
129
- case const_2.ComponentType.CHANNEL_SELECT: {
130
- rows.push([comp]);
131
- newlineFlag = true;
132
- break;
133
- }
134
- }
135
- }
136
- data.components = rows.map(c => ({ type: const_2.ComponentType.ROW, components: c }));
137
- }
138
- }
139
- static normalizeFindAndResolveSmartEmbed(data, type) {
140
- if (type === const_2.InteractionCallbackType.PONG)
141
- return;
142
- if (type === const_2.InteractionCallbackType.APPLICATION_COMMAND_AUTOCOMPLETE_RESULT)
143
- return;
144
- if (type === const_2.InteractionCallbackType.MODAL)
145
- return;
146
- if (!data.content)
147
- data.content = '';
148
- if (!data.description && !data.title)
149
- return;
150
- if (!data.embeds)
151
- data.embeds = [];
152
- data.embeds.push({
153
- title: data.title || undefined,
154
- description: data.description || undefined,
155
- footer: data.footer ? { text: data.footer } : undefined,
156
- image: data.image ? { url: data.image } : undefined,
157
- thumbnail: data.thumbnail ? { url: data.thumbnail } : undefined,
158
- color: data.color || 0x2b2d31
159
- });
160
- delete data.description;
161
- delete data.title;
162
- }
163
- static normalizeApplyFlags(comp, i, contextId, isEmphemeral) {
164
- if (comp.type === const_2.ComponentType.LINE_BREAK)
165
- return;
166
- if (comp.type === const_2.ComponentType.TEXT)
167
- return;
168
- if (!comp.custom_id)
169
- return;
170
- const hasAccessEveryoneFlag = comp.flags?.includes(const_2.InteractionComponentFlag.ACCESS_EVERYONE);
171
- if (isEmphemeral && !hasAccessEveryoneFlag) {
172
- if (!comp.flags)
173
- comp.flags = [];
174
- comp.flags.push(const_2.InteractionComponentFlag.ACCESS_EVERYONE);
175
- }
176
- ;
177
- comp.custom_id = CordoAPI.compileCustomId(comp.custom_id, comp.flags, contextId);
178
- if (comp.flags?.length && i && !!i.member && !hasAccessEveryoneFlag) {
179
- const perms = BigInt(i.member.permissions);
180
- if (comp.flags.includes(const_2.InteractionComponentFlag.ACCESS_ADMIN) && !permission_strings_1.default.containsAdmin(perms)) {
181
- if (comp.flags.includes(const_2.InteractionComponentFlag.HIDE_IF_NOT_ALLOWED))
182
- comp.type = null;
183
- else
184
- comp.disabled = true;
185
- }
186
- else if (comp.flags.includes(const_2.InteractionComponentFlag.ACCESS_MANAGE_SERVER) && !permission_strings_1.default.containsManageServer(perms)) {
187
- if (comp.flags.includes(const_2.InteractionComponentFlag.HIDE_IF_NOT_ALLOWED))
188
- comp.type = null;
189
- else
190
- comp.disabled = true;
191
- }
192
- else if (comp.flags.includes(const_2.InteractionComponentFlag.ACCESS_MANAGE_MESSAGES) && !permission_strings_1.default.containsManageMessages(perms)) {
193
- if (comp.flags.includes(const_2.InteractionComponentFlag.HIDE_IF_NOT_ALLOWED))
194
- comp.type = null;
195
- else
196
- comp.disabled = true;
197
- }
198
- else if (comp.flags.includes(const_2.InteractionComponentFlag.ACCESS_BOT_ADMIN) && !permission_checks_1.default.isBotOwner(i.user.id)) {
199
- if (comp.flags.includes(const_2.InteractionComponentFlag.HIDE_IF_NOT_ALLOWED))
200
- comp.type = null;
201
- else
202
- comp.disabled = true;
203
- }
204
- delete comp.flags;
205
- }
206
- }
207
- //
208
- static compileCustomId(customId, flags, contextId) {
209
- return `${contextId ?? ''}::${customId}:${flags?.join('') ?? ''}`;
210
- }
211
- static parseCustomId(rawId) {
212
- const [contextId, _reserved, customId, flagsRaw] = rawId.split(':');
213
- return { contextId, _reserved, customId, flagsRaw };
214
- }
215
- }
216
- exports.default = CordoAPI;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const axios_1 = require("axios");
4
+ const permission_strings_1 = require("./lib/permission-strings");
5
+ const const_1 = require("./types/const");
6
+ const const_2 = require("./types/const");
7
+ const permission_checks_1 = require("./lib/permission-checks");
8
+ const index_1 = require("./index");
9
+ class CordoAPI {
10
+ static async interactionCallback(i, type, data, contextId, useRaw) {
11
+ if (!useRaw)
12
+ CordoAPI.normaliseData(data, i, contextId, type);
13
+ if (data?.components)
14
+ i._answerComponents = data.components;
15
+ if (!i._answered) {
16
+ i._answered = true;
17
+ if (!!i._httpCallback) {
18
+ i._httpCallback({ type, data });
19
+ }
20
+ else {
21
+ const res = await axios_1.default.post(`https://discord.com/api/v9/interactions/${i.id}/${i.token}/callback`, { type, data }, { validateStatus: null });
22
+ CordoAPI.handleCallbackResponse(res, type, data);
23
+ }
24
+ }
25
+ else {
26
+ switch (type) {
27
+ case const_2.InteractionCallbackType.CHANNEL_MESSAGE_WITH_SOURCE: {
28
+ const res = await axios_1.default.post(`https://discord.com/api/v9/webhooks/${index_1.default._data.config.botId}/${i.token}`, data, { validateStatus: null });
29
+ CordoAPI.handleCallbackResponse(res, type, data);
30
+ break;
31
+ }
32
+ case const_2.InteractionCallbackType.UPDATE_MESSAGE: {
33
+ 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 });
34
+ CordoAPI.handleCallbackResponse(res, type, data);
35
+ break;
36
+ }
37
+ }
38
+ }
39
+ return {
40
+ async getMessage() {
41
+ const res = await axios_1.default.get(`https://discord.com/api/v8/webhooks/${index_1.default._data.config.botId}/${i.token}/messages/@original`, { validateStatus: null });
42
+ if (res.status !== 200)
43
+ return null;
44
+ return res.data;
45
+ },
46
+ edit(editData, editUseRaw = useRaw) {
47
+ CordoAPI.interactionCallback(i, const_2.InteractionCallbackType.UPDATE_MESSAGE, editData, contextId, editUseRaw);
48
+ }
49
+ };
50
+ }
51
+ static handleCallbackResponse(res, type, data) {
52
+ if (index_1.default._data.middlewares.apiResponseHandler) {
53
+ index_1.default._data.middlewares.apiResponseHandler(res);
54
+ }
55
+ else if (res.status >= 300) {
56
+ index_1.default._data.logger.warn('Interaction callback failed with error:');
57
+ index_1.default._data.logger.warn(JSON.stringify(res.data, null, 2));
58
+ index_1.default._data.logger.warn('Request payload:');
59
+ index_1.default._data.logger.warn(JSON.stringify({ type, data }, null, 2));
60
+ }
61
+ }
62
+ /**
63
+ * Transforms the shorthand way of writing into proper discord api compatible objects
64
+ */
65
+ static normaliseData(data, i, contextId, type) {
66
+ if (!data)
67
+ return;
68
+ // explicitly not using this. in this function due to unwanted side-effects in lambda functions
69
+ if (i)
70
+ index_1.default._data.middlewares.interactionCallback.forEach(f => f(data, i));
71
+ CordoAPI.normalizeFindAndResolveSmartEmbed(data, type);
72
+ const isEmphemeral = (data.flags & const_1.InteractionResponseFlags.EPHEMERAL) !== 0;
73
+ if (data.components?.length && data.components[0].type !== const_2.ComponentType.ROW) {
74
+ const rows = [];
75
+ let newlineFlag = true;
76
+ for (const comp of data.components) {
77
+ if (comp.visible === false)
78
+ continue; // === false to not catch any null or undefined
79
+ CordoAPI.normalizeApplyFlags(comp, i ?? null, contextId, isEmphemeral);
80
+ switch (comp.type) {
81
+ case const_2.ComponentType.LINE_BREAK: {
82
+ if (rows[rows.length - 1].length)
83
+ newlineFlag = true;
84
+ break;
85
+ }
86
+ case const_2.ComponentType.BUTTON: {
87
+ if (newlineFlag)
88
+ rows.push([]);
89
+ newlineFlag = false;
90
+ if (comp.label?.length > 50)
91
+ comp.label = comp.label.substr(0, 50);
92
+ rows[rows.length - 1].push(comp);
93
+ if (rows[rows.length - 1].length >= 5)
94
+ newlineFlag = true;
95
+ break;
96
+ }
97
+ case const_2.ComponentType.SELECT: {
98
+ if (comp.options?.length > 50)
99
+ comp.options.length = 50;
100
+ rows.push([comp]);
101
+ newlineFlag = true;
102
+ break;
103
+ }
104
+ case const_2.ComponentType.TEXT: {
105
+ rows.push([comp]);
106
+ newlineFlag = true;
107
+ break;
108
+ }
109
+ case const_2.ComponentType.USER_SELECT: {
110
+ rows.push([comp]);
111
+ newlineFlag = true;
112
+ break;
113
+ }
114
+ case const_2.ComponentType.ROLE_SELECT: {
115
+ rows.push([comp]);
116
+ newlineFlag = true;
117
+ break;
118
+ }
119
+ case const_2.ComponentType.MENTIONABLE_SELECT: {
120
+ rows.push([comp]);
121
+ newlineFlag = true;
122
+ break;
123
+ }
124
+ case const_2.ComponentType.CHANNEL_SELECT: {
125
+ rows.push([comp]);
126
+ newlineFlag = true;
127
+ break;
128
+ }
129
+ }
130
+ }
131
+ data.components = rows.map(c => ({ type: const_2.ComponentType.ROW, components: c }));
132
+ }
133
+ }
134
+ static normalizeFindAndResolveSmartEmbed(data, type) {
135
+ if (type === const_2.InteractionCallbackType.PONG)
136
+ return;
137
+ if (type === const_2.InteractionCallbackType.APPLICATION_COMMAND_AUTOCOMPLETE_RESULT)
138
+ return;
139
+ if (type === const_2.InteractionCallbackType.MODAL)
140
+ return;
141
+ if (!data.content)
142
+ data.content = '';
143
+ if (!data.description && !data.title)
144
+ return;
145
+ if (!data.embeds)
146
+ data.embeds = [];
147
+ data.embeds.push({
148
+ title: data.title || undefined,
149
+ description: data.description || undefined,
150
+ footer: data.footer ? { text: data.footer } : undefined,
151
+ image: data.image ? { url: data.image } : undefined,
152
+ thumbnail: data.thumbnail ? { url: data.thumbnail } : undefined,
153
+ color: data.color || 0x2b2d31
154
+ });
155
+ delete data.description;
156
+ delete data.title;
157
+ }
158
+ static normalizeApplyFlags(comp, i, contextId, isEmphemeral) {
159
+ if (comp.type === const_2.ComponentType.LINE_BREAK)
160
+ return;
161
+ if (comp.type === const_2.ComponentType.TEXT)
162
+ return;
163
+ if (!comp.custom_id)
164
+ return;
165
+ const hasAccessEveryoneFlag = comp.flags?.includes(const_2.InteractionComponentFlag.ACCESS_EVERYONE);
166
+ if (isEmphemeral && !hasAccessEveryoneFlag) {
167
+ if (!comp.flags)
168
+ comp.flags = [];
169
+ comp.flags.push(const_2.InteractionComponentFlag.ACCESS_EVERYONE);
170
+ }
171
+ ;
172
+ comp.custom_id = CordoAPI.compileCustomId(comp.custom_id, comp.flags, contextId);
173
+ if (comp.flags?.length && i && !!i.member && !hasAccessEveryoneFlag) {
174
+ const perms = BigInt(i.member.permissions);
175
+ if (comp.flags.includes(const_2.InteractionComponentFlag.ACCESS_ADMIN) && !permission_strings_1.default.containsAdmin(perms)) {
176
+ if (comp.flags.includes(const_2.InteractionComponentFlag.HIDE_IF_NOT_ALLOWED))
177
+ comp.type = null;
178
+ else
179
+ comp.disabled = true;
180
+ }
181
+ else if (comp.flags.includes(const_2.InteractionComponentFlag.ACCESS_MANAGE_SERVER) && !permission_strings_1.default.containsManageServer(perms)) {
182
+ if (comp.flags.includes(const_2.InteractionComponentFlag.HIDE_IF_NOT_ALLOWED))
183
+ comp.type = null;
184
+ else
185
+ comp.disabled = true;
186
+ }
187
+ else if (comp.flags.includes(const_2.InteractionComponentFlag.ACCESS_MANAGE_MESSAGES) && !permission_strings_1.default.containsManageMessages(perms)) {
188
+ if (comp.flags.includes(const_2.InteractionComponentFlag.HIDE_IF_NOT_ALLOWED))
189
+ comp.type = null;
190
+ else
191
+ comp.disabled = true;
192
+ }
193
+ else if (comp.flags.includes(const_2.InteractionComponentFlag.ACCESS_BOT_ADMIN) && !permission_checks_1.default.isBotOwner(i.user.id)) {
194
+ if (comp.flags.includes(const_2.InteractionComponentFlag.HIDE_IF_NOT_ALLOWED))
195
+ comp.type = null;
196
+ else
197
+ comp.disabled = true;
198
+ }
199
+ delete comp.flags;
200
+ }
201
+ }
202
+ //
203
+ static compileCustomId(customId, flags, contextId) {
204
+ return `${contextId ?? ''}::${customId}:${flags?.join('') ?? ''}`;
205
+ }
206
+ static parseCustomId(rawId) {
207
+ const [contextId, _reserved, customId, flagsRaw] = rawId.split(':');
208
+ return { contextId, _reserved, customId, flagsRaw };
209
+ }
210
+ }
211
+ exports.default = CordoAPI;
217
212
  //# sourceMappingURL=api.js.map
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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"}
@@ -1,2 +1,2 @@
1
- import { Request, Response } from "express";
2
- export declare function useCordo(clientPublicKey: string): (req: Request, res: Response) => void;
1
+ import { Request, Response } from "express";
2
+ export declare function useCordo(clientPublicKey: string): (req: Request, res: Response) => void;
@@ -1,15 +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;
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
15
  //# sourceMappingURL=express-middleware.js.map
package/dist/index.d.ts CHANGED
@@ -1,48 +1,48 @@
1
- import { Request, Response } from "express";
2
- import { CordoConfig, CustomLogger, GuildDataMiddleware, InteractionCallbackMiddleware, UserDataMiddleware, ApiResponseHandlerMiddleware } from './types/middleware';
3
- import { GenericInteraction } from './types/base';
4
- import { InteractionCommandAutocompleteHandler, InteractionCommandHandler, InteractionComponentHandler, InteractionUIState } from "./types/custom";
5
- export * from './api';
6
- export * from './replies';
7
- export * from './lib/default-logger';
8
- export * from './lib/permission-strings';
9
- export * from './types/base';
10
- export * from './types/component';
11
- export * from './types/const';
12
- export * from './types/custom';
13
- export * from './types/middleware';
14
- export default class Cordo {
15
- private static __data;
16
- static get _data(): {
17
- config: CordoConfig;
18
- commandHandlers: Map<string, InteractionCommandHandler>;
19
- componentHandlers: Map<string, InteractionComponentHandler>;
20
- slottedComponentHandlers: Set<import("./types/custom").SlottedComponentHandler>;
21
- uiStates: Map<string, InteractionUIState>;
22
- slottedUiStates: Set<import("./types/custom").SlottedUIState>;
23
- middlewares: {
24
- interactionCallback: InteractionCallbackMiddleware[];
25
- fetchGuildData: GuildDataMiddleware;
26
- fetchUserData: UserDataMiddleware;
27
- apiResponseHandler: ApiResponseHandlerMiddleware;
28
- };
29
- logger: CustomLogger;
30
- };
31
- static init(config: CordoConfig): void;
32
- static findContext(dir: string | string[]): void;
33
- static updateBotId(newId: string): void;
34
- static findCommandHandlers(dir: string | string[], prefix?: string): void;
35
- static registerCommandHandler(command: string, handler: InteractionCommandHandler): void;
36
- static findComponentHandlers(dir: string | string[], prefix?: string): void;
37
- static registerComponentHandler(id: string, handler: InteractionComponentHandler): void;
38
- static findUiStates(dir: string | string[], prefix?: string): void;
39
- static registerUiState(id: string, state: InteractionUIState): void;
40
- static findAutocompleteHandlers(dir: string | string[], prefix?: string): void;
41
- static registerAutocompleteHandler(id: string, handler: InteractionCommandAutocompleteHandler): void;
42
- static addMiddlewareInteractionCallback(fun: InteractionCallbackMiddleware): void;
43
- static setMiddlewareGuildData(fun: GuildDataMiddleware): void;
44
- static setMiddlewareUserData(fun: UserDataMiddleware): void;
45
- static setMiddlewareApiResponseHandler(fun: ApiResponseHandlerMiddleware): void;
46
- static emitInteraction(i: GenericInteraction): Promise<void>;
47
- static useWithExpress(clientPublicKey: string): (req: Request, res: Response) => void;
48
- }
1
+ import { Request, Response } from "express";
2
+ import { CordoConfig, CustomLogger, GuildDataMiddleware, InteractionCallbackMiddleware, UserDataMiddleware, ApiResponseHandlerMiddleware } from './types/middleware';
3
+ import { GenericInteraction } from './types/base';
4
+ import { InteractionCommandAutocompleteHandler, InteractionCommandHandler, InteractionComponentHandler, InteractionUIState } from "./types/custom";
5
+ export * from './api';
6
+ export * from './replies';
7
+ export * from './lib/default-logger';
8
+ export * from './lib/permission-strings';
9
+ export * from './types/base';
10
+ export * from './types/component';
11
+ export * from './types/const';
12
+ export * from './types/custom';
13
+ export * from './types/middleware';
14
+ export default class Cordo {
15
+ private static __data;
16
+ static get _data(): {
17
+ config: CordoConfig;
18
+ commandHandlers: Map<string, InteractionCommandHandler>;
19
+ componentHandlers: Map<string, InteractionComponentHandler>;
20
+ slottedComponentHandlers: Set<import("./types/custom").SlottedComponentHandler>;
21
+ uiStates: Map<string, InteractionUIState>;
22
+ slottedUiStates: Set<import("./types/custom").SlottedUIState>;
23
+ middlewares: {
24
+ interactionCallback: InteractionCallbackMiddleware[];
25
+ fetchGuildData: GuildDataMiddleware;
26
+ fetchUserData: UserDataMiddleware;
27
+ apiResponseHandler: ApiResponseHandlerMiddleware;
28
+ };
29
+ logger: CustomLogger;
30
+ };
31
+ static init(config: CordoConfig): void;
32
+ static findContext(dir: string | string[]): void;
33
+ static updateBotId(newId: string): void;
34
+ static findCommandHandlers(dir: string | string[], prefix?: string): void;
35
+ static registerCommandHandler(command: string, handler: InteractionCommandHandler): void;
36
+ static findComponentHandlers(dir: string | string[], prefix?: string): void;
37
+ static registerComponentHandler(id: string, handler: InteractionComponentHandler): void;
38
+ static findUiStates(dir: string | string[], prefix?: string): void;
39
+ static registerUiState(id: string, state: InteractionUIState): void;
40
+ static findAutocompleteHandlers(dir: string | string[], prefix?: string): void;
41
+ static registerAutocompleteHandler(id: string, handler: InteractionCommandAutocompleteHandler): void;
42
+ static addMiddlewareInteractionCallback(fun: InteractionCallbackMiddleware): void;
43
+ static setMiddlewareGuildData(fun: GuildDataMiddleware): void;
44
+ static setMiddlewareUserData(fun: UserDataMiddleware): void;
45
+ static setMiddlewareApiResponseHandler(fun: ApiResponseHandlerMiddleware): void;
46
+ static emitInteraction(i: GenericInteraction): Promise<void>;
47
+ static useWithExpress(clientPublicKey: string): (req: Request, res: Response) => void;
48
+ }