gpt4 book ai didi

javascript - 斜杠命令 "unknown interaction"

转载 作者:行者123 更新时间:2023-12-05 00:34:11 26 4
gpt4 key购买 nike

这是一个愚蠢的错误(“}”在错误的位置),任何对我升级到 v13 的处理程序感兴趣的人都非常简单,但可以很好地使用它。
https://github.com/Inkeee/Tutorial-Discord-Bot
好吧,我试图了解斜杠命令,同时我根据一些视频和 github 做了一个处理程序,但是在执行斜杠命令时,错误被抛出 x 倍于现有命令的数量。 (有 3 个命令,如果我使用命令控制台会收到 2 个错误)
我想机器人正在尝试执行所有命令,但我不知道它到底是什么,或者为什么!
我的代码:

const { fs, Discord, erros, colors, emojis, database } = require('../../exports.js');

const slash = [];

const arquivos = fs.readdirSync("./src/slash").filter((file) =>
file.endsWith(".js"))

module.exports = async (client) => {

for (const files of arquivos) {

const file = require(`../../slash/${files}`);

slash.push(file);
client.api.applications(client.user.id).commands.post({data: file.data})
}

client.ws.on('INTERACTION_CREATE', async (i) => {

const command = slash.find(cmd => cmd.data.name === i.data.name.toLowerCase())

if(command) command.execute(client, send, i);

})

async function send(interaction, content) {
return client.api.interactions(interaction.id, interaction.token).callback.post({
data: {
type: 4,
data: await msg(interaction, content),
},
});
}


async function msg(i, c) {
const m = await Discord.APIMessage.create(client.channels.resolve(i.channel_id), c)
.resolveData()
.resolveFiles();

return { ...m.data, files: m.files }
}

}

module.exports.help = {
name: "ready",
title: "Comandos slashs"
}
事件处理程序正常,唯一的问题是在发送函数中,在命令中
const { Discord, erros, colors, emojis, database, titles} = require('../exports.js');

module.exports = {
data: {
name: "say",
description: "Faça o bot falar",
options: [{
name: "text",
description: "texto que vai na mensagem",
type: 3,
required: true
}]
},
async execute (client, send, i) {

var args = i.data.options

var texto = args.find(args => args.name.toLowerCase() === "text").value;

await send(i, texto)

}
}
呃:
(node:84) UnhandledPromiseRejectionWarning: DiscordAPIError: Unknown interaction at RequestHandler.execute (/home/runner /Shinobu/node_modules/discord.js/src/rest/R equestHandler.js:154:13) at processTicksAndRejections (internal/ process/task_queues.js:97:5) at async RequestHandler.push ner/Shinobu/node_modules/discord.js/src/res t/RequestHandler.js:39:14) at Object.execute (/home/runner/S hinobu/src/slash/say.js:20:5) ```

最佳答案

当您使用斜杠命令时,您有 3 秒的响应时间。
要使用最新的 discordjs (13.0.1) 解决此问题,您可以遵循这些解决方案,这将为您提供 15 分钟。
解决方案一:不同的回复,然后编辑它。

  await interaction.deferReply();
const result = await YOUR_FUNCTION();
await interaction.editReply(result);
方案二:回复然后编辑它。
  await interaction.reply('Working on it');
const result = await YOUR_FUNCTION();
await interaction.editReply(result);
解决方案3:回复,然后回复跟进。
  await interaction.reply('Working on it');
const result = await YOUR_FUNCTION();
await interaction.followUp(result);

You can find more information here!

关于javascript - 斜杠命令 "unknown interaction",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67413046/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com