如何让机器人使用自定义表情符号添加反应?

2024-05-16 19:37:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图添加一个自定义的表情符号作为对使用discord.py版本0.16.12的消息的响应,但无法使其正常工作。下面是我使用的代码:

@bot.event
async def on_message(message):
    if message.content.find(':EmojiName:'):
        await bot.add_reaction(message, '<:EmojiName:#EmojiID#>')

我还尝试将emoji id作为类似discord.js(message, '#EmojiID#')的字符串传递。我应该给add_reaction函数传递一个emoji对象吗?如果是这样,我如何从get_all_emojis函数中找到特定的emoji对象?


Tags: 对象函数代码py版本add消息message
2条回答

您可以使用实用函数^{}来获得适当的^{} object

from discord.utils import get

@bot.event
async def on_message(message):
    # we do not want the bot to reply to itself
    if message.author == bot.user:
        return
    if ':EmojiName:' in message.content:
        emoji = get(bot.get_all_emojis(), name='EmojiName')
        await bot.add_reaction(message, emoji)

别客气,伙计们,我想出来了。你必须将emoji对象本身传递给它。为了子孙后代着想,下面是我最终使用的代码:

async def on_message(message):
if message.content.find(':EmojiName:'):
    for x in client.get_all_emojis():
        if x.id == '#EmojiID#':
            return await client.add_reaction(message, x)

相关问题 更多 >