我想让我的机器人创建一个嵌入,并添加一些表情符号,当你按下时,它们会给你一个角色.我也想在机器人重启时这样做,你知道的,我也不需要重启Embedded.

如果你真的不明白,请在 comments 中提问

推荐答案

这是您可以向消息添加react 的方式:

msg = await ctx.send(embed=embed)
    await msg.add_reaction("🧠")

这就是你处理react 角色的方式:

@bot.event
async def on_raw_reaction_add(payload):
    if payload.message_id == THE_ID_OF_YOUR_MESSAGE:
        guild = bot.get_guild(payload.guild_id)
        member = guild.get_member(payload.user_id)
        if str(payload.emoji) == "🧠":
            role = discord.utils.get(guild.roles, name=ROLE_NAME)
            await member.add_roles(role)

@bot.event
async def on_raw_reaction_remove(payload):
    if payload.message_id == THE_ID_OF_YOUR_MESSAGE:
        guild = bot.get_guild(payload.guild_id)
        member = guild.get_member(payload.user_id)
        if str(payload.emoji) == "🧠":
            role = discord.utils.get(guild.roles, name=ROLE_NAME)
            await member.remove_roles(role)

即使在机器人重新启动后,这个也能正常工作.

粘贴要在react 上提供的角色名称,而不是角色名称

将_ID_of_Your_Message更改为您之前与机器人一起响应的消息的ID.

Python相关问答推荐

在使用Guouti包的Python中运行MPP模型时内存不足

在Pandas框架中截短至固定数量的列

LAB中的增强数组

在函数内部使用eval(),将函数的输入作为字符串的一部分

仅从风格中获取 colored颜色 循环

Python多处理:当我在一个巨大的pandas数据框架上启动许多进程时,程序就会陷入困境

大Pandas 胚胎中产生组合

使用setuptools pyproject.toml和自定义目录树构建PyPi包

将9个3x3矩阵按特定顺序排列成9x9矩阵

如何设置视频语言时上传到YouTube与Python API客户端

如何并行化/加速并行numba代码?

Python导入某些库时非法指令(核心转储)(beautifulsoup4."" yfinance)

名为__main__. py的Python模块在导入时不运行'

将一个双框爆炸到另一个双框的范围内

查看pandas字符列是否在字符串列中

如何从比较函数生成ngroup?

Python—在嵌套列表中添加相同索引的元素,然后计算平均值

如何在Airflow执行日期中保留日期并将时间转换为00:00

修改.pdb文件中的值并另存为新的

Django抛出重复的键值违反唯一约束错误