我最近用discord在node.js做了一个冷却不和谐bot。JS库,因为它我想使用新的不和谐。JS v13能够做斜线命令。结果我的循环出现了错误
DiscordAPIError: Invalid Webhook Token
我在交互中得到一个editReply错误。
这是完整的错误
C:\Users\Administrator\Desktop\Discord Lab Countdown brokers\node_modules\discord.js\src\rest\RequestHandler.js:298
throw new DiscordAPIError(data, res.status, request);
^
DiscordAPIError: Invalid Webhook Token
at RequestHandler.execute (C:\Users\Administrator\Desktop\Discord Lab Countdown brokers\node_modules\discord.js\src\rest\RequestHandler.js:298:13)
at processTicksAndRejections (node:internal/process/task_queues:96:5)
at async RequestHandler.push (C:\Users\Administrator\Desktop\Discord Lab Countdown brokers\node_modules\discord.js\src\rest\RequestHandler.js:50:14)
at async InteractionWebhook.editMessage (C:\Users\Administrator\Desktop\Discord Lab Countdown brokers\node_modules\discord.js\src\structures\Webhook.js:268:15)
at async CommandInteraction.editReply (C:\Users\Administrator\Desktop\Discord Lab Countdown brokers\node_modules\discord.js\src\structures\interfaces\InteractionResponses.js:139:21)
at async Timeout._onTimeout (C:\Users\Administrator\Desktop\Discord Lab Countdown brokers\commands\command.js:45:21) {
该命令工作正常,但机器人在15分钟后崩溃。我听说代币会在15分钟后过期??但是我不知道这是不是真的,如果是真的,如何在循环运行时重新生成它?
下面是命令代码:
client.on('interactionCreate', async interaction => {
// ...
if (interaction.commandName === 'command') {
// ...
try {
// ...
let time = 60;
let current = 0;
await interaction.reply({embeds: [myembed]});
// ...
let interval = setInterval(async () => {
current++;
await interaction.editReply({embeds: [newembed]});
if(current == time)
{
// ...
await interaction.editReply({embeds: [newembed], components: [button_row]}); <--- error points here
clearInterval(interval);
}
}, 60000);
} catch(err) {
await interaction.reply({embeds: [error]});
}
}
});
我真的需要帮助,因为我在互联网上找不到任何关于它的东西,
非常感谢:D
编辑:我注意到在不和谐.js文档中,斜杠命令不能在15分钟后过期,所以我只是推迟了命令的回复,并使用正常消息代替了交互.channel.send()
您需要使用< code > MessageComponentInteraction # defer preply()方法来回复等待履行promise的交互,这是因为如果在< code>3000毫秒(即3秒)内没有任何操作,则任何交互都会因不一致而无效,如果您继续执行该操作,您的代码将类似于以下内容:
try {
// ...
let time = 60;
let current = 0;
await interaction.deferReply()
await interaction.editReply({embeds: [myembed]});
// ...
let interval = setInterval(async () => {
current++;
await interaction.editReply({embeds: [newembed]});
if(current == time)
{
// ...
await interaction.editReply({embeds: [newembed], components: [button_row]}); <--- error points here
clearInterval(interval);
}
}, 60000);
} catch(err) {
await interaction.reply({embeds: [error]});
}
}
最近,我开始研究一个不和谐的机器人,并添加了斜杠命令。 这是我的interactionHandler.js 有没有办法删除命令,因为我找不到方法。我想得到命令的ID,但是我不知道怎么做。感谢所有的帮助者:)Discord.js v13
问题内容: 我正在尝试将AngularJS 与结合使用。但是,当我设置哈希时,AngularJS在其后添加一个正斜杠。 例如,网址为:。当我不包括AngularJS库时,我可以单击链接,然后转到。 但是,当我包含AngularJS并单击链接时,它将导致$ anchorScroll无法工作。 编辑$ anchorScroll不起作用 起始URL是。当我添加类别时,它应该转到(其中id是新ID)并向下
我正在使用discord.js和WOKCommands来使用斜杠命令,但是当在discord中输入时,它给我一个错误“无效的交互应用程序命令” 下面是该命令的代码: 仅当我也需要显示主脚本的代码时,该命令的代码才是命令的代码。我会这样做的。
本文向大家介绍Python中的左斜杠、右斜杠(正斜杠和反斜杠),包括了Python中的左斜杠、右斜杠(正斜杠和反斜杠)的使用技巧和注意事项,需要的朋友参考一下 首先,"/"左倾斜是正斜杠,"\"右倾斜是反斜杠,可以记为:除号是正斜杠一般来说对于目录分隔符,Unix和Web用正斜杠/,Windows用反斜杠,但是现在Windows (一)目录中的斜杠们 python读文件需要输入的目录参数,列出以下
我有一个小型的不和谐机器人,我3年前在Typescript中制作,并出现在80多个公会中,我最近决定将其从不更新为,同时添加著名的斜杠命令。 但是当我用discord.js的< code > routes . applicationguildcommands 例程在我的“ready”事件中注册它们时,当我映射到我的机器人所在的每个公会时,methode < code > routes . appl
我正在编写一个具有音乐支持的多功能不和谐机器人,需要在这个单一功能方面的帮助。 有一个play命令,它发送包含音乐信息的嵌入消息,当执行stop命令时,它必须编辑play命令发送的嵌入内容。 这是我的代码的最小化版本(仅作为示例): 在这种情况下,“.editReply”只是在停止命令之后发送新的嵌入。这可能比我想象的要容易得多,我知道我需要获得“播放”交互来编辑该交互发送的特定回复,无论是通过W