@spyglassmc/discord-bot 0.3.7 → 0.3.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +21 -64
- package/lib/index.js.map +1 -1
- package/package.json +5 -5
- package/src/index.ts +50 -123
package/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AA0BA,MAAM,CAAC,OAAO,CAAC,MAAM,SAAS,EAAE,SAAS,CAAA"}
|
package/lib/index.js
CHANGED
|
@@ -5,7 +5,7 @@ import { NodeJsExternals } from '@spyglassmc/core/lib/nodejs.js';
|
|
|
5
5
|
import * as je from '@spyglassmc/java-edition';
|
|
6
6
|
import * as mcdoc from '@spyglassmc/mcdoc';
|
|
7
7
|
import { Routes } from 'discord-api-types/rest/v9';
|
|
8
|
-
import { Client, Intents, MessageActionRow, MessageButton, MessageEmbed
|
|
8
|
+
import { Client, Intents, MessageActionRow, MessageButton, MessageEmbed } from 'discord.js';
|
|
9
9
|
import { dirname, join } from 'path';
|
|
10
10
|
import { fileURLToPath, pathToFileURL } from 'url';
|
|
11
11
|
const MaxContentLength = 2000;
|
|
@@ -20,17 +20,13 @@ console.log(`cacheRoot = ${cacheRoot}`);
|
|
|
20
20
|
console.log(`projectPath = ${projectPath}`);
|
|
21
21
|
const config = await loadConfig();
|
|
22
22
|
const rest = new REST({ version: '9' }).setToken(config.token);
|
|
23
|
-
const client = new Client({
|
|
24
|
-
intents: [Intents.FLAGS.GUILDS],
|
|
25
|
-
});
|
|
23
|
+
const client = new Client({ intents: [Intents.FLAGS.GUILDS] });
|
|
26
24
|
const service = new Service({
|
|
27
25
|
logger: console,
|
|
28
26
|
profilers,
|
|
29
27
|
project: {
|
|
30
28
|
cacheRoot: fileUtil.ensureEndingSlash(pathToFileURL(cacheRoot).toString()),
|
|
31
|
-
defaultConfig: ConfigService.merge(VanillaConfig, {
|
|
32
|
-
env: { dependencies: [] },
|
|
33
|
-
}),
|
|
29
|
+
defaultConfig: ConfigService.merge(VanillaConfig, { env: { dependencies: [] } }),
|
|
34
30
|
externals: NodeJsExternals,
|
|
35
31
|
initializers: [mcdoc.initialize, je.initialize],
|
|
36
32
|
projectRoot: fileUtil.ensureEndingSlash(pathToFileURL(projectPath).toString()),
|
|
@@ -44,9 +40,7 @@ client.on('interactionCreate', async (i) => {
|
|
|
44
40
|
const info = activeInteractions.get(i.message.id);
|
|
45
41
|
if (!info) {
|
|
46
42
|
await i.update({
|
|
47
|
-
embeds: [
|
|
48
|
-
new MessageEmbed().setDescription('The interaction has expired!'),
|
|
49
|
-
],
|
|
43
|
+
embeds: [new MessageEmbed().setDescription('The interaction has expired!')],
|
|
50
44
|
components: [],
|
|
51
45
|
});
|
|
52
46
|
return;
|
|
@@ -95,9 +89,9 @@ __profiler.task('Register Commands').finalize();
|
|
|
95
89
|
async function loadConfig() {
|
|
96
90
|
const path = join(parentPath, 'config.json');
|
|
97
91
|
const config = (await fileUtil.readJson(NodeJsExternals, path));
|
|
98
|
-
if (!(typeof config.clientId === 'string'
|
|
99
|
-
typeof config.guildId === 'string'
|
|
100
|
-
typeof config.token === 'string')) {
|
|
92
|
+
if (!(typeof config.clientId === 'string'
|
|
93
|
+
&& typeof config.guildId === 'string'
|
|
94
|
+
&& typeof config.token === 'string')) {
|
|
101
95
|
throw new Error(`Bad config: ${JSON.stringify(config)}`);
|
|
102
96
|
}
|
|
103
97
|
return config;
|
|
@@ -106,23 +100,11 @@ async function loadConfig() {
|
|
|
106
100
|
* @throws
|
|
107
101
|
*/
|
|
108
102
|
async function registerCommands() {
|
|
109
|
-
const pingCommand = new SlashCommandBuilder()
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
.setName('spy')
|
|
115
|
-
.setDescription('Renders a mcfunction command. Error reporting coming soon™')
|
|
116
|
-
.addStringOption(new SlashCommandStringOption()
|
|
117
|
-
.setName('command')
|
|
118
|
-
.setDescription('Put a single mcfunction command here')
|
|
119
|
-
.setRequired(true))
|
|
120
|
-
.addBooleanOption(new SlashCommandBooleanOption()
|
|
121
|
-
.setName('showraw')
|
|
122
|
-
.setDescription('Whether to show the result ANSI code in raw code blocks')
|
|
123
|
-
.setRequired(false))
|
|
124
|
-
.toJSON();
|
|
125
|
-
return rest.put(Routes.applicationGuildCommands(config.clientId, config.guildId), { body: [pingCommand, spyCommand] });
|
|
103
|
+
const pingCommand = new SlashCommandBuilder().setName('ping').setDescription('Ping the Spyglass Bot').toJSON();
|
|
104
|
+
const spyCommand = new SlashCommandBuilder().setName('spy').setDescription('Renders a mcfunction command. Error reporting coming soon™').addStringOption(new SlashCommandStringOption().setName('command').setDescription('Put a single mcfunction command here').setRequired(true)).addBooleanOption(new SlashCommandBooleanOption().setName('showraw').setDescription('Whether to show the result ANSI code in raw code blocks').setRequired(false)).toJSON();
|
|
105
|
+
return rest.put(Routes.applicationGuildCommands(config.clientId, config.guildId), {
|
|
106
|
+
body: [pingCommand, spyCommand],
|
|
107
|
+
});
|
|
126
108
|
}
|
|
127
109
|
async function getInteractionInfo(content, showRaw) {
|
|
128
110
|
if (activeInteractions.has(content)) {
|
|
@@ -138,13 +120,7 @@ async function getInteractionInfo(content, showRaw) {
|
|
|
138
120
|
const errors = FileNode.getErrors(node);
|
|
139
121
|
const tokens = service.colorize(node, doc);
|
|
140
122
|
const activeErrorIndex = errors.length ? 0 : -1;
|
|
141
|
-
return {
|
|
142
|
-
content,
|
|
143
|
-
errors,
|
|
144
|
-
activeErrorIndex,
|
|
145
|
-
tokens,
|
|
146
|
-
showRaw,
|
|
147
|
-
};
|
|
123
|
+
return { content, errors, activeErrorIndex, tokens, showRaw };
|
|
148
124
|
}
|
|
149
125
|
function getReplyOptions(info) {
|
|
150
126
|
const content = getReplyContent(info);
|
|
@@ -153,17 +129,8 @@ function getReplyOptions(info) {
|
|
|
153
129
|
? `Skipped colorizing due to Discord length limit.\n\`\`\`\n${info.content}\n\`\`\``
|
|
154
130
|
: content,
|
|
155
131
|
components: info.errors.length > 1
|
|
156
|
-
? [
|
|
157
|
-
|
|
158
|
-
.setCustomId('previous')
|
|
159
|
-
.setLabel('Previous Error')
|
|
160
|
-
.setStyle('PRIMARY')
|
|
161
|
-
.setDisabled(info.activeErrorIndex <= 0), new MessageButton()
|
|
162
|
-
.setCustomId('next')
|
|
163
|
-
.setLabel('Next Error')
|
|
164
|
-
.setStyle('PRIMARY')
|
|
165
|
-
.setDisabled(info.activeErrorIndex >= info.errors.length - 1)),
|
|
166
|
-
]
|
|
132
|
+
? [new MessageActionRow().addComponents(new MessageButton().setCustomId('previous').setLabel('Previous Error').setStyle('PRIMARY').setDisabled(info.activeErrorIndex <= 0), new MessageButton().setCustomId('next').setLabel('Next Error').setStyle('PRIMARY')
|
|
133
|
+
.setDisabled(info.activeErrorIndex >= info.errors.length - 1))]
|
|
167
134
|
: [],
|
|
168
135
|
fetchReply: true,
|
|
169
136
|
};
|
|
@@ -210,7 +177,7 @@ function getReplyContent(info) {
|
|
|
210
177
|
/**
|
|
211
178
|
* @returns Unsorted tokens.
|
|
212
179
|
*/
|
|
213
|
-
function toRenderTokens({ tokens, errors, activeErrorIndex
|
|
180
|
+
function toRenderTokens({ tokens, errors, activeErrorIndex }) {
|
|
214
181
|
const ans = tokens.map((t) => ({
|
|
215
182
|
formats: ColorTokenTypeLegend[t.type],
|
|
216
183
|
range: t.range,
|
|
@@ -226,14 +193,9 @@ function toRenderTokens({ tokens, errors, activeErrorIndex, }) {
|
|
|
226
193
|
}
|
|
227
194
|
function getAnsiCode(content, tokens) {
|
|
228
195
|
let ans = toAnsiEscapeCode(['reset']);
|
|
229
|
-
tokens = tokens
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
range: { start: t.range.start, end: t.range.start + 1 },
|
|
233
|
-
formats: t.formats,
|
|
234
|
-
}
|
|
235
|
-
: t)
|
|
236
|
-
.sort((a, b) => a.range.start - b.range.start);
|
|
196
|
+
tokens = tokens.map((t) => t.range.end - t.range.start === 0
|
|
197
|
+
? { range: { start: t.range.start, end: t.range.start + 1 }, formats: t.formats }
|
|
198
|
+
: t).sort((a, b) => a.range.start - b.range.start);
|
|
237
199
|
for (let i = 0; i < tokens.length - 1; i++) {
|
|
238
200
|
const current = tokens[i];
|
|
239
201
|
const next = tokens[i + 1];
|
|
@@ -251,16 +213,11 @@ function getAnsiCode(content, tokens) {
|
|
|
251
213
|
}
|
|
252
214
|
insertedTokens.push({
|
|
253
215
|
formats: new Set([...current.formats, ...next.formats]),
|
|
254
|
-
range: {
|
|
255
|
-
start: next.range.start,
|
|
256
|
-
end: Math.min(current.range.end, next.range.end),
|
|
257
|
-
},
|
|
216
|
+
range: { start: next.range.start, end: Math.min(current.range.end, next.range.end) },
|
|
258
217
|
});
|
|
259
218
|
if (current.range.end !== next.range.end) {
|
|
260
219
|
insertedTokens.push({
|
|
261
|
-
formats: current.range.end < next.range.end
|
|
262
|
-
? next.formats
|
|
263
|
-
: current.formats,
|
|
220
|
+
formats: current.range.end < next.range.end ? next.formats : current.formats,
|
|
264
221
|
range: {
|
|
265
222
|
start: Math.min(current.range.end, next.range.end),
|
|
266
223
|
end: Math.max(current.range.end, next.range.end),
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,yBAAyB,EACzB,mBAAmB,EACnB,wBAAwB,GACxB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AAEtC,OAAO,EACN,aAAa,EAEb,QAAQ,EACR,QAAQ,EACR,eAAe,EACf,KAAK,EACL,OAAO,EACP,aAAa,GACb,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAA;AAChE,OAAO,KAAK,EAAE,MAAM,0BAA0B,CAAA;AAC9C,OAAO,KAAK,KAAK,MAAM,mBAAmB,CAAA;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AAElD,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAC3F,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AACpC,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,KAAK,CAAA;AAGlD,MAAM,gBAAgB,GAAG,IAAI,CAAA;AAE7B,MAAM,UAAU,GAAG,qBAAqB,CAAA;AACxC,MAAM,SAAS,GAAG,IAAI,eAAe,CAAC,OAAO,EAAE,CAAC,UAAU,CAAC,CAAC,CAAA;AAC5D,MAAM,UAAU,GAAG,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;AAE5C,MAAM,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;AAC1D,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;AAC3C,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,CAAA;AACpD,MAAM,QAAQ,CAAC,SAAS,CAAC,eAAe,EAAE,WAAW,CAAC,CAAA;AACtD,OAAO,CAAC,GAAG,CAAC,eAAe,SAAS,EAAE,CAAC,CAAA;AACvC,OAAO,CAAC,GAAG,CAAC,iBAAiB,WAAW,EAAE,CAAC,CAAA;AAE3C,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAA;AACjC,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AAC9D,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;AAC9D,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC;IAC3B,MAAM,EAAE,OAAO;IACf,SAAS;IACT,OAAO,EAAE;QACR,SAAS,EAAE,QAAQ,CAAC,iBAAiB,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC1E,aAAa,EAAE,aAAa,CAAC,KAAK,CAAC,aAAa,EAAE,EAAE,GAAG,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE,CAAC;QAChF,SAAS,EAAE,eAAe;QAC1B,YAAY,EAAE,CAAC,KAAK,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC;QAC/C,WAAW,EAAE,QAAQ,CAAC,iBAAiB,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,CAAC;KAC9E;CACD,CAAC,CAAA;AACF,MAAM,WAAW,GAAG,0CAA0C,CAAA;AAS9D,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAA8B,CAAA;AAEhE,MAAM,CAAC,EAAE,CAAC,mBAAmB,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IAC1C,IAAI,CAAC;QACJ,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC;YAClB,MAAM,IAAI,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;YACjD,IAAI,CAAC,IAAI,EAAE,CAAC;gBACX,MAAM,CAAC,CAAC,MAAM,CAAC;oBACd,MAAM,EAAE,CAAC,IAAI,YAAY,EAAE,CAAC,cAAc,CAAC,8BAA8B,CAAC,CAAC;oBAC3E,UAAU,EAAE,EAAE;iBACd,CAAC,CAAA;gBACF,OAAM;YACP,CAAC;YAED,IAAI,CAAC,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;gBAC/B,IAAI,CAAC,gBAAgB,EAAE,CAAA;YACxB,CAAC;iBAAM,IAAI,CAAC,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;gBAClC,IAAI,CAAC,gBAAgB,EAAE,CAAA;YACxB,CAAC;YACD,MAAM,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAA;QACtC,CAAC;aAAM,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC;YAC1B,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;gBACvB,KAAK,MAAM;oBACV,MAAM,CAAC,CAAC,KAAK,CAAC;wBACb,OAAO,EAAE,6BAA6B,MAAM,CAAC,EAAE,CAAC,IAAI,KAAK;wBACzD,SAAS,EAAE,IAAI;qBACf,CAAC,CAAA;oBACF,MAAK;gBACN,KAAK,KAAK;oBACT,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;oBACpD,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,KAAK,CAAA;oBAC/D,MAAM,IAAI,GAAG,MAAM,kBAAkB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;oBACvD,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAA;oBAClD,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;oBACtC,MAAK;YACP,CAAC;QACF,CAAC;IACF,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACZ,OAAO,CAAC,KAAK,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAA;IACxC,CAAC;AACF,CAAC,CAAC,CAAA;AAEF,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,CAAA;AAC7B,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;AAChC,MAAM,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,CAAA;AACzC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;AAC7B,MAAM,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AAChC,UAAU,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAA;AACpC,MAAM,gBAAgB,EAAE,CAAA;AACxB,UAAU,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,QAAQ,EAAE,CAAA;AAQ/C;;GAEG;AACH,KAAK,UAAU,UAAU;IACxB,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAA;IAC5C,MAAM,MAAM,GAAG,CAAC,MAAM,QAAQ,CAAC,QAAQ,CAAC,eAAe,EAAE,IAAI,CAAC,CAAW,CAAA;IACzE,IACC,CAAC,CAAC,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ;WACjC,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ;WAClC,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,CAAC,EACpC,CAAC;QACF,MAAM,IAAI,KAAK,CAAC,eAAe,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IACzD,CAAC;IACD,OAAO,MAAM,CAAA;AACd,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,gBAAgB;IAC9B,MAAM,WAAW,GAAG,IAAI,mBAAmB,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,cAAc,CAC3E,uBAAuB,CACvB,CAAC,MAAM,EAAE,CAAA;IACV,MAAM,UAAU,GAAG,IAAI,mBAAmB,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,cAAc,CACzE,4DAA4D,CAC5D,CAAC,eAAe,CAChB,IAAI,wBAAwB,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,cAAc,CAC/D,sCAAsC,CACtC,CAAC,WAAW,CAAC,IAAI,CAAC,CACnB,CAAC,gBAAgB,CACjB,IAAI,yBAAyB,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,cAAc,CAChE,yDAAyD,CACzD,CAAC,WAAW,CAAC,KAAK,CAAC,CACpB,CAAC,MAAM,EAAE,CAAA;IAEV,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,wBAAwB,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE;QACjF,IAAI,EAAE,CAAC,WAAW,EAAE,UAAU,CAAC;KAC/B,CAAC,CAAA;AACH,CAAC;AAED,KAAK,UAAU,kBAAkB,CAAC,OAAe,EAAE,OAAgB;IAClE,IAAI,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QACrC,OAAO,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAE,CAAA;IACxC,CAAC;IAED,MAAM,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,WAAW,EAAE,YAAY,EAAE,CAAC,EAAE,OAAO,CAAC,CAAA;IACtE,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,0BAA0B,CAAC,WAAW,CAAC,CAAA;IAChF,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,CAAA;IACvC,IAAI,CAAC,UAAU,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC3C,CAAC;IAED,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,UAAU,CAAA;IAChC,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;IACvC,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;IAC1C,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAE/C,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,OAAO,EAAE,CAAA;AAC9D,CAAC;AAED,SAAS,eAAe,CACvB,IAAqB;IAErB,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,CAAC,CAAA;IACrC,OAAO;QACN,OAAO,EAAE,OAAO,CAAC,MAAM,GAAG,gBAAgB;YACzC,CAAC,CAAC,4DAA4D,IAAI,CAAC,OAAO,UAAU;YACpF,CAAC,CAAC,OAAO;QACV,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;YACjC,CAAC,CAAC,CAAC,IAAI,gBAAgB,EAAE,CAAC,aAAa,CACtC,IAAI,aAAa,EAAE,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAC9E,SAAS,CACT,CAAC,WAAW,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,CAAC,EACzC,IAAI,aAAa,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC;qBAChF,WAAW,CAAC,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAC9D,CAAC;YACF,CAAC,CAAC,EAAE;QACL,UAAU,EAAE,IAAI;KAChB,CAAA;AACF,CAAC;AAiBD,MAAM,WAAW,GAAiC;IACjD,iBAAiB,EAAE,EAAE;IACrB,eAAe,EAAE,EAAE;IACnB,eAAe,EAAE,EAAE;IACnB,gBAAgB,EAAE,EAAE;IACpB,eAAe,EAAE,EAAE;IACnB,cAAc,EAAE,EAAE;IAClB,gBAAgB,EAAE,EAAE;IACpB,iBAAiB,EAAE,EAAE;IACrB,KAAK,EAAE,CAAC;IACR,SAAS,EAAE,CAAC;CACZ,CAAA;AAED,MAAM,oBAAoB,GAA8C;IACvE,OAAO,EAAE,IAAI,GAAG,CAAC,CAAC,kBAAkB,CAAC,CAAC;IACtC,IAAI,EAAE,IAAI,GAAG,CAAC,CAAC,kBAAkB,CAAC,CAAC;IACnC,UAAU,EAAE,IAAI,GAAG,CAAC,CAAC,kBAAkB,CAAC,CAAC;IACzC,KAAK,EAAE,IAAI,GAAG,CAAC,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAC;IAC/C,QAAQ,EAAE,IAAI,GAAG,CAAC,CAAC,mBAAmB,CAAC,CAAC;IACxC,OAAO,EAAE,IAAI,GAAG,CAAC,CAAC,iBAAiB,CAAC,CAAC;IACrC,OAAO,EAAE,IAAI,GAAG,CAAC,CAAC,iBAAiB,CAAC,CAAC;IACrC,QAAQ,EAAE,IAAI,GAAG,CAAC,CAAC,iBAAiB,CAAC,CAAC;IACtC,MAAM,EAAE,IAAI,GAAG,CAAC,CAAC,kBAAkB,CAAC,CAAC;IACrC,QAAQ,EAAE,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC;IAC5B,QAAQ,EAAE,IAAI,GAAG,CAAC,CAAC,iBAAiB,CAAC,CAAC;IACtC,gBAAgB,EAAE,IAAI,GAAG,CAAC,CAAC,mBAAmB,CAAC,CAAC;IAChD,MAAM,EAAE,IAAI,GAAG,CAAC,CAAC,kBAAkB,CAAC,CAAC;IACrC,MAAM,EAAE,IAAI,GAAG,CAAC,CAAC,kBAAkB,CAAC,CAAC;IACrC,IAAI,EAAE,IAAI,GAAG,CAAC,CAAC,kBAAkB,CAAC,CAAC;IACnC,MAAM,EAAE,IAAI,GAAG,CAAC,CAAC,kBAAkB,EAAE,WAAW,CAAC,CAAC;IAClD,QAAQ,EAAE,IAAI,GAAG,CAAC,CAAC,kBAAkB,CAAC,CAAC;CACvC,CAAA;AAED,SAAS,eAAe,CAAC,IAAqB;IAC7C,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAA;IAC1D,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC,CAAA;IAE3D,MAAM,WAAW,GAA8B,MAAM,CAAC,gBAAgB,CAAC,CAAA;IAEvE,OAAO,SAAS,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,WACtD,WAAW;QACV,CAAC,CAAC,OAAO,mBAAmB,CAAC,WAAW,CAAC,QAAQ,CAAC,IACjD,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CACjC,IAAI,WAAW,CAAC,OAAO,IAAI;QAC3B,CAAC,CAAC,EACJ,EAAE,CAAA;AACH,CAAC;AAED;;GAEG;AACH,SAAS,cAAc,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAmB;IAC5E,MAAM,GAAG,GAAkB,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC7C,OAAO,EAAE,oBAAoB,CAAC,CAAC,CAAC,IAAI,CAAC;QACrC,KAAK,EAAE,CAAC,CAAC,KAAK;KACd,CAAC,CAAC,CAAA;IACH,MAAM,WAAW,GAA8B,MAAM,CAAC,gBAAgB,CAAC,CAAA;IACvE,IAAI,WAAW,EAAE,CAAC;QACjB,GAAG,CAAC,IAAI,CAAC;YACR,OAAO,EAAE,IAAI,GAAG,CAAC,CAAC,mBAAmB,EAAE,kBAAkB,CAAC,CAAC;YAC3D,KAAK,EAAE,WAAW,CAAC,KAAK;SACxB,CAAC,CAAA;IACH,CAAC;IACD,OAAO,GAAG,CAAA;AACX,CAAC;AAED,SAAS,WAAW,CAAC,OAAe,EAAE,MAAqB;IAC1D,IAAI,GAAG,GAAW,gBAAgB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAA;IAC7C,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACzB,CAAC,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC;QAChC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;QACjF,CAAC,CAAC,CAAC,CACJ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IAE/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5C,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;QACzB,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;QAE1B,mCAAmC;QACnC,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;YAC1C,sFAAsF;YACtF,wFAAwF;YACxF,wFAAwF;YACxF,MAAM,cAAc,GAAkB,EAAE,CAAA;YACxC,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;gBAC5C,cAAc,CAAC,IAAI,CAAC;oBACnB,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE;iBAC7D,CAAC,CAAA;YACH,CAAC;YACD,cAAc,CAAC,IAAI,CAAC;gBACnB,OAAO,EAAE,IAAI,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;gBACvD,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;aACpF,CAAC,CAAA;YACF,IAAI,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;gBAC1C,cAAc,CAAC,IAAI,CAAC;oBACnB,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO;oBAC5E,KAAK,EAAE;wBACN,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;wBAClD,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;qBAChD;iBACD,CAAC,CAAA;YACH,CAAC;YACD,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,cAAc,CAAC,CAAA;QACvC,CAAC;IACF,CAAC;IAED,IAAI,UAAU,GAAG,CAAC,CAAA;IAClB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC5B,GAAG,IAAI,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QACnD,GAAG,IAAI,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QACtC,GAAG,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QACxD,GAAG,IAAI,gBAAgB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAA;QAClC,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAA;IAC7B,CAAC;IACD,GAAG,IAAI,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;IAChC,OAAO,GAAG,CAAA;AACX,CAAC;AAED,SAAS,gBAAgB,CAAC,OAA+B;IACxD,OAAO,UAAU,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAA;AACtE,CAAC;AAED,SAAS,mBAAmB,CAAC,QAAuB;IACnD,QAAQ,QAAQ,EAAE,CAAC;QAClB;YACC,OAAO,GAAG,CAAA;QACX;YACC,OAAO,GAAG,CAAA;QACX;YACC,OAAO,GAAG,CAAA;QACX;YACC,OAAO,GAAG,CAAA;IACZ,CAAC;AACF,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@spyglassmc/discord-bot",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.9",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"types": "lib/index.d.ts",
|
|
@@ -13,10 +13,10 @@
|
|
|
13
13
|
"@discordjs/rest": "^0.4.1",
|
|
14
14
|
"discord.js": "^13.7.0",
|
|
15
15
|
"discord-api-types": "^0.33.1",
|
|
16
|
-
"@spyglassmc/core": "0.4.
|
|
17
|
-
"@spyglassmc/java-edition": "0.3.
|
|
18
|
-
"@spyglassmc/locales": "0.3.
|
|
19
|
-
"@spyglassmc/mcdoc": "0.3.
|
|
16
|
+
"@spyglassmc/core": "0.4.6",
|
|
17
|
+
"@spyglassmc/java-edition": "0.3.9",
|
|
18
|
+
"@spyglassmc/locales": "0.3.6",
|
|
19
|
+
"@spyglassmc/mcdoc": "0.3.9"
|
|
20
20
|
},
|
|
21
21
|
"devDependencies": {},
|
|
22
22
|
"scripts": {
|
package/src/index.ts
CHANGED
|
@@ -4,11 +4,7 @@ import {
|
|
|
4
4
|
SlashCommandStringOption,
|
|
5
5
|
} from '@discordjs/builders'
|
|
6
6
|
import { REST } from '@discordjs/rest'
|
|
7
|
-
import type {
|
|
8
|
-
ColorToken,
|
|
9
|
-
ColorTokenType,
|
|
10
|
-
LanguageError,
|
|
11
|
-
} from '@spyglassmc/core'
|
|
7
|
+
import type { ColorToken, ColorTokenType, LanguageError } from '@spyglassmc/core'
|
|
12
8
|
import {
|
|
13
9
|
ConfigService,
|
|
14
10
|
ErrorSeverity,
|
|
@@ -24,13 +20,7 @@ import * as je from '@spyglassmc/java-edition'
|
|
|
24
20
|
import * as mcdoc from '@spyglassmc/mcdoc'
|
|
25
21
|
import { Routes } from 'discord-api-types/rest/v9'
|
|
26
22
|
import type { Snowflake } from 'discord.js'
|
|
27
|
-
import {
|
|
28
|
-
Client,
|
|
29
|
-
Intents,
|
|
30
|
-
MessageActionRow,
|
|
31
|
-
MessageButton,
|
|
32
|
-
MessageEmbed,
|
|
33
|
-
} from 'discord.js'
|
|
23
|
+
import { Client, Intents, MessageActionRow, MessageButton, MessageEmbed } from 'discord.js'
|
|
34
24
|
import { dirname, join } from 'path'
|
|
35
25
|
import { fileURLToPath, pathToFileURL } from 'url'
|
|
36
26
|
|
|
@@ -50,24 +40,16 @@ console.log(`projectPath = ${projectPath}`)
|
|
|
50
40
|
|
|
51
41
|
const config = await loadConfig()
|
|
52
42
|
const rest = new REST({ version: '9' }).setToken(config.token)
|
|
53
|
-
const client = new Client({
|
|
54
|
-
intents: [Intents.FLAGS.GUILDS],
|
|
55
|
-
})
|
|
43
|
+
const client = new Client({ intents: [Intents.FLAGS.GUILDS] })
|
|
56
44
|
const service = new Service({
|
|
57
45
|
logger: console,
|
|
58
46
|
profilers,
|
|
59
47
|
project: {
|
|
60
|
-
cacheRoot: fileUtil.ensureEndingSlash(
|
|
61
|
-
|
|
62
|
-
),
|
|
63
|
-
defaultConfig: ConfigService.merge(VanillaConfig, {
|
|
64
|
-
env: { dependencies: [] },
|
|
65
|
-
}),
|
|
48
|
+
cacheRoot: fileUtil.ensureEndingSlash(pathToFileURL(cacheRoot).toString()),
|
|
49
|
+
defaultConfig: ConfigService.merge(VanillaConfig, { env: { dependencies: [] } }),
|
|
66
50
|
externals: NodeJsExternals,
|
|
67
51
|
initializers: [mcdoc.initialize, je.initialize],
|
|
68
|
-
projectRoot: fileUtil.ensureEndingSlash(
|
|
69
|
-
pathToFileURL(projectPath).toString(),
|
|
70
|
-
),
|
|
52
|
+
projectRoot: fileUtil.ensureEndingSlash(pathToFileURL(projectPath).toString()),
|
|
71
53
|
},
|
|
72
54
|
})
|
|
73
55
|
const DocumentUri = 'spyglassmc://discord-bot/file.mcfunction'
|
|
@@ -87,11 +69,7 @@ client.on('interactionCreate', async (i) => {
|
|
|
87
69
|
const info = activeInteractions.get(i.message.id)
|
|
88
70
|
if (!info) {
|
|
89
71
|
await i.update({
|
|
90
|
-
embeds: [
|
|
91
|
-
new MessageEmbed().setDescription(
|
|
92
|
-
'The interaction has expired!',
|
|
93
|
-
),
|
|
94
|
-
],
|
|
72
|
+
embeds: [new MessageEmbed().setDescription('The interaction has expired!')],
|
|
95
73
|
components: [],
|
|
96
74
|
})
|
|
97
75
|
return
|
|
@@ -147,11 +125,9 @@ async function loadConfig(): Promise<Config> {
|
|
|
147
125
|
const path = join(parentPath, 'config.json')
|
|
148
126
|
const config = (await fileUtil.readJson(NodeJsExternals, path)) as Config
|
|
149
127
|
if (
|
|
150
|
-
!(
|
|
151
|
-
typeof config.
|
|
152
|
-
typeof config.
|
|
153
|
-
typeof config.token === 'string'
|
|
154
|
-
)
|
|
128
|
+
!(typeof config.clientId === 'string'
|
|
129
|
+
&& typeof config.guildId === 'string'
|
|
130
|
+
&& typeof config.token === 'string')
|
|
155
131
|
) {
|
|
156
132
|
throw new Error(`Bad config: ${JSON.stringify(config)}`)
|
|
157
133
|
}
|
|
@@ -162,49 +138,33 @@ async function loadConfig(): Promise<Config> {
|
|
|
162
138
|
* @throws
|
|
163
139
|
*/
|
|
164
140
|
async function registerCommands(): Promise<unknown> {
|
|
165
|
-
const pingCommand = new SlashCommandBuilder()
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
.setDescription(
|
|
172
|
-
'
|
|
173
|
-
)
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
)
|
|
180
|
-
.addBooleanOption(
|
|
181
|
-
new SlashCommandBooleanOption()
|
|
182
|
-
.setName('showraw')
|
|
183
|
-
.setDescription(
|
|
184
|
-
'Whether to show the result ANSI code in raw code blocks',
|
|
185
|
-
)
|
|
186
|
-
.setRequired(false),
|
|
187
|
-
)
|
|
188
|
-
.toJSON()
|
|
141
|
+
const pingCommand = new SlashCommandBuilder().setName('ping').setDescription(
|
|
142
|
+
'Ping the Spyglass Bot',
|
|
143
|
+
).toJSON()
|
|
144
|
+
const spyCommand = new SlashCommandBuilder().setName('spy').setDescription(
|
|
145
|
+
'Renders a mcfunction command. Error reporting coming soon™',
|
|
146
|
+
).addStringOption(
|
|
147
|
+
new SlashCommandStringOption().setName('command').setDescription(
|
|
148
|
+
'Put a single mcfunction command here',
|
|
149
|
+
).setRequired(true),
|
|
150
|
+
).addBooleanOption(
|
|
151
|
+
new SlashCommandBooleanOption().setName('showraw').setDescription(
|
|
152
|
+
'Whether to show the result ANSI code in raw code blocks',
|
|
153
|
+
).setRequired(false),
|
|
154
|
+
).toJSON()
|
|
189
155
|
|
|
190
|
-
return rest.put(
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
)
|
|
156
|
+
return rest.put(Routes.applicationGuildCommands(config.clientId, config.guildId), {
|
|
157
|
+
body: [pingCommand, spyCommand],
|
|
158
|
+
})
|
|
194
159
|
}
|
|
195
160
|
|
|
196
|
-
async function getInteractionInfo(
|
|
197
|
-
content: string,
|
|
198
|
-
showRaw: boolean,
|
|
199
|
-
): Promise<InteractionInfo> {
|
|
161
|
+
async function getInteractionInfo(content: string, showRaw: boolean): Promise<InteractionInfo> {
|
|
200
162
|
if (activeInteractions.has(content)) {
|
|
201
163
|
return activeInteractions.get(content)!
|
|
202
164
|
}
|
|
203
165
|
|
|
204
166
|
await service.project.onDidOpen(DocumentUri, 'mcfunction', 0, content)
|
|
205
|
-
const docAndNode = await service.project.ensureClientManagedChecked(
|
|
206
|
-
DocumentUri,
|
|
207
|
-
)
|
|
167
|
+
const docAndNode = await service.project.ensureClientManagedChecked(DocumentUri)
|
|
208
168
|
service.project.onDidClose(DocumentUri)
|
|
209
169
|
if (!docAndNode) {
|
|
210
170
|
throw new Error('docAndNode is undefined')
|
|
@@ -215,40 +175,25 @@ async function getInteractionInfo(
|
|
|
215
175
|
const tokens = service.colorize(node, doc)
|
|
216
176
|
const activeErrorIndex = errors.length ? 0 : -1
|
|
217
177
|
|
|
218
|
-
return {
|
|
219
|
-
content,
|
|
220
|
-
errors,
|
|
221
|
-
activeErrorIndex,
|
|
222
|
-
tokens,
|
|
223
|
-
showRaw,
|
|
224
|
-
}
|
|
178
|
+
return { content, errors, activeErrorIndex, tokens, showRaw }
|
|
225
179
|
}
|
|
226
180
|
|
|
227
|
-
function getReplyOptions(
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
fetchReply: true
|
|
231
|
-
} {
|
|
181
|
+
function getReplyOptions(
|
|
182
|
+
info: InteractionInfo,
|
|
183
|
+
): { content: string; components: MessageActionRow[]; fetchReply: true } {
|
|
232
184
|
const content = getReplyContent(info)
|
|
233
185
|
return {
|
|
234
186
|
content: content.length > MaxContentLength
|
|
235
187
|
? `Skipped colorizing due to Discord length limit.\n\`\`\`\n${info.content}\n\`\`\``
|
|
236
188
|
: content,
|
|
237
189
|
components: info.errors.length > 1
|
|
238
|
-
? [
|
|
239
|
-
new
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
new MessageButton()
|
|
246
|
-
.setCustomId('next')
|
|
247
|
-
.setLabel('Next Error')
|
|
248
|
-
.setStyle('PRIMARY')
|
|
249
|
-
.setDisabled(info.activeErrorIndex >= info.errors.length - 1),
|
|
250
|
-
),
|
|
251
|
-
]
|
|
190
|
+
? [new MessageActionRow().addComponents(
|
|
191
|
+
new MessageButton().setCustomId('previous').setLabel('Previous Error').setStyle(
|
|
192
|
+
'PRIMARY',
|
|
193
|
+
).setDisabled(info.activeErrorIndex <= 0),
|
|
194
|
+
new MessageButton().setCustomId('next').setLabel('Next Error').setStyle('PRIMARY')
|
|
195
|
+
.setDisabled(info.activeErrorIndex >= info.errors.length - 1),
|
|
196
|
+
)]
|
|
252
197
|
: [],
|
|
253
198
|
fetchReply: true,
|
|
254
199
|
}
|
|
@@ -311,9 +256,7 @@ function getReplyContent(info: InteractionInfo): string {
|
|
|
311
256
|
return `\`\`\`${info.showRaw ? '' : 'ansi'}\n${ansiCode}\n\`\`\`${
|
|
312
257
|
activeError
|
|
313
258
|
? `\n\`${errorSeverityToChar(activeError.severity)} ${
|
|
314
|
-
Range.toString(
|
|
315
|
-
activeError.range,
|
|
316
|
-
)
|
|
259
|
+
Range.toString(activeError.range)
|
|
317
260
|
} ${activeError.message}\``
|
|
318
261
|
: ''
|
|
319
262
|
}`
|
|
@@ -322,11 +265,7 @@ function getReplyContent(info: InteractionInfo): string {
|
|
|
322
265
|
/**
|
|
323
266
|
* @returns Unsorted tokens.
|
|
324
267
|
*/
|
|
325
|
-
function toRenderTokens({
|
|
326
|
-
tokens,
|
|
327
|
-
errors,
|
|
328
|
-
activeErrorIndex,
|
|
329
|
-
}: InteractionInfo): RenderToken[] {
|
|
268
|
+
function toRenderTokens({ tokens, errors, activeErrorIndex }: InteractionInfo): RenderToken[] {
|
|
330
269
|
const ans: RenderToken[] = tokens.map((t) => ({
|
|
331
270
|
formats: ColorTokenTypeLegend[t.type],
|
|
332
271
|
range: t.range,
|
|
@@ -343,16 +282,11 @@ function toRenderTokens({
|
|
|
343
282
|
|
|
344
283
|
function getAnsiCode(content: string, tokens: RenderToken[]): string {
|
|
345
284
|
let ans: string = toAnsiEscapeCode(['reset'])
|
|
346
|
-
tokens = tokens
|
|
347
|
-
.
|
|
348
|
-
t.range.end
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
formats: t.formats,
|
|
352
|
-
}
|
|
353
|
-
: t
|
|
354
|
-
)
|
|
355
|
-
.sort((a, b) => a.range.start - b.range.start)
|
|
285
|
+
tokens = tokens.map((t) =>
|
|
286
|
+
t.range.end - t.range.start === 0
|
|
287
|
+
? { range: { start: t.range.start, end: t.range.start + 1 }, formats: t.formats }
|
|
288
|
+
: t
|
|
289
|
+
).sort((a, b) => a.range.start - b.range.start)
|
|
356
290
|
|
|
357
291
|
for (let i = 0; i < tokens.length - 1; i++) {
|
|
358
292
|
const current = tokens[i]
|
|
@@ -372,16 +306,11 @@ function getAnsiCode(content: string, tokens: RenderToken[]): string {
|
|
|
372
306
|
}
|
|
373
307
|
insertedTokens.push({
|
|
374
308
|
formats: new Set([...current.formats, ...next.formats]),
|
|
375
|
-
range: {
|
|
376
|
-
start: next.range.start,
|
|
377
|
-
end: Math.min(current.range.end, next.range.end),
|
|
378
|
-
},
|
|
309
|
+
range: { start: next.range.start, end: Math.min(current.range.end, next.range.end) },
|
|
379
310
|
})
|
|
380
311
|
if (current.range.end !== next.range.end) {
|
|
381
312
|
insertedTokens.push({
|
|
382
|
-
formats: current.range.end < next.range.end
|
|
383
|
-
? next.formats
|
|
384
|
-
: current.formats,
|
|
313
|
+
formats: current.range.end < next.range.end ? next.formats : current.formats,
|
|
385
314
|
range: {
|
|
386
315
|
start: Math.min(current.range.end, next.range.end),
|
|
387
316
|
end: Math.max(current.range.end, next.range.end),
|
|
@@ -404,9 +333,7 @@ function getAnsiCode(content: string, tokens: RenderToken[]): string {
|
|
|
404
333
|
return ans
|
|
405
334
|
}
|
|
406
335
|
|
|
407
|
-
function toAnsiEscapeCode(
|
|
408
|
-
formats: Iterable<RenderFormat>,
|
|
409
|
-
): `\u001b[${string}m` {
|
|
336
|
+
function toAnsiEscapeCode(formats: Iterable<RenderFormat>): `\u001b[${string}m` {
|
|
410
337
|
return `\u001b[${[...formats].map((v) => AnsiCodeMap[v]).join(';')}m`
|
|
411
338
|
}
|
|
412
339
|
|