如何禁止不在服务器中的人

Lio*_*100 3 javascript node.js discord.js

我想知道是否可以通过User ID. 通常,要禁止某人,您可以使用 aGuildMember.ban()方法

GuildMember.ban()
Run Code Online (Sandbox Code Playgroud)

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


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

例子

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


在我研究这个问题的过程中,我偶然发现有人和我问了同样的问题。接受的答案是使用该Guild.ban功能。

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

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


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


编辑: v11Guild.ban()函数的文档

Kla*_*con 5

在 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);
Run Code Online (Sandbox Code Playgroud)