如何获取@everyone 角色 ID?

The*_*per 3 discord discord.js

我需要获得@everyone 角色 ID 才能为服务器成员创建私人聊天(我将限制除那 2 个用户之外的其他人阅读和发送消息)。如何?

我试着打字

\@Admin
Run Code Online (Sandbox Code Playgroud)

以获取管理员的角色 ID 为例。但后来我打字

\@everyone
Run Code Online (Sandbox Code Playgroud)

它会创建一条常规消息,提及服务器上的每个人(例如@everyone在聊天中输入)。没有身份证。

我如何获得@everyone 角色 ID?

And*_*dré 7

对于该IDeveryone的角色是公会ID。
如果你尝试用你的公会 id<@&123123>替换123123,它几乎会标记每个人


更新:2020 年 4 月 10 日

现在提到每个人,您只需要发送字符串@everyone: message.channel.send("@everyone");


要获取每个人角色的 ID,您需要拥有guild,您可以在某些事件中获得该 ID,例如:messageguildCreate等。从那里:<something>.guild.roles.everyone,然后您应该能够使用<something>.guild.roles.everyone.id.

如果您无法访问某个事件的公会,您可以通过它的 ID 获取公会,例如: client.guilds.cache.get('guildID').roles.everyone.id,如果您知道它将在缓存中。如果你想安全,你可以这样做:

client.guilds.fetch('guildID').then(guild => { 
    let id = guild.roles.everyone.id;
    // do something with id
}
Run Code Online (Sandbox Code Playgroud)

或等待:

let guild = await client.guilds.fetch('guildID');
let id = guild.roles.everyone.id;
Run Code Online (Sandbox Code Playgroud)