【问题标题】:How do I make a working AND Statement in Discord JS?如何在 Discord JS 中创建有效的 AND 语句?
【发布时间】:2021-02-05 12:19:20
【问题描述】:
const args = message.content.split(" ");
const questionString = args.slice(1).join(" ");

if (questionString.includes(("THIS" && "THAT"))) message.channel.send(`Sure thing, <@${message.author.id}>`);

所以我试图让我的机器人检查这两个是否都包含在消息中。问题是机器人不会对消息中的“THIS”做出反应,而是在我不想要的消息中只包含“THAT”时做出反应。我只希望机器人在同时包含“THIS”和“THAT”时做出响应。我在 Discord JS 中找不到任何关于 AND 语句的内容,而我在普通 JavaScript 教程中找到的那些语句总是这样显示。 Discord JS 有什么不同吗?如果是这样,我该怎么做才能让它发挥作用。 谢谢!

【问题讨论】:

  • 不幸的是,logical AND operator works 不是这样。如果要检查这两个词,则必须单独进行。 if (questionString.includes("THIS") &amp;&amp; questionString.includes("THAT"))。如果您想变得花哨,可以执行以下操作:if (['THIS', 'THAT'].every(questionString.includes))
  • 哦,好的,非常感谢,甚至说得通!

标签: if-statement discord discord.js


【解决方案1】:

你不能像那样使用 AND 语句。正确的用法是:

if (questionString.includes("THIS") && questionString.includes("THAT"))

所以您的代码将以如下形式结束:

const args = message.content.split(" ");
const questionString = args.slice(1).join(" ");

if (questionString.includes(("THIS" && "THAT"))) message.channel.send(`Sure thing, <@${message.author.id}>`);

你也可以使用 Array.every 函数,如果你使用它,你会得到类似的东西:

const args = message.content.split(" ");
const questionString = args.slice(1).join(" ");
const searchParams = ["THIS", "THAT"];

if (searchParams.every(questionString.includes)) message.channel.send(`Sure thing, <@${message.author.id}>`);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-05-18
    • 2021-11-06
    • 1970-01-01
    • 2022-01-19
    • 2020-08-26
    • 2012-08-01
    • 1970-01-01
    相关资源
    最近更新 更多