【发布时间】:2021-09-08 21:24:42
【问题描述】:
我想要完成的是计算组中最活跃用户的排名。 我的方法是首先遍历组中的所有消息历史记录,获取用户名,将消息分配给它,然后在 python 中从最高(最常从给定用户发送)到最低排序,但我没有想法如何以编程方式制作它,我一直被困在这段代码中:
async def calculate_ranking(event):
@client.on(events.NewMessage)
async def calculate_ranking(event):
messages = {}
if "!ranking" in event.raw_text:
chat_id = event.chat_id
async for message in client.iter_messages(chat_id, reverse=True):
author = message.sender.username
messages[author] += 1
print(messages)
我不知道如何将消息分配给用户 所以输出例如:
- user1:12 条消息
- user2:10 条消息
【问题讨论】:
-
这能回答你的问题吗? Item frequency count in Python
标签: python bots telegram telethon