【问题标题】:How to ban someone that's not in the server如何禁止不在服务器中的人
【发布时间】:2020-12-16 16:12:19
【问题描述】:

我想知道是否可以通过User ID 禁止某人。通常,要禁止某人,您会使用GuildMember.ban() method

GuildMember.ban()

但是,如果用户不在您要禁止他们加入的公会中,则不可能获得他们的GuildMember 对象。有其他方法吗?


使用实际的 Discord 程序,可以在某人加入之前通过User ID 提及他们来禁止某人(例如:<@123456789012345678>)。然后,您可以右键单击提及,然后禁止他们:

有没有办法用discord.js 复制这个?


在研究这个问题的过程中,我偶然发现了someone asking the same question as me。接受的答案是使用Guild.ban 函数。

但是,由于我在 Guild class docs 中找不到该方法,并且使用了相同的答案 fetchUser()(已弃用的函数),我得出的结论是它只能在 discord.js v11 中使用。

由于它以前是早期版本中的一个功能,我敢肯定现在我还没有找到一种方法来做到这一点。


最后,我知道我可以将 User ID 添加到数组中,并且每当发出 guildMemberAdd 事件时,我都可以根据该数组检查他们的 User ID,但我仍然想知道是否禁止User ID 的成员是可能的。提前致谢!


编辑: Docs for the v11 Guild.ban() function

【问题讨论】:

    标签: javascript node.js discord.js


    【解决方案1】:

    在 v12 中,discord.js 将此类与公会成员交互的方法全部移至 GuildMemberManager 类,可通过 guild.members 访问。

    您要查找的方法是GuildMemberManager.ban(id)。文档上有一个示例:

    guild.members.ban('84484653687267328')
      .then(user => console.log(`Banned ${user.username || user.id || user} from ${guild.name}`))
      .catch(console.error);
    

    【讨论】:

    • 很好的答案,谢谢!
    猜你喜欢
    • 1970-01-01
    • 2016-07-21
    • 2020-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-25
    • 2013-09-23
    • 2015-04-18
    相关资源
    最近更新 更多