为啥我的 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)”的主要内容,如果未能解决你的问题,请参考以下文章