我在使用 discord.js 时遇到问题

时间:2021-03-12 22:55:09

标签: javascript discord.js

我想添加一些使用 adminstator 命令的权限,如ban、kick 等。 当我添加该命令时,我无法使用 kick 命令,而当我尝试使用 ban 命令时,我会得到如下输出: “@xxx,你不能踢这个公会的成员。”

  if (message.author.bot) return;
  // This is where we'll put our code.
  if (message.content.indexOf(prefix) !== 0) return;
 
  const args = message.content.slice(prefix.length).trim().split(/ +/g);
  const command = args.shift().toLowerCase();
 
  if(command === 'kick') {
    const user = message.guild.member(message.author);
    if (user.hasPermission(['KICK_MEMBERS'])) {
    let reason = args.join(" ");
    const member = message.guild.member(etiketlenmiskisi);
    message.channel.send(`${message.author} took her/his kickhammer!`);
    message.channel.send('https://tenor.com/view/sao-liz-lisbeth-anime-ban-gif-14368031');
    member.kick(reason);
    message.channel.send(`${etiketlenmiskisi} kicked successfully.`);
  }} else {
    message.channel.send(`${message.author}, you can't kick a member in this guild.`);
  }

});

client.on("message", message => {
  if (message.author.bot) return;
  // This is where we'll put our code.
  if (message.content.indexOf(prefix) !== 0) return;
 
  const args = message.content.slice(prefix.length).trim().split(/ +/g);
  const command = args.shift().toLowerCase();
 
  if(command === 'ban') {
    const user = message.guild.member(message.author);
    if (user.hasPermission(['BAN_MEMBERS'])) {
    const etiketlenmiskisi = message.mentions.users.first();
    let reason = args.join(" ");
    const member = message.guild.member(etiketlenmiskisi);
    message.channel.send(`${message.author} took her/his banhammer!`);
    message.channel.send('https://tenor.com/view/sao-liz-lisbeth-anime-ban-gif-14368031');
    member.ban(reason);
    message.channel.send(`${etiketlenmiskisi} banned successfully.`);
  }} else {
    message.channel.send(`${message.author}, you can't ban a member in this guild.`);
  }

});

1 个答案:

答案 0 :(得分:0)

在 else 语句中是“你不能踢”。应该是 else if。这应该可以解决问题。