所以我正在尝试这个8ball机器人,并且一切都正常,但是我无法获得如何离开的条件,只有当机器人获得“!verda arg1 arg2”时,它才能回答其中的一个回复数组。
同时,我的条件是如果用户仅输入前缀“!verda”,它会答复,我也想在条件中包括参数
const Discord = require("discord.js");
const client = new Discord.Client();
const cfg = require("./config.json");
const prefix = cfg.prefix;
client.on("message", msg => {
if (!msg.content.startsWith(prefix) || msg.author.bot) return;
const args = msg.content.slice(prefix.length).split(/ +/);
const command = args.shift().toLowerCase;
if (msg.content === prefix){
let replies = [
"Yes.",
"No.",
"I don't know.",
"Maybe."
];
let result = Math.floor((Math.random() * replies.length));
msg.channel.send(replies[result]);
}
else if (msg.content === "!help"){
msg.channel.send("I have only 1 command [!verda]");
}
})
client.login(cfg.token);
答案 0 :(得分:0)
答案很简单,我只想加入空格
if (msg.content === `${prefix} ${args.join(" ")}`)
答案 1 :(得分:0)
const command = args.shift().toLowerCase;
toLowerCase
是一个函数,因此应该是
const command = args.shift().toLowerCase();
通过执行msg.content === prefix
,您正在检查邮件的全部内容是否等于cfg.prefix
if(msg.content.startsWith(`${prefix}8ball`) {
}