Мне нужна помощь по поводу команды запрета в боре разногласий - PullRequest
0 голосов
/ 11 апреля 2019

Я хочу добавить команду запрета, которая работает только в том случае, если отправивший ее пользователь имеет права администратора, владельца и модератора.Есть ли способ, которым я мог бы сделать это?

client.on('message', message => {
  if (!message.guild) return;

  if (message.content.startsWith('+ban')) {
    const user = message.mentions.users.first();
    if (user) {
      const member = message.guild.member(user);
      if (member) {
        member.ban({
          reason: 'They were bad!',
        }).then(() => {
          message.channel.sendMessage(`${user} BAN!`);
        }).catch(err => {
          message.channel.sendMessage('Bu çar çok güçlü, banlayamıyorum.');
          console.error(err);
        });
      } else {
        message.channel.sendMessage('Kullanıcı sunucuda değil.');
      }
    } else {
      message.channel.sendMessage('Adını ver banlayayım, sahip.');
    }
  }
});

1 Ответ

0 голосов
/ 11 апреля 2019

Есть несколько способов сделать это!

Вы можете сделать это, проверив разрешения автора сообщения, которые он имеет на этом сервере Discord.Я бы использовал метод hasPermission(), чтобы проверить, какие разрешения имеет пользователь.Все флаги разрешений можно найти здесь .

if (!message.member.hasPermission('ADMINISTRATOR')) return ('You aren\'t an Administrator');

Вы даже можете сделать это, проверив ID сообщения автора сообщения.Просто сравните userID автора сообщения и ваш предопределенный userID:

if (message.author.id !== 'ID OF THE USER') return ('You aren\'t an Administrator');
...