我想知道是否可以通过 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
最佳答案
在 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);
关于javascript - 如何禁止不在服务器中的人,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63621712/