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}")