我尝试创建一个简单的菜单系统,并在机器人中使用反应作为按钮。问题是,每次我试图发送一个表情符号(数字表情符号,菜单中每个命令对应一个),Discord就会弹出一个错误:unknown emoji。我使用的方法如下:
async def show_buttons(embed_object, menu, message):
emojis = ['1️⃣','2️⃣','3️⃣','4️⃣','5️⃣','6️⃣','7️⃣','8️⃣','9️⃣']
human_user = message.author
msg = await client.send_message(message.channel, embed=embed_object)
for command, emoji in zip(game_engine.buttons[menu], emojis):
await client.add_reaction(msg, emoji)
res = await client.wait_for_reaction(emojis, user=human_user, message=msg)
await client.send_message(message.channel, '{0.user} reacted with {0.reaction.emoji}!'.format(res))
...REST OF CODE GOES HERE...
game_engine.buttons[menu]
是标记为1-9的命令列表,embed_object
是以特定方式格式化的菜单。在
它总是返回错误:discord.errors.HTTPException: BAD REQUEST (status code: 400): Unknown Emoji
我该怎么办?在
像这样使用unicode时,我更喜欢使用名称转义符,因为许多unicode字符看起来非常相似。当我把列表中的第一个表情符号用在
我得到
^{pr2}$b'1\\N{VARIATION SELECTOR-16}\\N{COMBINING ENCLOSING KEYCAP}'
。但当我下命令的时候然后运行
!emojiname :one:
,我得到b'1\N{COMBINING ENCLOSING KEYCAP}'
。在所以你只需要改变你定义表情符号的方式。我建议这样做:
相关问题 更多 >
编程相关推荐