首页 > 解决方案 > DiscordJS - 使用 :one: 做出反应

问题描述

我不知道如何用 DiscordJs 对 :one: Emoji 做出反应。

通常在 Emoji 前面放置一个转义符 \ 会给你 Emoji 的 id,但是有 \这个会发生

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

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

使用@Nathn 建议的符号时,它仍然会引发错误: 在此处输入图像描述

我的解决方案

我使用的解决方案是从表情符号选择器中选择“E0.6 keycap 1”而不是“keycap 1”。我建议按照@a2br 建议的方式来创建自己的表情 - 这样它将在不同设备上保持一致。

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

标签: discorddiscord.js

解决方案


自从我上次使用 Discord.js 已经很久了,但我清楚地记得这个具体的问题;我不知道为什么,但 Discord 机器人不支持数字表情符号。

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

编辑:哦,我没有阅读整个问题。上面的解决方案是针对短信而不是反应编写的。因此,对于反应,它会是message.react("000000000000000000"). 不过,可能有更好的解决方案,这也是另一个 SO question 中已回答的内容。


推荐阅读