如果消息以前缀 + 使用 discord.js 的命令开头,如何使 if 语句起作用

Posted

技术标签:

【中文标题】如果消息以前缀 + 使用 discord.js 的命令开头,如何使 if 语句起作用【英文标题】:How to make an if statement work if a message starts the prefix + a command using discord.js 【发布时间】:2020-09-02 21:20:50 【问题描述】:

您好,我的 discord 机器人已从使用 discord.py 切换到使用 discord.js。我目前遇到问题,我希望我的机器人的一个功能能够给出一个以命令和前缀开头的句子(例如 *say Hello world)然后我希望机器人删除前缀和命令并发送其余的内容回来。

但是我似乎无法让 if 语句正常工作 vie 尝试了这个

if (msg.content.startsWith == prefix + 'say')

这类似于 pythons 语法,但如果我使用它似乎不会触发,我希望能够键入这样的内容 (*say hello world) 并且 if 语句应该触发,因为消息中的第一件事是命令,但它不起作用

【问题讨论】:

【参考方案1】:

startsWith 不是属性,而是函数。

您可以使用startsWith() 来实现您的目标

if (msg.content.startsWith(`$prefixsay`))

或者你可以检查message.content是否等于$prefixsay

if (msg.content === `$prefixsay`)

【讨论】:

是的,我意识到我实际上只需要放入括号,在发布任何问题之前,我现在在我的问题上花费了更多时间。谢谢

以上是关于如果消息以前缀 + 使用 discord.js 的命令开头,如何使 if 语句起作用的主要内容,如果未能解决你的问题,请参考以下文章

Discord.js 中的前缀问题(包括 .toUpperCase())

Discord.js Bots // 尝试在主文件中添加多个机器人,设置状态,随机化欢迎消息,多个前缀

反应后 Discord.js 编辑消息

Discord.js - 如何实现前缀以避免错误触发命令响应?

Discord.js 如何使用机器人提及和设置前缀作为前缀

投票在 Discord.js 中重新滚动消息