예제 #1
0
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.")
예제 #2
0
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)
예제 #3
0
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)