Make .members fancy

master
Lonami 2019-10-21 12:18:32 +02:00
parent 0953826ee3
commit 508bf638bd
1 changed files with 13 additions and 23 deletions

View File

@ -2,6 +2,7 @@
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
import html
import time
from telethon import events
from telethon import utils
@ -43,8 +44,18 @@ async def _(event):
@borg.on(events.NewMessage(pattern=r"\.members", outgoing=True))
async def _(event):
last = 0
index = 0
members = []
async for member in borg.iter_participants(event.chat_id):
it = borg.iter_participants(event.chat_id)
async for member in it:
index += 1
now = time.time()
if now - last > 0.5:
last = now
await event.edit(f'counting member stats ({index / it.total:.2%})…')
messages = await borg.get_messages(
event.chat_id,
from_user=member,
@ -58,25 +69,4 @@ async def _(event):
m[1] for m in sorted(members, key=lambda m: m[0], reverse=True)
)
await event.edit("\n".join(members), parse_mode='html')
@borg.on(events.NewMessage(pattern=r"\.active_members", outgoing=True))
async def _(event):
members = []
async for member in borg.iter_participants(event.chat_id):
messages = await borg.get_messages(
event.chat_id,
from_user=member,
limit=1
)
date = messages[0].date
members.append((
date,
f"{date:%Y-%m-%d} - {get_who_string(member)}"
))
members = (
m[1] for m in sorted(members, key=lambda m: m[0], reverse=True)
)
await event.edit("\n".join(members), parse_mode='html')
await event.edit("\n".join(members), parse_mode='html')