from pyrogram import enums from pyrogram.types import Message from Powers.bot_class import Gojo from Powers.database.antispam_db import GBan from Powers.database.approve_db import Approve from Powers.database.blacklist_db import Blacklist from Powers.database.chats_db import Chats from Powers.database.disable_db import Disabling from Powers.database.filters_db import Filters from Powers.database.greetings_db import Greetings from Powers.database.notes_db import Notes, NotesSettings from Powers.database.pins_db import Pins from Powers.database.rules_db import Rules from Powers.database.users_db import Users from Powers.database.warns_db import Warns, WarnSettings from Powers.utils.custom_filters import command @Gojo.on_message(command("stats", dev_cmd=True)) async def get_stats(c: Gojo, m: Message): # initialise bldb = Blacklist gbandb = GBan() notesdb = Notes() rulesdb = Rules grtdb = Greetings userdb = Users dsbl = Disabling appdb = Approve chatdb = Chats fldb = Filters() pinsdb = Pins notesettings_db = NotesSettings() warns_db = Warns warns_settings_db = WarnSettings replymsg = await m.reply_text("Fetching Stats...", quote=True) rply = ( f"Users: {(userdb.count_users())} in {(chatdb.count_chats())} chats\n" f"Anti Channel Pin: {(pinsdb.count_chats('antichannelpin'))} enabled chats\n" f"Clean Linked: {(pinsdb.count_chats('cleanlinked'))} enabled chats\n" f"Filters: {(fldb.count_filters_all())} in {(fldb.count_filters_chats())} chats\n" f" Aliases: {(fldb.count_filter_aliases())}\n" f"Blacklists: {(bldb.count_blacklists_all())} in {(bldb.count_blackists_chats())} chats\n" f" Action Specific:\n" f" None: {(bldb.count_action_bl_all('none'))} chats\n" f" Kick {(bldb.count_action_bl_all('kick'))} chats\n" f" Warn: {(bldb.count_action_bl_all('warn'))} chats\n" f" Ban {(bldb.count_action_bl_all('ban'))} chats\n" f"Rules: Set in {(rulesdb.count_chats_with_rules())} chats\n" f" Private Rules: {(rulesdb.count_privrules_chats())} chats\n" f"Warns: {(warns_db.count_warns_total())} in {(warns_db.count_all_chats_using_warns())} chats\n" f" Users Warned: {(warns_db.count_warned_users())} users\n" f" Action Specific:\n" f" Kick: {(warns_settings_db.count_action_chats('kick'))}\n" f" Mute: {(warns_settings_db.count_action_chats('mute'))}\n" f" Ban: {warns_settings_db.count_action_chats('ban')}\n" f"Notes: {(notesdb.count_all_notes())} in {(notesdb.count_notes_chats())} chats\n" f" Private Notes: {(notesettings_db.count_chats())} chats\n" f"GBanned Users: {(gbandb.count_gbans())}\n" f"Welcoming Users in: {(grtdb.count_chats('welcome'))} chats\n" f"Approved People: {(appdb.count_all_approved())} in {(appdb.count_approved_chats())} chats\n" f"Disabling: {(dsbl.count_disabled_all())} items in {(dsbl.count_disabling_chats())} chats.\n" "Action:\n" f" Del: Applied in {(dsbl.count_action_dis_all('del'))} chats.\n" ) try: await replymsg.edit_text(rply, parse_mode=enums.ParseMode.HTML) except Exception: await c.send_message(m.chat.id, rply, parse_mode=enums.ParseMode.HTML) return