首页 > 解决方案 > 如何在嵌入不和谐机器人中输入多行参数

问题描述

我正在尝试制作一个嵌入不和谐机器人,并且我希望能够使用该命令完全编辑消息,我遵循了一些教程并且我能够设置每个参数的参数,但我只能写一个每个字。这个想法是用逗号分隔并能够写多个单词和行。

const Discord = require('discord.js');
const bot = new Discord.Client();

const token = '';

const PREFIX = '!';

bot.on('ready', () => {
  console.log('Bot online');
});

bot.on('message', message => {

  let args = message.content.slice(PREFIX.length).split(' ');

  switch (args[0]) {
    case 'embed':
      const embed = new Discord.MessageEmbed()
        .setTitle(args[1])
        .setDescription(args[2])
        .setImage(args[3])
        .setColor(args[4])
        .setFooter(message.author.username)
        .setTimestamp()
      message.channel.send(embed);
      break;
  }
});

bot.login(token);

标签: javascriptdiscord.js

解决方案


由于您没有用逗号分隔每个 arg,而是用空格分隔它们,因此您的变量应如下所示:

let args = message.content.slice(PREFIX.length).split(','); // Add an extra space after the comma if necessary

要编写多行,您可以这样做:

// Let's say we are sending a message to a channel
message.channel.send(`${args[1]}\n${args[2]}`) // And you can keep on going as long as the args are supplied.

推荐阅读