【问题标题】:Discord.js ban command ban reasonDiscord.js 禁止命令禁止原因
【发布时间】:2021-06-01 11:54:49
【问题描述】:

我试图获得一个禁令命令,并且我使用我以前的 kick 命令作为一种模板,我无法完全理解禁令的工作原因,我假设这是下面代码的唯一问题。

const Discord = require('discord.js')


module.exports.run = async (bot, message, args) => {

  if (!message.member.hasPermission('BAN_MEMBERS')) return message.reply('**No permission**') 
  const user = message.mentions.users.first();

    if (user) {
      const member = message.guild.member(user);
      
      if (member) {
        member
          .ban('no reason')
          .then(() => {
            message.channel.send(`${user.tag} Has been banned`)
          })
          .catch(err => {
            message.reply('Unable');
            console.error(err);
          });

      } else {
        message.reply("Error");
      }
    } else {
      message.reply("You forgot to mention someone");
    }
};

  module.exports.help = {
    name: "ban"
  }

【问题讨论】:

    标签: javascript discord discord.js


    【解决方案1】:

    您必须为.ban() 提供正确的参数

    在这种情况下.ban({reason: 'no reason'})

    所以你更正的代码是

    if (!message.member.hasPermission("BAN_MEMBERS"))
      return message.reply("**No permission**");
    const user = message.mentions.users.first();
    
    if (user) {
      const member = message.guild.member(user);
    
      if (member) {
        member
          .ban({ reason: "no reason" })
          .then(() => {
            message.channel.send(`${user.tag} Has been banned`);
          })
          .catch((err) => {
            message.reply("Unable");
            console.error(err);
          });
      } else {
        message.reply("Error");
      }
    } else {
      message.reply("You forgot to mention someone");
    }
    

    另外,请在未来提供错误并事先查找Other information

    【讨论】:

      【解决方案2】:

      加上,很多在 V13 中都不起作用

      if (!message.member.permissions.has("BAN_MEMBERS"))
        return message.reply("**You do not have the proper permissions.**");
      const user = message.mentions.users.first();
      
      if (user) {
        const member = message.guild.members.cache.get(user.id);
      
        if (member) {
          member
            .ban({ reason: "no reason" })
            .then(() => {
              message.channel.send(`${user.tag} Has been banned`);
            })
            .catch((err) => {
              message.reply(`Unable to ban User. \`\`\`${err}\`\`\` `);
              console.error(err);
            });
        } else {
          message.reply("Error");
        }
      } else {
        message.reply("You forgot to mention someone, <@${message.author.id}>");
      }
      

      【讨论】:

      • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center
      猜你喜欢
      • 2021-07-27
      • 2020-11-18
      • 2021-01-26
      • 1970-01-01
      • 1970-01-01
      • 2020-06-16
      • 2020-10-20
      • 2019-09-03
      • 2021-01-11
      相关资源
      最近更新 更多