Discord.py 反应角色和 DMing 反应堆

Posted

技术标签:

【中文标题】Discord.py 反应角色和 DMing 反应堆【英文标题】:Discord.py Reaction Roles and DMing the reactor 【发布时间】:2021-04-02 12:41:52 【问题描述】:

我希望机器人为对消息做出反应的人赋予角色。机器人还应该 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'!")



【问题讨论】:

对不起,但这不太适合关于 SO 的问题。尝试在线搜索。 这能回答你的问题吗? How to react to a specific message (discord.py) 【参考方案1】:

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

@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")

这只会发送任何对您的命令/消息点赞或点赞的用户。

在这种情况下,如果您的机器人是私人机器人或小型机器人,这应该可以使用,但是变得更大并且在更多服务器中,您应该使用反应等待,等待作者发送命令后他指定的反应。您的问题没有详细解释,但我希望这会有所帮助

【讨论】:

以上是关于Discord.py 反应角色和 DMing 反应堆的主要内容,如果未能解决你的问题,请参考以下文章

当用户添加反应 Discord.py 时错误赋予角色

当用户添加反应 Discord.py 时赋予角色

如何在 discord.py 中给某人一个角色?

.verify 命令未赋予角色(discord.py 1.7.3)

如何改进反垃圾邮件功能 discord.py?

discord.py 按内容获取消息