Discord.py计算对消息的反应 [英] Discord.py count reactions on a message

查看:8
本文介绍了Discord.py计算对消息的反应的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在做一个机器人不和谐,我想让我的机器人在删除一条消息之前计算对它的反应数

@client.event
async def on_raw_reaction_add(payload):
    if payload.channel_id == 614467771866021944:
        if payload.emoji.name == "🔁":
            # if number of reactions > 4:
            # delete the message

推荐答案

您需要使用负载中的ID来获取消息的Message对象,然后从Message.reactions中检查相应的Reaction属性:

from discord.utils import get

@client.event
async def on_raw_reaction_add(payload):
    if payload.channel_id == 614467771866021944:
        if payload.emoji.name == "🔁":
            channel = client.get_channel(payload.channel_id)
            message = await channel.fetch_message(payload.message_id)
            reaction = get(message.reactions, emoji=payload.emoji.name)
            if reaction and reaction.count > 4:
                await message.delete()

这篇关于Discord.py计算对消息的反应的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆