如何创建角色特定的表情符号

时间:2020-08-26 19:27:18

标签: javascript node.js discord.js

我想创建一个命令,将现有的GuildEmoji限制为我指定的角色。例如:!restrictemote <Emote ID> <Role ID(s)>。然后,只有具有那些角色的成员才能使用表情。我该怎么做呢?

我检查了Discord角色设置,除了能够响应消息并能够使用来自其他服务器的表情外,似乎没有任何可编辑的表情选项。

1 个答案:

答案 0 :(得分:0)

discord.js实际上具有GuildEmojiRoleManager class内置的功能。默认集合为空,使每个角色均可访问每个表情。但是,您可以使用.add().remove().set()方法进行更改。

以下是如何在命令中使用它:

message.guild.emojis.cache.get('<Emote ID>') // first, get the emoji
   .roles // then the current role restrictions (default: none)
   .add(['<Role ID>', '<Role ID>'); // then add, set, or remove the specified roles

这是我的Discord服务器上的演示:

Example

我开始可以很好地使用表情符号,但是在我没有的角色GuildEmojiRoleManager cache中添加了角色之后,我就无法再使用它了。它甚至没有显示在我的表情符号仪表板/选择器中,因此我不得不手动编写<a:coin:733804322214903848>,即使这样也不起作用。