cordo 1.16.14 → 1.17.2
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 +47 -50
- package/dist/api.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js +78 -91
- package/dist/index.js.map +1 -1
- package/dist/lib/default-logger.js +1 -4
- package/dist/lib/default-logger.js.map +1 -1
- package/dist/lib/permission-checks.js +19 -22
- package/dist/lib/permission-checks.js.map +1 -1
- package/dist/lib/permission-strings.js +43 -46
- package/dist/lib/permission-strings.js.map +1 -1
- package/dist/lib/user-error-messages.js +20 -23
- package/dist/lib/user-error-messages.js.map +1 -1
- package/dist/lib/utils.js +2 -7
- package/dist/lib/utils.js.map +1 -1
- package/dist/manager/autocompleter.js +13 -16
- package/dist/manager/autocompleter.js.map +1 -1
- package/dist/manager/commands.js +26 -29
- package/dist/manager/commands.js.map +1 -1
- package/dist/manager/components.js +27 -30
- package/dist/manager/components.js.map +1 -1
- package/dist/manager/states.js +10 -13
- package/dist/manager/states.js.map +1 -1
- package/dist/replies.js +41 -44
- package/dist/replies.js.map +1 -1
- package/dist/types/base.d.ts +38 -38
- package/dist/types/base.js +1 -2
- package/dist/types/base.js.map +1 -1
- package/dist/types/component.d.ts +8 -8
- package/dist/types/component.js +1 -2
- package/dist/types/component.js.map +1 -1
- package/dist/types/const.js +22 -25
- package/dist/types/const.js.map +1 -1
- package/dist/types/custom.d.ts +18 -19
- package/dist/types/custom.js +1 -2
- package/dist/types/custom.js.map +1 -1
- package/dist/types/middleware.d.ts +7 -7
- package/dist/types/middleware.js +1 -2
- package/package.json +2 -2
- package/tsconfig.json +6 -5
- package/bun.lockb +0 -0
- package/dist/express-middleware.d.ts +0 -2
- package/dist/express-middleware.js +0 -15
- package/dist/express-middleware.js.map +0 -1
- package/dist/src/api.d.ts +0 -27
- package/dist/src/api.js +0 -194
- package/dist/src/api.js.map +0 -1
- package/dist/src/index.d.ts +0 -47
- package/dist/src/index.js +0 -185
- package/dist/src/index.js.map +0 -1
- package/dist/src/lib/default-logger.d.ts +0 -7
- package/dist/src/lib/default-logger.js +0 -11
- package/dist/src/lib/default-logger.js.map +0 -1
- package/dist/src/lib/permission-checks.d.ts +0 -5
- package/dist/src/lib/permission-checks.js +0 -49
- package/dist/src/lib/permission-checks.js.map +0 -1
- package/dist/src/lib/permission-strings.d.ts +0 -48
- package/dist/src/lib/permission-strings.js +0 -67
- package/dist/src/lib/permission-strings.js.map +0 -1
- package/dist/src/lib/user-error-messages.d.ts +0 -7
- package/dist/src/lib/user-error-messages.js +0 -39
- package/dist/src/lib/user-error-messages.js.map +0 -1
- package/dist/src/lib/utils.d.ts +0 -2
- package/dist/src/lib/utils.js +0 -21
- package/dist/src/lib/utils.js.map +0 -1
- package/dist/src/manager/autocompleter.d.ts +0 -8
- package/dist/src/manager/autocompleter.js +0 -59
- package/dist/src/manager/autocompleter.js.map +0 -1
- package/dist/src/manager/commands.d.ts +0 -11
- package/dist/src/manager/commands.js +0 -101
- package/dist/src/manager/commands.js.map +0 -1
- package/dist/src/manager/components.d.ts +0 -11
- package/dist/src/manager/components.js +0 -110
- package/dist/src/manager/components.js.map +0 -1
- package/dist/src/manager/states.d.ts +0 -6
- package/dist/src/manager/states.js +0 -34
- package/dist/src/manager/states.js.map +0 -1
- package/dist/src/replies.d.ts +0 -18
- package/dist/src/replies.js +0 -229
- package/dist/src/replies.js.map +0 -1
- package/dist/src/types/base.d.ts +0 -282
- package/dist/src/types/base.js +0 -5
- package/dist/src/types/base.js.map +0 -1
- package/dist/src/types/component.d.ts +0 -55
- package/dist/src/types/component.js +0 -4
- package/dist/src/types/component.js.map +0 -1
- package/dist/src/types/const.d.ts +0 -78
- package/dist/src/types/const.js +0 -92
- package/dist/src/types/const.js.map +0 -1
- package/dist/src/types/custom.d.ts +0 -77
- package/dist/src/types/custom.js +0 -4
- package/dist/src/types/custom.js.map +0 -1
- package/dist/src/types/middleware.d.ts +0 -41
- package/dist/src/types/middleware.js +0 -3
- package/dist/src/types/middleware.js.map +0 -1
- package/dist/utils.d.ts +0 -2
- package/dist/utils.js +0 -21
- package/dist/utils.js.map +0 -1
- package/dist/v2/_test/command.d.ts +0 -2
- package/dist/v2/_test/command.js +0 -31
- package/dist/v2/_test/command.js.map +0 -1
- package/dist/v2/_test/general-test.d.ts +0 -1
- package/dist/v2/_test/general-test.js +0 -25
- package/dist/v2/_test/general-test.js.map +0 -1
- package/dist/v2/api.js +0 -185
- package/dist/v2/api.js.map +0 -1
- package/dist/v2/buttons.d.ts +0 -0
- package/dist/v2/buttons.js +0 -1
- package/dist/v2/buttons.js.map +0 -1
- package/dist/v2/components/$component.d.ts +0 -14
- package/dist/v2/components/$component.js +0 -7
- package/dist/v2/components/$component.js.map +0 -1
- package/dist/v2/components/button-component.d.ts +0 -31
- package/dist/v2/components/button-component.js +0 -105
- package/dist/v2/components/button-component.js.map +0 -1
- package/dist/v2/components/buttons.d.ts +0 -31
- package/dist/v2/components/buttons.js +0 -105
- package/dist/v2/components/buttons.js.map +0 -1
- package/dist/v2/handler/$handler.d.ts +0 -2
- package/dist/v2/handler/$handler.js +0 -7
- package/dist/v2/handler/$handler.js.map +0 -1
- package/dist/v2/handler/command-handler.d.ts +0 -15
- package/dist/v2/handler/command-handler.js +0 -7
- package/dist/v2/handler/command-handler.js.map +0 -1
- package/dist/v2/index.js +0 -182
- package/dist/v2/index.js.map +0 -1
- package/dist/v2/interactions/$interaction.d.ts +0 -58
- package/dist/v2/interactions/$interaction.js +0 -36
- package/dist/v2/interactions/$interaction.js.map +0 -1
- package/dist/v2/interactions/$shared-types.d.ts +0 -69
- package/dist/v2/interactions/$shared-types.js +0 -3
- package/dist/v2/interactions/$shared-types.js.map +0 -1
- package/dist/v2/interactions/autocomplete-interaction.d.ts +0 -13
- package/dist/v2/interactions/autocomplete-interaction.js +0 -11
- package/dist/v2/interactions/autocomplete-interaction.js.map +0 -1
- package/dist/v2/interactions/command-interaction.d.ts +0 -60
- package/dist/v2/interactions/command-interaction.js +0 -26
- package/dist/v2/interactions/command-interaction.js.map +0 -1
- package/dist/v2/interactions/component-interaction.d.ts +0 -35
- package/dist/v2/interactions/component-interaction.js +0 -13
- package/dist/v2/interactions/component-interaction.js.map +0 -1
- package/dist/v2/interactions/modal-submit-interaction.d.ts +0 -23
- package/dist/v2/interactions/modal-submit-interaction.js +0 -17
- package/dist/v2/interactions/modal-submit-interaction.js.map +0 -1
- package/dist/v2/types/const.d.ts +0 -84
- package/dist/v2/types/const.js +0 -94
- package/dist/v2/types/const.js.map +0 -1
- package/dist/v2/types/discord.d.ts +0 -146
- package/dist/v2/types/discord.js +0 -3
- package/dist/v2/types/discord.js.map +0 -1
- package/dist/v2/types/helper.d.ts +0 -7
- package/dist/v2/types/helper.js +0 -3
- package/dist/v2/types/helper.js.map +0 -1
- package/dist/v2/types/interactions.d.ts +0 -21
- package/dist/v2/types/interactions.js +0 -3
- package/dist/v2/types/interactions.js.map +0 -1
- package/dist/v2/types/middleware.d.ts +0 -11
- package/dist/v2/types/middleware.js +0 -3
- package/dist/v2/types/middleware.js.map +0 -1
package/dist/api.js
CHANGED
|
@@ -1,12 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
const index_1 = require("./index");
|
|
9
|
-
class CordoAPI {
|
|
1
|
+
import axios from 'axios';
|
|
2
|
+
import PermissionStrings from './lib/permission-strings';
|
|
3
|
+
import { InteractionResponseFlags } from './types/const';
|
|
4
|
+
import { ComponentType, InteractionCallbackType, InteractionComponentFlag } from './types/const';
|
|
5
|
+
import PermissionChecks from './lib/permission-checks';
|
|
6
|
+
import Cordo from './index';
|
|
7
|
+
export default class CordoAPI {
|
|
10
8
|
static async interactionCallback(i, type, data, contextId, useRaw) {
|
|
11
9
|
if (!useRaw)
|
|
12
10
|
CordoAPI.normaliseData(data, i, contextId, type);
|
|
@@ -18,19 +16,19 @@ class CordoAPI {
|
|
|
18
16
|
i._httpCallback({ type, data });
|
|
19
17
|
}
|
|
20
18
|
else {
|
|
21
|
-
const res = await
|
|
19
|
+
const res = await axios.post(`https://discord.com/api/v9/interactions/${i.id}/${i.token}/callback`, { type, data }, { validateStatus: null });
|
|
22
20
|
CordoAPI.handleCallbackResponse(res, type, data);
|
|
23
21
|
}
|
|
24
22
|
}
|
|
25
23
|
else {
|
|
26
24
|
switch (type) {
|
|
27
|
-
case
|
|
28
|
-
const res = await
|
|
25
|
+
case InteractionCallbackType.CHANNEL_MESSAGE_WITH_SOURCE: {
|
|
26
|
+
const res = await axios.post(`https://discord.com/api/v9/webhooks/${Cordo._data.config.botId}/${i.token}`, data, { validateStatus: null });
|
|
29
27
|
CordoAPI.handleCallbackResponse(res, type, data);
|
|
30
28
|
break;
|
|
31
29
|
}
|
|
32
|
-
case
|
|
33
|
-
const res = await
|
|
30
|
+
case InteractionCallbackType.UPDATE_MESSAGE: {
|
|
31
|
+
const res = await axios.patch(`https://discord.com/api/v9/webhooks/${Cordo._data.config.botId}/${i.token}/messages/@original`, data, { validateStatus: null });
|
|
34
32
|
CordoAPI.handleCallbackResponse(res, type, data);
|
|
35
33
|
break;
|
|
36
34
|
}
|
|
@@ -38,25 +36,25 @@ class CordoAPI {
|
|
|
38
36
|
}
|
|
39
37
|
return {
|
|
40
38
|
async getMessage() {
|
|
41
|
-
const res = await
|
|
39
|
+
const res = await axios.get(`https://discord.com/api/v8/webhooks/${Cordo._data.config.botId}/${i.token}/messages/@original`, { validateStatus: null });
|
|
42
40
|
if (res.status !== 200)
|
|
43
41
|
return null;
|
|
44
42
|
return res.data;
|
|
45
43
|
},
|
|
46
44
|
edit(editData, editUseRaw = useRaw) {
|
|
47
|
-
CordoAPI.interactionCallback(i,
|
|
45
|
+
CordoAPI.interactionCallback(i, InteractionCallbackType.UPDATE_MESSAGE, editData, contextId, editUseRaw);
|
|
48
46
|
}
|
|
49
47
|
};
|
|
50
48
|
}
|
|
51
49
|
static handleCallbackResponse(res, type, data) {
|
|
52
|
-
if (
|
|
53
|
-
|
|
50
|
+
if (Cordo._data.middlewares.apiResponseHandler) {
|
|
51
|
+
Cordo._data.middlewares.apiResponseHandler(res);
|
|
54
52
|
}
|
|
55
53
|
else if (res.status >= 300) {
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
54
|
+
Cordo._data.logger.warn('Interaction callback failed with error:');
|
|
55
|
+
Cordo._data.logger.warn(JSON.stringify(res.data, null, 2));
|
|
56
|
+
Cordo._data.logger.warn('Request payload:');
|
|
57
|
+
Cordo._data.logger.warn(JSON.stringify({ type, data }, null, 2));
|
|
60
58
|
}
|
|
61
59
|
}
|
|
62
60
|
/**
|
|
@@ -67,10 +65,10 @@ class CordoAPI {
|
|
|
67
65
|
return;
|
|
68
66
|
// explicitly not using this. in this function due to unwanted side-effects in lambda functions
|
|
69
67
|
if (i)
|
|
70
|
-
|
|
68
|
+
Cordo._data.middlewares.interactionCallback.forEach(f => f(data, i));
|
|
71
69
|
CordoAPI.normalizeFindAndResolveSmartEmbed(data, type);
|
|
72
|
-
const isEmphemeral = (data.flags &
|
|
73
|
-
if (data.components?.length && data.components[0].type !==
|
|
70
|
+
const isEmphemeral = (data.flags & InteractionResponseFlags.EPHEMERAL) !== 0;
|
|
71
|
+
if (data.components?.length && data.components[0].type !== ComponentType.ROW) {
|
|
74
72
|
const rows = [];
|
|
75
73
|
let newlineFlag = true;
|
|
76
74
|
for (const comp of data.components) {
|
|
@@ -78,12 +76,12 @@ class CordoAPI {
|
|
|
78
76
|
continue; // === false to not catch any null or undefined
|
|
79
77
|
CordoAPI.normalizeApplyFlags(comp, i ?? null, contextId, isEmphemeral);
|
|
80
78
|
switch (comp.type) {
|
|
81
|
-
case
|
|
79
|
+
case ComponentType.LINE_BREAK: {
|
|
82
80
|
if (rows[rows.length - 1].length)
|
|
83
81
|
newlineFlag = true;
|
|
84
82
|
break;
|
|
85
83
|
}
|
|
86
|
-
case
|
|
84
|
+
case ComponentType.BUTTON: {
|
|
87
85
|
if (newlineFlag)
|
|
88
86
|
rows.push([]);
|
|
89
87
|
newlineFlag = false;
|
|
@@ -94,49 +92,49 @@ class CordoAPI {
|
|
|
94
92
|
newlineFlag = true;
|
|
95
93
|
break;
|
|
96
94
|
}
|
|
97
|
-
case
|
|
95
|
+
case ComponentType.SELECT: {
|
|
98
96
|
if (comp.options?.length > 50)
|
|
99
97
|
comp.options.length = 50;
|
|
100
98
|
rows.push([comp]);
|
|
101
99
|
newlineFlag = true;
|
|
102
100
|
break;
|
|
103
101
|
}
|
|
104
|
-
case
|
|
102
|
+
case ComponentType.TEXT: {
|
|
105
103
|
rows.push([comp]);
|
|
106
104
|
newlineFlag = true;
|
|
107
105
|
break;
|
|
108
106
|
}
|
|
109
|
-
case
|
|
107
|
+
case ComponentType.USER_SELECT: {
|
|
110
108
|
rows.push([comp]);
|
|
111
109
|
newlineFlag = true;
|
|
112
110
|
break;
|
|
113
111
|
}
|
|
114
|
-
case
|
|
112
|
+
case ComponentType.ROLE_SELECT: {
|
|
115
113
|
rows.push([comp]);
|
|
116
114
|
newlineFlag = true;
|
|
117
115
|
break;
|
|
118
116
|
}
|
|
119
|
-
case
|
|
117
|
+
case ComponentType.MENTIONABLE_SELECT: {
|
|
120
118
|
rows.push([comp]);
|
|
121
119
|
newlineFlag = true;
|
|
122
120
|
break;
|
|
123
121
|
}
|
|
124
|
-
case
|
|
122
|
+
case ComponentType.CHANNEL_SELECT: {
|
|
125
123
|
rows.push([comp]);
|
|
126
124
|
newlineFlag = true;
|
|
127
125
|
break;
|
|
128
126
|
}
|
|
129
127
|
}
|
|
130
128
|
}
|
|
131
|
-
data.components = rows.map(c => ({ type:
|
|
129
|
+
data.components = rows.map(c => ({ type: ComponentType.ROW, components: c }));
|
|
132
130
|
}
|
|
133
131
|
}
|
|
134
132
|
static normalizeFindAndResolveSmartEmbed(data, type) {
|
|
135
|
-
if (type ===
|
|
133
|
+
if (type === InteractionCallbackType.PONG)
|
|
136
134
|
return;
|
|
137
|
-
if (type ===
|
|
135
|
+
if (type === InteractionCallbackType.APPLICATION_COMMAND_AUTOCOMPLETE_RESULT)
|
|
138
136
|
return;
|
|
139
|
-
if (type ===
|
|
137
|
+
if (type === InteractionCallbackType.MODAL)
|
|
140
138
|
return;
|
|
141
139
|
if (!data.content)
|
|
142
140
|
data.content = '';
|
|
@@ -156,42 +154,42 @@ class CordoAPI {
|
|
|
156
154
|
delete data.title;
|
|
157
155
|
}
|
|
158
156
|
static normalizeApplyFlags(comp, i, contextId, isEmphemeral) {
|
|
159
|
-
if (comp.type ===
|
|
157
|
+
if (comp.type === ComponentType.LINE_BREAK)
|
|
160
158
|
return;
|
|
161
|
-
if (comp.type ===
|
|
159
|
+
if (comp.type === ComponentType.TEXT)
|
|
162
160
|
return;
|
|
163
161
|
if (!comp.custom_id)
|
|
164
162
|
return;
|
|
165
|
-
const hasAccessEveryoneFlag = comp.flags?.includes(
|
|
163
|
+
const hasAccessEveryoneFlag = comp.flags?.includes(InteractionComponentFlag.ACCESS_EVERYONE);
|
|
166
164
|
if (isEmphemeral && !hasAccessEveryoneFlag) {
|
|
167
165
|
if (!comp.flags)
|
|
168
166
|
comp.flags = [];
|
|
169
|
-
comp.flags.push(
|
|
167
|
+
comp.flags.push(InteractionComponentFlag.ACCESS_EVERYONE);
|
|
170
168
|
}
|
|
171
169
|
;
|
|
172
170
|
comp.custom_id = CordoAPI.compileCustomId(comp.custom_id, comp.flags, contextId);
|
|
173
171
|
if (comp.flags?.length && i && !!i.member && !hasAccessEveryoneFlag) {
|
|
174
172
|
const perms = BigInt(i.member.permissions);
|
|
175
|
-
if (comp.flags.includes(
|
|
176
|
-
if (comp.flags.includes(
|
|
173
|
+
if (comp.flags.includes(InteractionComponentFlag.ACCESS_ADMIN) && !PermissionStrings.containsAdmin(perms)) {
|
|
174
|
+
if (comp.flags.includes(InteractionComponentFlag.HIDE_IF_NOT_ALLOWED))
|
|
177
175
|
comp.type = null;
|
|
178
176
|
else
|
|
179
177
|
comp.disabled = true;
|
|
180
178
|
}
|
|
181
|
-
else if (comp.flags.includes(
|
|
182
|
-
if (comp.flags.includes(
|
|
179
|
+
else if (comp.flags.includes(InteractionComponentFlag.ACCESS_MANAGE_SERVER) && !PermissionStrings.containsManageServer(perms)) {
|
|
180
|
+
if (comp.flags.includes(InteractionComponentFlag.HIDE_IF_NOT_ALLOWED))
|
|
183
181
|
comp.type = null;
|
|
184
182
|
else
|
|
185
183
|
comp.disabled = true;
|
|
186
184
|
}
|
|
187
|
-
else if (comp.flags.includes(
|
|
188
|
-
if (comp.flags.includes(
|
|
185
|
+
else if (comp.flags.includes(InteractionComponentFlag.ACCESS_MANAGE_MESSAGES) && !PermissionStrings.containsManageMessages(perms)) {
|
|
186
|
+
if (comp.flags.includes(InteractionComponentFlag.HIDE_IF_NOT_ALLOWED))
|
|
189
187
|
comp.type = null;
|
|
190
188
|
else
|
|
191
189
|
comp.disabled = true;
|
|
192
190
|
}
|
|
193
|
-
else if (comp.flags.includes(
|
|
194
|
-
if (comp.flags.includes(
|
|
191
|
+
else if (comp.flags.includes(InteractionComponentFlag.ACCESS_BOT_ADMIN) && !PermissionChecks.isBotOwner(i.user.id)) {
|
|
192
|
+
if (comp.flags.includes(InteractionComponentFlag.HIDE_IF_NOT_ALLOWED))
|
|
195
193
|
comp.type = null;
|
|
196
194
|
else
|
|
197
195
|
comp.disabled = true;
|
|
@@ -208,5 +206,4 @@ class CordoAPI {
|
|
|
208
206
|
return { contextId, _reserved, customId, flagsRaw };
|
|
209
207
|
}
|
|
210
208
|
}
|
|
211
|
-
exports.default = CordoAPI;
|
|
212
209
|
//# 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":"
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -17,9 +17,9 @@ export default class Cordo {
|
|
|
17
17
|
config: CordoConfig;
|
|
18
18
|
commandHandlers: Map<string, InteractionCommandHandler>;
|
|
19
19
|
componentHandlers: Map<string, InteractionComponentHandler>;
|
|
20
|
-
slottedComponentHandlers: Set<import("
|
|
20
|
+
slottedComponentHandlers: Set<import(".").SlottedComponentHandler>;
|
|
21
21
|
uiStates: Map<string, InteractionUIState>;
|
|
22
|
-
slottedUiStates: Set<import("
|
|
22
|
+
slottedUiStates: Set<import(".").SlottedUIState>;
|
|
23
23
|
middlewares: {
|
|
24
24
|
interactionCallback: InteractionCallbackMiddleware[];
|
|
25
25
|
interactionPreprocessor: InteractionPreprocessorMiddleware<GenericInteraction>[];
|
package/dist/index.js
CHANGED
|
@@ -1,33 +1,52 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
1
|
+
import { verifyKeyMiddleware } from "discord-interactions";
|
|
2
|
+
import { InteractionCallbackType, InteractionType } from './types/const';
|
|
3
|
+
import CordoAPI from './api';
|
|
4
|
+
import DefaultLogger from './lib/default-logger';
|
|
5
|
+
import CordoCommandsManager from './manager/commands';
|
|
6
|
+
import CordoComponentsManager from './manager/components';
|
|
7
|
+
import CordoStatesManager from './manager/states';
|
|
8
|
+
import CordoAutocompleterManager from "./manager/autocompleter";
|
|
9
|
+
export * from './api';
|
|
10
|
+
export * from './replies';
|
|
11
|
+
export * from './lib/default-logger';
|
|
12
|
+
export * from './lib/permission-strings';
|
|
13
|
+
export * from './types/base';
|
|
14
|
+
export * from './types/component';
|
|
15
|
+
export * from './types/const';
|
|
16
|
+
export * from './types/custom';
|
|
17
|
+
export * from './types/middleware';
|
|
18
|
+
export default class Cordo {
|
|
19
|
+
static __data = {
|
|
20
|
+
config: {
|
|
21
|
+
botId: null,
|
|
22
|
+
texts: {
|
|
23
|
+
interaction_not_owned_title: 'Nope!',
|
|
24
|
+
interaction_not_owned_description: 'You cannot interact with this widget as you did not create it. Run the command yourself to get a interactable widget.',
|
|
25
|
+
interaction_not_permitted_title: 'No permission!',
|
|
26
|
+
interaction_not_permitted_description_generic: 'You cannot do this.',
|
|
27
|
+
interaction_not_permitted_description_bot_admin: 'Only bot admins can do this.',
|
|
28
|
+
interaction_not_permitted_description_guild_admin: 'Only for server admins.',
|
|
29
|
+
interaction_not_permitted_description_manage_server: 'Only people with the "Manage Server" permission can do this.',
|
|
30
|
+
interaction_not_permitted_description_manage_messages: 'Only people with the "Manage Messages" permission can dothis.',
|
|
31
|
+
interaction_failed: 'We are very sorry but an error occured while processing your command. Please try again.',
|
|
32
|
+
interaction_invalid_title: 'Error executing this command',
|
|
33
|
+
interaction_invalid_description: 'The command was not found. Please contact the developer.'
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
commandHandlers: CordoCommandsManager.commandHandlers,
|
|
37
|
+
componentHandlers: CordoComponentsManager.componentHandlers,
|
|
38
|
+
slottedComponentHandlers: CordoComponentsManager.slottedComponentHandlers,
|
|
39
|
+
uiStates: CordoStatesManager.uiStates,
|
|
40
|
+
slottedUiStates: CordoStatesManager.slottedUiStates,
|
|
41
|
+
middlewares: {
|
|
42
|
+
interactionCallback: [],
|
|
43
|
+
interactionPreprocessor: [],
|
|
44
|
+
fetchGuildData: null,
|
|
45
|
+
fetchUserData: null,
|
|
46
|
+
apiResponseHandler: null
|
|
47
|
+
},
|
|
48
|
+
logger: new DefaultLogger()
|
|
49
|
+
};
|
|
31
50
|
static get _data() {
|
|
32
51
|
return Cordo.__data;
|
|
33
52
|
}
|
|
@@ -39,32 +58,32 @@ class Cordo {
|
|
|
39
58
|
if (config.contextPath)
|
|
40
59
|
Cordo.findContext(config.contextPath);
|
|
41
60
|
if (config.commandHandlerPath)
|
|
42
|
-
|
|
61
|
+
CordoCommandsManager.findCommandHandlers(config.commandHandlerPath);
|
|
43
62
|
if (config.componentHandlerPath)
|
|
44
|
-
|
|
63
|
+
CordoComponentsManager.findComponentHandlers(config.componentHandlerPath);
|
|
45
64
|
if (config.uiStatesPath)
|
|
46
|
-
|
|
65
|
+
CordoStatesManager.findUiStates(config.uiStatesPath);
|
|
47
66
|
if (config.autocompleterPath)
|
|
48
|
-
|
|
67
|
+
CordoAutocompleterManager.findAutocompleteHandlers(config.autocompleterPath);
|
|
49
68
|
}
|
|
50
69
|
//
|
|
51
70
|
static findContext(dir) {
|
|
52
71
|
if (typeof dir === 'string')
|
|
53
72
|
dir = [dir];
|
|
54
73
|
try {
|
|
55
|
-
|
|
74
|
+
CordoCommandsManager.findCommandHandlers([...dir, 'commands']);
|
|
56
75
|
}
|
|
57
76
|
catch (ignore) { }
|
|
58
77
|
try {
|
|
59
|
-
|
|
78
|
+
CordoComponentsManager.findComponentHandlers([...dir, 'components']);
|
|
60
79
|
}
|
|
61
80
|
catch (ignore) { }
|
|
62
81
|
try {
|
|
63
|
-
|
|
82
|
+
CordoStatesManager.findUiStates([...dir, 'states']);
|
|
64
83
|
}
|
|
65
84
|
catch (ignore) { }
|
|
66
85
|
try {
|
|
67
|
-
|
|
86
|
+
CordoAutocompleterManager.findAutocompleteHandlers([...dir, 'autocompleter']);
|
|
68
87
|
}
|
|
69
88
|
catch (ignore) { }
|
|
70
89
|
}
|
|
@@ -73,28 +92,28 @@ class Cordo {
|
|
|
73
92
|
}
|
|
74
93
|
//
|
|
75
94
|
static findCommandHandlers(dir, prefix) {
|
|
76
|
-
|
|
95
|
+
CordoCommandsManager.findCommandHandlers(dir, prefix);
|
|
77
96
|
}
|
|
78
97
|
static registerCommandHandler(command, handler) {
|
|
79
|
-
|
|
98
|
+
CordoCommandsManager.registerCommandHandler(command, handler);
|
|
80
99
|
}
|
|
81
100
|
static findComponentHandlers(dir, prefix) {
|
|
82
|
-
|
|
101
|
+
CordoComponentsManager.findComponentHandlers(dir, prefix);
|
|
83
102
|
}
|
|
84
103
|
static registerComponentHandler(id, handler) {
|
|
85
|
-
|
|
104
|
+
CordoComponentsManager.registerComponentHandler(id, handler);
|
|
86
105
|
}
|
|
87
106
|
static findUiStates(dir, prefix) {
|
|
88
|
-
|
|
107
|
+
CordoStatesManager.findUiStates(dir, prefix);
|
|
89
108
|
}
|
|
90
109
|
static registerUiState(id, state) {
|
|
91
|
-
|
|
110
|
+
CordoStatesManager.registerUiState(id, state);
|
|
92
111
|
}
|
|
93
112
|
static findAutocompleteHandlers(dir, prefix) {
|
|
94
|
-
|
|
113
|
+
CordoAutocompleterManager.findAutocompleteHandlers(dir, prefix);
|
|
95
114
|
}
|
|
96
115
|
static registerAutocompleteHandler(id, handler) {
|
|
97
|
-
|
|
116
|
+
CordoAutocompleterManager.registerAutocompleteHandler(id, handler);
|
|
98
117
|
}
|
|
99
118
|
//
|
|
100
119
|
static addMiddlewareInteractionCallback(fun) {
|
|
@@ -116,10 +135,10 @@ class Cordo {
|
|
|
116
135
|
static async emitInteraction(i) {
|
|
117
136
|
i._answered = false;
|
|
118
137
|
if (Cordo._data.config.immediateDefer?.(i)) {
|
|
119
|
-
if (i.type ===
|
|
120
|
-
|
|
121
|
-
else if (i.type ===
|
|
122
|
-
|
|
138
|
+
if (i.type === InteractionType.COMMAND)
|
|
139
|
+
CordoAPI.interactionCallback(i, InteractionCallbackType.DEFERRED_CHANNEL_MESSAGE_WITH_SOURCE);
|
|
140
|
+
else if (i.type === InteractionType.COMPONENT)
|
|
141
|
+
CordoAPI.interactionCallback(i, InteractionCallbackType.DEFERRED_UPDATE_MESSAGE);
|
|
123
142
|
}
|
|
124
143
|
for (const preprocessor of Cordo._data.middlewares.interactionPreprocessor) {
|
|
125
144
|
i = preprocessor(i);
|
|
@@ -138,21 +157,21 @@ class Cordo {
|
|
|
138
157
|
if (!!i.userData.then)
|
|
139
158
|
i.userData = await i.userData;
|
|
140
159
|
}
|
|
141
|
-
if (i.type ===
|
|
142
|
-
|
|
143
|
-
else if (i.type ===
|
|
144
|
-
|
|
145
|
-
else if (i.type ===
|
|
146
|
-
|
|
147
|
-
else if (i.type ===
|
|
148
|
-
|
|
160
|
+
if (i.type === InteractionType.COMMAND)
|
|
161
|
+
CordoCommandsManager.onCommand(i);
|
|
162
|
+
else if (i.type === InteractionType.COMPONENT)
|
|
163
|
+
CordoComponentsManager.onComponent(i);
|
|
164
|
+
else if (i.type === InteractionType.COMMAND_AUTOCOMPLETE)
|
|
165
|
+
CordoAutocompleterManager.onCommandAutocomplete(i);
|
|
166
|
+
else if (i.type === InteractionType.MODAL_SUBMIT) // TODO fix this, temp solution
|
|
167
|
+
CordoComponentsManager.onComponent(i);
|
|
149
168
|
else
|
|
150
169
|
Cordo._data.logger.warn(`Unknown interaction type ${i.type}`);
|
|
151
170
|
}
|
|
152
171
|
static useWithExpress(clientPublicKey) {
|
|
153
172
|
if (!clientPublicKey)
|
|
154
173
|
throw new Error('You must specify a Discord client public key');
|
|
155
|
-
const checkKey =
|
|
174
|
+
const checkKey = verifyKeyMiddleware(clientPublicKey);
|
|
156
175
|
return (req, res) => {
|
|
157
176
|
checkKey(req, res, () => {
|
|
158
177
|
const interaction = req.body;
|
|
@@ -162,36 +181,4 @@ class Cordo {
|
|
|
162
181
|
};
|
|
163
182
|
}
|
|
164
183
|
}
|
|
165
|
-
exports.default = Cordo;
|
|
166
|
-
Cordo.__data = {
|
|
167
|
-
config: {
|
|
168
|
-
botId: null,
|
|
169
|
-
texts: {
|
|
170
|
-
interaction_not_owned_title: 'Nope!',
|
|
171
|
-
interaction_not_owned_description: 'You cannot interact with this widget as you did not create it. Run the command yourself to get a interactable widget.',
|
|
172
|
-
interaction_not_permitted_title: 'No permission!',
|
|
173
|
-
interaction_not_permitted_description_generic: 'You cannot do this.',
|
|
174
|
-
interaction_not_permitted_description_bot_admin: 'Only bot admins can do this.',
|
|
175
|
-
interaction_not_permitted_description_guild_admin: 'Only for server admins.',
|
|
176
|
-
interaction_not_permitted_description_manage_server: 'Only people with the "Manage Server" permission can do this.',
|
|
177
|
-
interaction_not_permitted_description_manage_messages: 'Only people with the "Manage Messages" permission can dothis.',
|
|
178
|
-
interaction_failed: 'We are very sorry but an error occured while processing your command. Please try again.',
|
|
179
|
-
interaction_invalid_title: 'Error executing this command',
|
|
180
|
-
interaction_invalid_description: 'The command was not found. Please contact the developer.'
|
|
181
|
-
}
|
|
182
|
-
},
|
|
183
|
-
commandHandlers: commands_1.default.commandHandlers,
|
|
184
|
-
componentHandlers: components_1.default.componentHandlers,
|
|
185
|
-
slottedComponentHandlers: components_1.default.slottedComponentHandlers,
|
|
186
|
-
uiStates: states_1.default.uiStates,
|
|
187
|
-
slottedUiStates: states_1.default.slottedUiStates,
|
|
188
|
-
middlewares: {
|
|
189
|
-
interactionCallback: [],
|
|
190
|
-
interactionPreprocessor: [],
|
|
191
|
-
fetchGuildData: null,
|
|
192
|
-
fetchUserData: null,
|
|
193
|
-
apiResponseHandler: null
|
|
194
|
-
},
|
|
195
|
-
logger: new default_logger_1.default()
|
|
196
|
-
};
|
|
197
184
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
class DefaultLogger {
|
|
1
|
+
export default class DefaultLogger {
|
|
4
2
|
log(content) { console.log(content); }
|
|
5
3
|
warn(content) { console.warn(content); }
|
|
6
4
|
error(content) { console.error(content); }
|
|
7
5
|
info(content) { console.info(content); }
|
|
8
6
|
debug(content) { console.debug(content); }
|
|
9
7
|
}
|
|
10
|
-
exports.default = DefaultLogger;
|
|
11
8
|
//# sourceMappingURL=default-logger.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default-logger.js","sourceRoot":"","sources":["../../src/lib/default-logger.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"default-logger.js","sourceRoot":"","sources":["../../src/lib/default-logger.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,OAAO,aAAa;IAEzB,GAAG,CAAC,OAAY,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA,CAAC,CAAC;IAC1C,IAAI,CAAC,OAAY,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA,CAAC,CAAC;IAC5C,KAAK,CAAC,OAAY,IAAI,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA,CAAC,CAAC;IAC9C,IAAI,CAAC,OAAY,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA,CAAC,CAAC;IAC5C,KAAK,CAAC,OAAY,IAAI,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA,CAAC,CAAC;CAEtD"}
|