【问题标题】:How to make the bot react to the author's message如何让机器人对作者的信息做出反应
【发布时间】:2020-06-17 04:58:12
【问题描述】:

所以我正在制作一个不和谐的机器人,在我的帮助命令中,我希望机器人向帮助命令消息添加一个反应,就像这样。

我尝试过重新创建它,但没有成功,如果可以,请提供帮助。

【问题讨论】:

    标签: python discord.py


    【解决方案1】:

    为了add_reaction(),您需要获取消息对象并指定您要使用的表情符号。因为它是coroutine,所以它必须是awaited。


    表情符号:

    指定表情符号时,它必须是以下之一:

    • Unicode - \u2705
    • 表情符号本身 - ✅(如果您的 IDE 支持)
    • 名称和 ID - <:emoji_name:112233445566778899>(用于自定义表情符号) - get_emoji() 也可用,返回 discord.Emoji

    您可以使用this 网站查找表情符号的 unicode 和字符串表示形式并将其粘贴到其中。
    对于自定义表情符号,您可以在 discord 中输入\:emoji_name: 并发送消息,您将收到<:emoji_name:123...> 格式的消息。


    命令:

    感谢Context,我们可以在使用命令时通过ctx.message获取消息:

    @bot.command()
    async def cmd(ctx):
        # Do some stuff
        await ctx.message.add_reaction("\u2705")
    

    on_message():

    我们在on_message 事件中获得了message 对象本身:

    @bot.event
    async def on_message(message):
        await bot.process_commands(message) # Don't forget this is you're using commands too
        if message.content.lower().startswith("!cmd"):
            # Do some stuff
            await message.add_reaction("\u2705")
    

    参考资料:

    【讨论】:

    • 啊,谢谢,但我必须更改一件事,那就是“如果 msg.content.lower().startswith("!cmd")”行我必须将 msg 更改为消息。
    • 哦,是的,很好,哈哈!祝你机器人的其余部分好运:^)
    猜你喜欢
    • 2018-12-15
    • 1970-01-01
    • 2020-12-14
    • 2020-11-07
    • 2020-11-21
    • 2020-12-13
    • 1970-01-01
    • 2020-09-03
    • 1970-01-01
    相关资源
    最近更新 更多