client.ws.on('INTERACTION_CREATE', async (interaction) => {}
interaction类有许多属性,如channel
、member
和id
,但它没有message
属性。
有没有办法从交互中获取消息,或者我必须在消息上使用事件监听器?如果是这样,我该如何在斜杠命令中使用它?
client.ws.on('INTERACTION_CREATE', async (interaction) => {}
interaction类有许多属性,如channel
、member
和id
,但它没有message
属性。
有没有办法从交互中获取消息,或者我必须在消息上使用事件监听器?如果是这样,我该如何在斜杠命令中使用它?
interaction
来获取用户输入。但是,内容不可见,但您可以通过将其通过api端点或类似的方式传递来查看它,这对我来说有点奇怪,但我相信其中一定有解释。interaction.options
,因此您需要在应用程序命令中至少添加一个选项。// /test as your Application command
client.on('interactionCreate', async interaction => {
if (interaction.commandName === 'test') {
const message = interaction.options.data
console.log(message)
})
}
斜杠命令有它们自己类型的消息。我不认为它们有一个ID、删除按钮、编辑按钮或大多数消息拥有的很多东西。这意味着您将无法从斜杠命令中获取“消息”。但是,从按钮中,它们会发出INTERACTION_CREATE
,但提供更多信息。我不完全确定,但我认为您可以使用像interaction.components
这样的东西。如果您想要确认,请点击按钮并将相互作用记录到控制台以查看唯一的按钮信息,就像这样。
client.ws.on('INTERACTION_CREATE', async (interaction) => {
{
console.log(interaction) //will be long!
//…
})