python - 如何计算表情符号并在不和谐的机器人反应中显示它们?
问题描述
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。
解决方案
这是因为你总是用带来的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)
请注意,我在这两种情况下都替换=
为+=
希望它可以帮助你:)
推荐阅读
- laravel - Undefined variable in table.blade.php of job in laravel
- python - defining member functions within __init__
- python - AttributeError: 'FirefoxProfile' 对象没有属性 'update' 错误使用 FirefoxProfile 通过 Selenium 和 Python
- java - 为我的 Spring Boot 应用程序创建一个默认的安全登录页面
- reactjs - How to handle dropdown data and fetched English data when my user choose another language?
- python - Python for 循环仅将最后一个结果附加到列表/数据帧(以 iris 数据集为例)
- reactjs - 如何为 Kibana 开发插件?
- c# - Fresh 类型参数开闭
- cordova - 升级到 API 级别 28 后,我的项目插件无法正常工作
- c - 找到最小时间和日期戳的有效方法是什么?