Python 3.x 删除对我们自己的消息的反应

Python 3.x 删除对我们自己的消息的反应,python-3.x,discord,discord.py,discord.py-rewrite,Python 3.x,Discord,Discord.py,Discord.py Rewrite,我希望我的机器人删除对我们自己的消息的反应 @client.event 原始反应添加上的异步def(有效负载): 如果payload.channel_id==614467771866021944或469197781308014593: 如果payload.emoji.name==“dev”: 如果payload.channel_id==614467771866021944: 通道=客户端获取通道(614467771866021944) 如果payload.channel_id==46919778

我希望我的机器人删除对我们自己的消息的反应

@client.event
原始反应添加上的异步def(有效负载):
如果payload.channel_id==614467771866021944或469197781308014593:
如果payload.emoji.name==“dev”:
如果payload.channel_id==614467771866021944:
通道=客户端获取通道(614467771866021944)
如果payload.channel_id==469197781308014593:
通道=客户端获取通道(469197781308014593)
消息=等待通道。获取消息(有效负载。消息\u id)
emoji=get(channel.guild.emojis,name=payload.emoji.name)
反应=获取(message.reactions,表情符号=表情符号)
响应中用户的异步。用户()
如果user==message.author:
#删除反应
这一行将始终被评估为True,因为
469197781308014593
始终为True,就像在注释中所说的,在这种情况下,您应该使用
in
关键字

        if payload.channel_id == 614467771866021944:
            channel = client.get_channel(614467771866021944)
        if payload.channel_id == 469197781308014593:
            channel = client.get_channel(469197781308014593)
可以短路到

        channel = client.get_channel(payload.channel_id)

最终代码:

@client.event
async def on_raw_reaction_add(payload):
    if payload.channel_id in [614467771866021944, 469197781308014593]:
        if payload.emoji.name == "dev":
            channel = client.get_channel(payload.channel_id)
            message = await channel.fetch_message(payload.message_id)
            emoji = get(channel.guild.emojis, name=payload.emoji.name)
            reaction = get(message.reactions, emoji=emoji)
            async for user in reaction.users():
                if user == message.author:
                    await reaction.remove(user)

payload.channel_id==614467771866021944或469197781308014593
应该是(614467771866021944、469197781308014593)中的
payload.channel_id。
@client.event
async def on_raw_reaction_add(payload):
    if payload.channel_id in [614467771866021944, 469197781308014593]:
        if payload.emoji.name == "dev":
            channel = client.get_channel(payload.channel_id)
            message = await channel.fetch_message(payload.message_id)
            emoji = get(channel.guild.emojis, name=payload.emoji.name)
            reaction = get(message.reactions, emoji=emoji)
            async for user in reaction.users():
                if user == message.author:
                    await reaction.remove(user)