如何在discord.js中读取args?我正在尝试创建一个支持机器人,我希望有一个!help {topic}命令。我该怎么做?我现在的代码是非常基本的
const Discord = require('discord.js');
const client = new Discord.Client();
const prefix = ("!")
const token = ("removed")
client.on('ready', () => {
console.log(`Logged in as ${client.user.tag}!`);
});
client.on('message', msg => {
if (msg.content === 'ping') {
msg.reply('pong');
}
if (msg.content === 'help') {
msg.reply('type -new to create a support ticket');
}
});
client.login(token);发布于 2019-04-14 00:21:54
你可以使用前缀和像这样的参数..。
const prefix = '!'; // just an example, change to whatever you want
client.on('message', message => {
if (!message.content.startsWith(prefix)) return;
const args = message.content.trim().split(/ +/g);
const cmd = args[0].slice(prefix.length).toLowerCase(); // case INsensitive, without prefix
if (cmd === 'ping') message.reply('pong');
if (cmd === 'help') {
if (!args[1]) return message.reply('Please specify a topic.');
if (args[2]) return message.reply('Too many arguments.');
// command code
}
});发布于 2019-10-25 17:58:39
您可以使用开关语句而不是if (command == 'help') {} else if (command == 'ping') {}
client.on ('message', async message => {
var prefix = "!";
var command = message.content.slice (prefix.length).split (" ")[0],
topic = message.content.split (" ")[1];
switch (command) {
case "help":
if (!topic) return message.channel.send ('no topic bro');
break;
case "ping":
message.channel.send ('pong!');
break;
}
});发布于 2020-05-03 14:20:50
let args = msg.content.split(' ');
let command = args.shift().toLowerCase();这是“懒散”中的简化答案。
用法
if(command == 'example'){
if(args[0] == '1'){
console.log('1');
} else {
console.log('2');https://stackoverflow.com/questions/55670456
复制相似问题