首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Discord.js参数

Discord.js参数
EN

Stack Overflow用户
提问于 2019-04-13 22:37:13
回答 6查看 28.8K关注 0票数 1

如何在discord.js中读取args?我正在尝试创建一个支持机器人,我希望有一个!help {topic}命令。我该怎么做?我现在的代码是非常基本的

代码语言:javascript
复制
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);
EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2019-04-14 00:21:54

你可以使用前缀和像这样的参数..。

代码语言:javascript
复制
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
  }
});
票数 5
EN

Stack Overflow用户

发布于 2019-10-25 17:58:39

您可以使用开关语句而不是if (command == 'help') {} else if (command == 'ping') {}

代码语言:javascript
复制
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;
  }
});
票数 0
EN

Stack Overflow用户

发布于 2020-05-03 14:20:50

代码语言:javascript
复制
let args = msg.content.split(' ');
let command = args.shift().toLowerCase();

这是“懒散”中的简化答案。

用法

代码语言:javascript
复制
if(command == 'example'){
  if(args[0] == '1'){
  console.log('1');
 } else {
  console.log('2');
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55670456

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档