为啥我的 discord.js 机器人没有响应“;say (content)”

Posted

技术标签:

【中文标题】为啥我的 discord.js 机器人没有响应“;say (content)”【英文标题】: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)`)
    
)

【问题讨论】:

【参考方案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.

【讨论】:

以上是关于为啥我的 discord.js 机器人没有响应“;say (content)”的主要内容,如果未能解决你的问题,请参考以下文章

Discord.js - Discord 机器人停止响应命令

Discord.js 命令处理程序机器人不响应

为啥我的欢迎信息不起作用(discord.js)

为啥我的 Heroku discord bot 没有上线?

机器人不响应命令(discord.js v12)

(Discord.js) 机器人没有响应