【问题标题】:DiscordJS - React with a :one:DiscordJS - 使用 :one: 做出反应
【发布时间】:2020-12-13 02:31:57
【问题描述】:

我不知道如何对带有 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 宽度。

【问题讨论】:

  • 你不需要表情ID,你可以message.react("1️")
  • 这可能会造成混淆,因为 1 和 1️ 是相似的符号,但 message.react("1") 会返回错误,message.react("1️") 会与:one: emoji 做出反应
  • @Nathn 我看不出你发送的两个之间的区别,但我会复制粘贴。将您的评论放入答案中,如果有效,我会给您打勾。 (也请告诉我从哪里可以得到这些符号)
  • @Nathn 这似乎不起作用。而不是Unkown Emoji 我现在得到Emoji_Type 作为错误
  • 尝试复制粘贴 1️⃣、2️⃣、3️⃣、4️⃣、5️⃣、6️⃣、7️⃣、8️⃣、9️⃣或????进入你的代码,看看它是否有效。

标签: discord discord.js


【解决方案1】:

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

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

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

【讨论】:

    【解决方案2】:

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

    例子:

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

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

    【讨论】:

    • > 与 :one: 或 one 或不和谐链接反应也不起作用。
    • 原来 :one 没有 Unicode 字符:在频道中发送 \:one: 不起作用。尝试在之前的回复中使用来自 lioness100 的 unicode 字符。
    猜你喜欢
    • 2018-02-25
    • 2015-12-29
    • 1970-01-01
    • 1970-01-01
    • 2021-11-11
    • 2018-11-23
    • 1970-01-01
    • 1970-01-01
    • 2021-02-18
    相关资源
    最近更新 更多