import asyncio
from .. import loader
from telethon import events
from datetime import datetime
from telethon.tl.types import User, Chat, Channel
def register(cb):
cb(CountMod())
class CountMod(loader.Module):
"""Количество чатов."""
strings = {'name': 'Count'}
async def countcmd(self, message):
if message.fwd_from:
return
start = datetime.now()
users = 0
groups = 0
supergroups = 0
channels = 0
bots = 0
await message.edit("Получаем информацию...")
async for dlgs in message.client.iter_dialogs(limit=None):
if dlgs.is_user:
if dlgs.entity.bot:
bots += 1
else:
users += 1
elif dlgs.is_channel:
if dlgs.entity.broadcast:
channels += 1
else:
supergroups += 1
elif dlgs.is_group:
groups += 1
end = datetime.now()
ms = ((end - start)//1000).microseconds
await message.edit(f"Подсчитано за {ms} мс.\n"
f"Количество моих чатов в Telegram:\n"
f"Пользователей: {users}\n"
f"Групп: {groups}\n"
f"Супер Групп: {supergroups}\n"
f"Каналов: {channels}\n"
f"Ботов: {bots}")