You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

discord.py如何一行代码实现给消息添加多个表情反应

问题原因

你现有代码的写法相当于将三个国旗emoji字符串拼接为了一个整体传入add_reaction()方法,而该方法单次调用仅支持传入单个表情参数,因此无法实现添加三个独立反应的效果。

解决方法

使用Python标准库asyncio提供的gather()方法,可在单条await语句内并发执行多个异步任务,既不需要循环,也不需要编写多条独立的await语句:

import asyncio

@bot.command(name="test")
async def test(ctx):
    # 要完全实现单行效果,直接去掉参数间的换行写在同一行即可
    await asyncio.gather(
        ctx.message.add_reaction("🇪"),
        ctx.message.add_reaction("🇾"),
        ctx.message.add_reaction("🇴")
    )

asyncio.gather()会同时运行所有传入的协程任务,等待全部任务执行完成后再返回,执行效率比顺序添加反应更高。

内容的提问来源于stack exchange,提问作者DwarfmanDDH

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.15 02:36:04