我正在尝试发出禁止某人的命令
我已经尝试过了member.unban
,message.guild.unban
而目前已经尝试过了message.guild.members.unban
。
我不太确定该怎么办
这是当前的我的代码
const Discord = require('discord.js');
module.exports = {
name: "unban",
description: "unbans a member from the server",
async run (client, message, args) {
if(!message.member.hasPermission("BAN_MEMBERS")) return message.channel.send('You can\'t use that!')
if(!message.guild.me.hasPermission("BAN_MEMBERS")) return message.channel.send('I don\'t have the permissions.')
const member = message.mentions.members.first();
if(!args[0]) return message.channel.send('Please specify a user');
let reason = args.slice(1).join(" ");
if(!reason) reason = 'Unspecified';
message.guild.members.unban(`${member}`, `${reason}`)
.catch(err => {
if(err) return message.channel.send('Something went wrong')
})
const banembed = new Discord.MessageEmbed()
.setTitle('Member Unbanned')
.addField('User Unbanned', member)
.addField('Unbanned by', message.author)
.addField('Reason', reason)
.setFooter('Time Unbanned', client.user.displayAvatarURL())
.setTimestamp()
message.channel.send(banembed);
}
}
我的命令提示符上没有任何错误,但这是不一致的地方:图片,并且用户不受限制
在此先感谢(希望如此)
您必须将UserResolvable传递给该.unban()
方法。将member
对象放在模板字符串(${member}
)内,它将变成一个提及用户的字符串,将无法使用。
您的操作方式可能也将无法正常工作,因为当用户被GuildMember
禁止访问服务器时,用户不会像s那样被提及。
要解决此问题,您可以更改命令,以使用户通过ID代替(!unban 873478935468795467
)。代码如下所示:
message.guild.members.unban(id)
(id
是包含ID的字符串)
我强烈建议您将文档签出。他们为这些情况提供了很好的例子。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句