Make .members fancy
parent
0953826ee3
commit
508bf638bd
|
@ -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')
|
Reference in New Issue