【问题标题】:How do I unban user with commands?如何使用命令解禁用户?
【发布时间】:2020-10-13 17:02:19
【问题描述】:

我正在尝试发出解除某人禁令的命令。

我已经尝试过member.unbanmessage.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);
    
    
        }
    }

我的命令提示符没有出现任何错误,但这就是不和谐中显示的内容:Image 并且该用户仍然未被禁止。

【问题讨论】:

    标签: discord.js


    【解决方案1】:

    您必须将UserResolvable 传递给.unban() 方法。将 member 对象放入 template string (${member}) 中会将其转换为提及用户的字符串,并且不起作用。

    您的操作方式也可能行不通,因为用户在被服务器禁止时不会被提及为GuildMembers。

    要解决这个问题,您可以更改您的命令,以便改为通过他们的 ID 取消禁止用户 (!unban 873478935468795467)。代码将如下所示:

    message.guild.members.unban(id)
    

    id 是一个包含 id 的字符串)

    我强烈建议您查看the docs。他们为这些情况提供了很好的例子。

    【讨论】:

    • 所以我尝试使用 const userid = message.mentions.members.first().id; 来获取 ID,但这不起作用。
    • 您不能提及不在公会中的用户
    • 我注意到了,所以我刚开始用这个人的ID,说这是一个未知的禁令,但他的用户实际上是被禁止的
    • 酷!愿意分享您的工作代码,以作为稍后访问此线程的人的答案吗?
    猜你喜欢
    • 2021-09-05
    • 2021-03-26
    • 2021-03-14
    • 2018-06-14
    • 2021-04-18
    • 1970-01-01
    • 1970-01-01
    • 2021-07-27
    • 2021-01-11
    相关资源
    最近更新 更多