discord - 在 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.')
}
解决方案
你必须在他们被禁止之前这样做。
在禁止用户之前,使用成员对象向他们发送消息。
await member.send("You are banned")
await member.ban(reason)
推荐阅读
- python - 如何使用 matplotlib、pandas 和 tkinter Python 绘制数据(AttributeError: 'DataFrame' object has no attribute 'scan_area')
- azure - 如何在 azure 中向网络接口卡添加附加 IP
- linux - 如何在VScode中配置json文件进行远程调试?
- python - PANDAS python引用第二个数据框和组标准来获取新列的值
- hibernate - Java Hibernate:findAll 包含“一对一”关系
- php - Ionic CLI 6.13.0 上的 CORS 问题
- parsing - 解析成员表达式的语法
- python - 如何在气流中复制数据
- python-3.x - 将 Azure DevOps 管道详细信息发送到 SIEM
- python - Kafka-python 脚本无法正确执行