簡體   English   中英

Discord.js 版本 12 我不能禁止用戶

[英]Discord.js version 12 I can't ban a user

我正在使用 discord.js 版本“12.1.1”,對於這個腳本“banuser.js”,我正在使用命令處理程序。

現在我只想禁止這個人,但我一直收到這個錯誤:(節點:30800)UnhandledPromiseRejectionWarning:TypeError:無法讀取未定義的屬性'banable'

如果這可行的話,很酷的功能將是解禁 + 定時禁止 -> 當我禁止某人時,我可以說 1/7 天或幾小時內......但現在我想讓它工作,這樣我就可以禁止人。

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

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

  if (message.member.hasPermission("BAN_MEMBERS")) {

      if (!message.mentions.users) return message.reply('You must tag 1 user.');

      else {

          const channel = message.guild.channels.cache.get("696692048543088691");
          const member = message.mentions.members.first();
          let reason = message.content.split(" ").slice(2).join(' ');

          if (member.banable== false) return message.channel.send("That user cannot be baned!");

          else {

              if (!reason) reason = (`No reason provided.`);

              await member.send(`You have been baned from **${message.guild.name}** with the reason: **${reason}**`)
                  .catch(err => message.channel.send(`⚠ Unable to contact **${member}**.`));

              await member.ban(reason);

              const banEmbed = new discord.MessageEmbed()
                  // .setAuthor(member.user.tag, member.user.iconURL()) -> kleine avatar
                  .setAuthor(member.user.avatarURL())
                  .setThumbnail(member.user.avatarURL())
                  .setAuthor(member.user.tag)
                  .setColor("#ee0000")
                  .setTimestamp()
                  .addField("Kicked By", message.author.tag)
                  .addField("Reason", reason);
                  // console.log(member.user.avatarURL('Heeft geen avatar'))

              await channel.send(banEmbed);

              console.log(`${message.author.tag} Baned ${member.user.tag} from '${message.guild.name}' with the reason: '${reason}'.`);

          }
      }
  } else {
      message.channel.send("You do not have permission to use the ban command.");
      return;
  }
}


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

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

    if (!message.member.hasPermission("BAN_MEMBERS") || !message.member.hasPermission("ADMINISTRATOR")) return message.channel.send("You don't have a permissions to do this.");
    let user = message.mentions.users.first();

    let member = message.guild.member(user);
    let reason = args.slice(22).join(" ");

    if (!user) return message.channel.send("Please mention the user.");
    if (user.id === message.author.id) return message.channel.send("You can't ban yourself.");
    if (user.id === client.user.id) return message.channel.send("You can't ban me.");

    if (!reason) reason = "No reason provided";

    member.ban(reason).then(() => {
      message.channel.send(`Successfully banned **${user.tag}**`);
    }).catch(err => {
      message.reply("I was unable to ban the member.");
    })
}
module.exports.help = {
    name: "banuser"
} */

到目前為止,這是我的代碼

你必須替換if (.message.mentions.users) return message.reply('You must tag 1 user;'); with if (.message.mentions.members) return message.reply('You must tag 1 user;');

保持const member = message.mentions.members.first(); 照原樣

並將member.banable替換為member.bannable

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM