Discord.js 无法为斜线命令添加选项
Posted
技术标签:
【中文标题】Discord.js 无法为斜线命令添加选项【英文标题】:Discord.js cannot add option to slash commands 【发布时间】:2022-01-15 05:53:58 【问题描述】:我已经开始迁移到 discordjs v13 并遇到了这个错误:Property 'options' does not exist on type 'Interaction '
。
运行事件:
export interface runEvent
interaction: Interaction,
client: Client,
args: string[],
哪里出错了
export const execute = (interaction, client, args:runEvent) =>
console.log(interaction.options.getString('name'))
^^^^^^^^
是什么导致这个抛出这个错误?当我登录 interaction
本身时,我可以看到它具有属性选项。那么是什么引发了这个错误呢?
附带说明,将interaction: Interaction
更改为interaction: any
可立即解决此问题。我只是好奇是什么引发了这个错误
【问题讨论】:
【参考方案1】:这是因为Interaction
是任何类型的交互。这包括按钮、选择菜单和上下文菜单,它们没有options
属性。您可以将其转换为 CommandInteraction
,但建议您使用类型保护 (.isCommand()
),以便如果它是不同的类型,它将改为返回
export const execute = ( interaction, client, args : runEvent) =>
if (!interaction.isCommand()) return;
console.log(interaction.options.getString('name'))
【讨论】:
以上是关于Discord.js 无法为斜线命令添加选项的主要内容,如果未能解决你的问题,请参考以下文章