来自Discord斜杠命令的交互失败



我需要一些帮助与我的代码,我没有得到任何错误,除了这个交互失败在不和谐

我使用斜杠命令的代码:

name: "random",
description: "Random Message",
options: [],
async execute(_bot, say, interaction) {
var facts = ["test1", "test2", "test3", "test4"];
var fact = Math.floor(Math.random() * facts.length);
await say(interaction, facts[fact]);
},
};

与我的前缀和非斜杠命令一起工作的代码:

exports.run = async (client, message, args) => {
var facts = ["test", "test2", "test3"];
var fact = Math.floor(Math.random() * facts.length);
message.channel.send(facts[fact]);
}```

不使用send,而是使用response。如:message.channel.respond(事实[事实]),

我遇到了这个问题,所以我再次查看了API文档,发现当我向通道发送响应时,我实际上并没有响应交互。要响应交互,您必须使用交互ID和令牌向webhook发送数据。来自文档:

url = "https://discord.com/api/v8/interactions/<interaction_id>/<interaction_token>/callback"
json = {
"type": 4,
"data": {
"content": "Congrats on sending your command!"
}
}
r = requests.post(url, json=json)

查看更多信息:https://discord.com/developers/docs/interactions/slash-commands#responding-to-an-interaction

最新更新