我想知道是否可以通过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()
(已弃用的函数),因此得出的结论是,该方法仅在{{ 1}}。
由于它以前是早期版本中的函数,所以我确定现在还没有找到它的方法。
最后,我知道我可以将discord.js v11
添加到一个数组中,并且每当发出User ID
事件时,我都可以针对该数组检查它们的guildMemberAdd
,但是我会仍然想知道是否可以通过User ID
禁止成员。预先感谢!
答案 0 :(得分:4)
在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);