我想创建一个命令,将现有的GuildEmoji
限制为我指定的角色。例如:!restrictemote <Emote ID> <Role ID(s)>
。然后,只有具有那些角色的成员才能使用表情。我该怎么做呢?
我检查了Discord角色设置,除了能够响应消息并能够使用来自其他服务器的表情外,似乎没有任何可编辑的表情选项。
答案 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服务器上的演示:
我开始可以很好地使用表情符号,但是在我没有的角色GuildEmojiRoleManager cache
中添加了角色之后,我就无法再使用它了。它甚至没有显示在我的表情符号仪表板/选择器中,因此我不得不手动编写<a:coin:733804322214903848>
,即使这样也不起作用。