我的Discord Bot在你执行斜杠命令时抛出一个错误,机器人没有响应,但它仍然在之后发送gif。我如何避免这个问题?
Screenshot
代码:
module.exports = {
data: new SlashCommandBuilder()
.setName('gif')
.setDescription('sends a gif with the given argument')
.addStringOption((option) => option.setName('argument').setDescription('the kind of gif you want').setRequired(true)),
async execute(interaction) {
const param = interaction.options._hoistedOptions[0].value;
await client.search('gifs', {"q": param, "limit": 100})
.then((response) => {
let totalResponses = response.data.length;
let responseIndex = Math.floor(Math.random() * totalResponses);
let gif = response.data[responseIndex];
interaction.channel.send({
files: [gif.images.fixed_height.url]
});
});
}
}
我真的不知道如何解决这个问题。也许API的React太慢,不和谐认为它没有React?
1条答案
按热度按时间ar7v8xwq1#
Discord Interactions需要在一定的时间内回复,否则Discord会丢弃它们,使用
interaction.channel.send
不会影响交互,因为您需要使用interaction.reply
,这个简单的开关应该可以解决它。