【问题标题】:Why is my discord.js bot not responding to ";say (content)"为什么我的 discord.js 机器人没有响应“;say (content)”
【发布时间】:2020-07-03 07:37:04
【问题描述】:

我在 discord 上编写了一个名为 LowerBot 的机器人,它是用 javascript 制作的,使用 npm 和 discord.js。如果有人能准确指出我的机器人出了什么问题,那就太好了。

这是我的代码:

function getAfterSpace(str) {
    return str.split(' ')[1]; // get after space
}
client.on("message", msg => {
    if (msg.content.toLowerCase().includes === ";say ") {
        msg.channel.send(`${getAfterSpace(msg.content)}`)
    }
})

【问题讨论】:

    标签: javascript npm bots discord.js


    【解决方案1】:

    因为includes 是一种方法,并且您正在与方法实际方法进行比较,而不是对其的调用。

    应该改为msg.content.toLowerCase().includes(";say ")

    【讨论】:

    • 好吧,这有点用,但现在我遇到了另一个问题,我可能会在这里问一下,我的机器人只说 ;say 和内容之间的空格之后的第一个词本身。所以如果我输入“;say Hi there”,它只会回复“Hi”。呸呸呸
    • NVM 我只能每 90 分钟发布一次,oof。
    【解决方案2】:

    有很多方法可以做到,但这是我会做的:

    if(message.content.toLowerCase.StartsWith(";say") {
       let result = message.content.split(" "); // creates an array of each word
       result = result.slice(1); // removes first entry (";say");
       result = result.join(" "); // combines each object in the array into a string. each object is separated by a space.
    }
    

    【讨论】:

      猜你喜欢
      • 2020-08-09
      • 2021-01-06
      • 2020-04-07
      • 1970-01-01
      • 1970-01-01
      • 2019-11-16
      • 2021-11-21
      • 2021-06-15
      • 2022-10-24
      相关资源
      最近更新 更多