from datetime import datetime, timedelta from pyrogram.errors import FloodWait, ChatAdminRequired, UserAdminInvalid from pagermaid.listener import listener from pagermaid.enums import Client, Message @listener(command="getdel", groups_only=True, need_admin=True, parameters="清理", description="获取当前群组的死号数。") async def get_del(client: Client, message: Message): """ PagerMaid get_del. """ need_kick = message.arguments member_count = 0 try: await message.edit('遍历成员中。。。') if need_kick: user = await client.get_chat_member(message.chat.id, (await client.get_me()).id) need_kick = bool(user.privileges and user.privileges.can_restrict_members) async for member in client.get_chat_members(message.chat.id): if member.user.is_deleted: member_count += 1 if need_kick: try: await client.ban_chat_member( message.chat.id, member.user.id, datetime.now() + timedelta(minutes=5)) except FloodWait: return await message.edit('处理失败,您已受到 TG 服务器限制。') except UserAdminInvalid: pass if need_kick: await message.edit(f'此群组的死号数:`{member_count}`,并且已经清理完毕。') else: await message.edit(f'此群组的死号数:`{member_count}`。') except ChatAdminRequired: await message.edit("你好像并不拥有封禁用户权限。")