def clean_deleted(bot: BOT, message: Message): if AdminCheck(message) is True: message.edit("`Iterating through memberlist...`") all_members = BOT.iter_chat_members(message.chat.id) to_remove = [] removed = [] for member in all_members: if member.user.is_deleted: to_remove.append(member.user.id) message.edit(f"`{len(to_remove)} deleted accounts found.`") for usr in to_remove: try: BOT.kick_chat_member( chat_id=message.chat.id, user_id=usr) removed.append(usr) except UserAdminInvalid: pass except FloodWait as e: sleep(e.x) message.edit(f"Removed {len(removed)} deleted accounts.")
def kick_user(bot: BOT, message: Message): if ReplyCheck(message) is True and AdminCheck(message) is True: try: BOT.kick_chat_member( chat_id=message.chat.id, user_id=message.reply_to_message.from_user.id, until_date=0) BOT.unban_chat_member( chat_id=message.chat.id, user_id=message.reply_to_message.from_user.id) message.edit(KICKED.format(message)) LogMessage(KICKED_LOG.format( message, str(message.chat.id).replace("-100", ""))) except UserAdminInvalid: RestrictFailed(message)
def ban_hammer(bot: BOT, message: Message): if ReplyCheck(message) is True and AdminCheck(message) is True: try: BOT.kick_chat_member( chat_id=message.chat.id, user_id=message.reply_to_message.from_user.id, until_date=Timer(message)) if len(message.command) > 1: message.edit(BANNED_TIME.format( message, TimerString(message))) else: message.edit(BANNED.format(message)) LogMessage(BANNED_LOG.format( message, str(message.chat.id).replace("-100", ""))) except UserAdminInvalid: RestrictFailed(message)