首页 > 解决方案 > 在 discord.js 上禁止 DM 消息

问题描述

我正在制作一个不和谐的机器人,我希望该机器人向被禁止的用户 DM,为什么它被禁止。这是我当前的代码:

    if(command === "ban") {
  if(!message.member.roles.some(r=>["Administrator"].includes(r.name)) )
return message.reply("Sorry, you don't have permissions to use this!");

let member = message.mentions.members.first();
if(!member)
  return message.reply("Please mention a valid member of this server");
if(!member.bannable) 
  return message.reply("I cannot ban this user! Do they have a higher role? 
Do I have ban permissions?");

let reason = args.slice(1).join(' ');
if(!reason) reason = "No reason provided";

await member.ban(reason)
  .catch(error => message.reply(`Sorry ${message.author} I couldn't ban because of : ${error}`));
message.reply(`${member.user.tag} has been banned by ${message.author.tag} because: ${reason}`);
  message.member.tag.sendMessage('Hi! You were banned from ${member.user.server} because: {reason}. If you do not get why you were banned, please DM @doodthedoodthedood#2695.')
  }

标签: discorddiscord.js

解决方案


你必须在他们被禁止之前这样做。

在禁止用户之前,使用成员对象向他们发送消息。

await member.send("You are banned")
await member.ban(reason)

推荐阅读