如何计算表情符号并在不和谐的机器人反应中显示它们?

时间:2020-07-17 17:49:36

标签: python discord

for second in range(60):
    message_id = await message.channel.fetch_message(message.id)
    for reaction in message_id.reactions:
        thumbs_up_count = 0
        thumbs_down_count = 0
        if str(reaction.emoji) == '?':
            thumbs_up_count = reaction.emoji.count
        if str(reaction.emoji) == '?':
            thumbs_down_count = reaction.emoji.count
        await message.edit(content=("**----POLL----** \n \n**Green Today?** :thumbsup: {} \n \n**Red Today?**   :thumbsdown: {}".format(thumbs_up_count,thumbs_down_count)))
        await asyncio.sleep(3)

这是我的代码,它进行民意测验,人们对此表示赞同或反对。然后它会在投票进入时不断地编辑消息。代码效率不高,但是我看不到逻辑错误在哪里。它根本不计算表情符号,显示为0。

1 个答案:

答案 0 :(得分:0)

这是因为您总是将thumbs_up_count, thumbs_down_count的值替换为reaction.emoji.count所带来的价值,因此您可以尝试执行以下操作:

for second in range(60):
    message_id = await message.channel.fetch_message(message.id)
    for reaction in message_id.reactions:
        thumbs_up_count = 0
        thumbs_down_count = 0
        if str(reaction.emoji) == '?':
            thumbs_up_count += reaction.emoji.count
        if str(reaction.emoji) == '?':
            thumbs_down_count += reaction.emoji.count
        await message.edit(content=("**----POLL----** \n \n**Green Today?** :thumbsup: {} \n \n**Red Today?**   :thumbsdown: {}".format(thumbs_up_count,thumbs_down_count)))
        await asyncio.sleep(3)

请注意,在两种情况下我都将=替换为+=

希望它可以帮助您:)