DiscordJS-使用:one进行反应:

时间:2020-08-24 12:39:24

标签: discord discord.js

我无法弄清楚如何使用DiscordJs处理:one:表情符号。

通常在表情符号的前面放一个转义\会给你表情符号的ID,但是发生\ this的情况

与:one:或一个或不和谐的链接反应也不起作用。

https://ptb.discordapp.com/assets/d10eead5823437c08b5287cf93bd5223.svg => 10eead5823437c08b5287cf93bd5223)

使用@Nathn建议的符号时,它仍然会引发错误: enter image description here

我的解决方案

我使用的解决方案是从表情符号选择器中选择“ E0.6键帽1”而不是“键帽1”。我建议按照@ a2br建议的方式来创建自己的表情,以确保其在设备之间保持一致。

此外,如果要将这些表情符号放入固定宽度的文本容器中,则无需担心“ keycap 1”实际上是3个字符(1 + gumChar + keyCap)并在某些设备和其他设备上将其渲染为3个字符设备无论出于何种原因将其呈现为1.5宽度。

2 个答案:

答案 0 :(得分:1)

自从我上次使用Discord.js已经很长时间了,但是我非常清楚这个特定问题;我不知道为什么,但是Discord机器人不支持数字表情符号。

我认为您可以通过在机器人所在的服务器中创建自定义表情符号(并使用<:one:000000000000000000>和您的表情符号ID一起使用)来避免该问题,唯一的区别是它将在移动平台,表情符号通常应在本地呈现。

编辑:哦,我没有阅读整个问题。上面的解决方案是为短信而不是反应而编写的。因此,对于反应,它将为message.react("000000000000000000")。不过,可能有更好的解决方案,这里也是answered in another SO question的地方。

答案 1 :(得分:0)

您可以尝试使用:one:这样的Unicode短名称,也可以在1️⃣中使用诸如message.react()这样的转义版本/ Unicode字符。

示例:

//Unicode shortnames
message.react(':one:')


//Unicode character
message.react('1️⃣')

请注意,短名称或Unicode字符都必须在字符串中。