Discord.py 反应角色和管理反应器

时间:2020-12-23 22:58:47

标签: python discord discord.py

我希望机器人给对消息做出反应的人一个角色。机器人还应该 dm 做出反应的人。提前致谢。

这是我的代码:

@client.event
async def on_raw_reaction_add(payload):
    
    if payload.emoji.name == "?" and payload.user_id != client.user.id:
        embed = discord.Embed(
            description = "**You are now a Member of Resellheads!** ",
            color=16769251)
        
        channel = client.get_channel(payload.channel_id)
        message = await channel.fetch_message(payload.message_id)
        await message.channel.send(embed=embed)
        
        await message.channel.send("<@&776929011757613057> Please add the role 'Member'!")



1 个答案:

答案 0 :(得分:0)

在您的情况下无需使用原始反应添加,因为您仅使用它来发送命令。

@client.event
async def on_reaction_add(reaction, user):
    
    if reaction.emoji == '?':
        await user.send("You are now a member of your community!")

    if reaction.emoji == '?':
        await user.send("Sad to see you leave")

这只会向任何对您的命令/消息竖起大拇指或竖起大拇指作出反应的用户发送。

在这种情况下,如果您的机器人是私人或小型机器人,这应该很好用,但随着服务器越来越大,您应该使用反应等待,在作者发送命令后等待他指定的反应。您的问题中没有解释太多细节,但我希望这会有所帮助