JS不和谐清除命令

时间:2020-06-27 22:46:46

标签: javascript node.js discord discord.js

所以基本上我有以下代码:

    const Discord = require("discord.js");

module.exports.run = async (bot, message, args) => {
  if (args[0] == "help") {
    let helpembxd = new Discord.RichEmbed()
      .setColor("RANDOM")
      .addField("Purge Command", "Usage: `*clear` <amount>");

    message.channel.send(helpembxd);
    return;
  }

  message.delete();

  if (!message.member.hasPermission("MANAGE_MESSAGES"))
    return message.reply("You don't have premssions to do that!");
  if (!args[0])
    return message.channel.send(
      "Please enter a number of messages to clear! `Usage: .clear <amount>`"
    );
  message.channel.bulkDelete(args[0]).then(() => {
    message.channel
      .send(`**__Cleared ${args[0]} messages.__**`)
      .then(msg => msg.delete(2000));
  });
};

module.exports.help = {
  name: "purge"
};

我试图使其工作,但是当我使用purge命令时,它不工作。

谢谢, Gowixx。

1 个答案:

答案 0 :(得分:0)

问题是args[0]是一个字符串,因此即使您告诉自己的漫游器-purge 50也无法使用,因为在这种情况下50是一个字符串,因此您需要首先将其转换为数字。

const Discord = require("discord.js");

module.exports.run = async (bot, message, args) => {
  if (args[0] == "help") {
    let helpembxd = new Discord.RichEmbed()
      .setColor("RANDOM")
      .addField("Purge Command", "Usage: `*clear` <amount>");

    message.channel.send(helpembxd);
    return;
  }

  message.delete();

  if (!message.member.hasPermission("MANAGE_MESSAGES"))
    return message.reply("You don't have premssions to do that!");
  if (!args[0])
    return message.channel.send(
      "Please enter a number of messages to clear! `Usage: .clear <amount>`"
    );
  const deleteNum = parseInt(args[0])
  if (isNaN(deleteNum)) return message.reply('that is not a number')
  message.channel.bulkDelete(deleteNum).then(() => {
    message.channel
      .send(`**__Cleared ${args[0]} messages.__**`)
      .then(msg => msg.delete(2000));
  });
};

module.exports.help = {
  name: "purge"
};