Esempio n. 1
0
async def _(event):
    if event.fwd_from:
        return
    chat = await event.get_chat()
    admin = chat.admin_rights
    creator = chat.creator
    warn_reason = event.pattern_match.group(1)
    reply_message = await event.get_reply_message()
    
    if not admin and not creator:
        await event.edit("`Bruh I Am Not Admin Here`")
        return
    
    if await is_admin(event.chat_id, reply_message.from_id):
        return await event.edit("`User is an admin`")

    limit, soft_warn = sql.get_warn_setting(event.chat_id)
    num_warns, reasons = sql.warn_user(reply_message.from_id, event.chat_id, warn_reason)
    if num_warns >= limit:
        await event.client.edit_permissions(chat, reply_message.from_id, until_date=None, view_messages=False)
        if soft_warn:
            reply = "{} warnings, <u><a href='tg://user?id={}'>user</a></u> has been kicked!".format(limit, reply_message.from_id)
            await event.client.kick_participant(event.chat_id, reply_message.from_id)
        else:
            await event.client.edit_permissions(chat, reply_message.from_id, until_date=None, view_messages=False)
            reply = "{} warnings, <u><a href='tg://user?id={}'>user</a></u> has been banned!".format(limit, reply_message.from_id)
    else:
        reply = "<u><a href='tg://user?id={}'>user</a></u> has {}/{} warnings... watch out!".format(reply_message.from_id, num_warns, limit)
        if warn_reason:
            reply += "\nReason for last warn:\n{}".format(html.escape(warn_reason))
    #
    await event.edit(reply, parse_mode="html")
Esempio n. 2
0
async def _(event):
    if event.fwd_from:
        return
    warn_reason = event.pattern_match.group(1)
    reply_message = await event.get_reply_message()
    limit, soft_warn = sql.get_warn_setting(event.chat_id)
    num_warns, reasons = sql.warn_user(
        reply_message.from_id, event.chat_id, warn_reason)
    if num_warns >= limit:
        sql.reset_warns(reply_message.from_id, event.chat_id)
        if soft_warn:
            logger.info("TODO: kick user")
            reply = "<code>{}</code> warnings, <u><a href='tg://user?id={}'>user</a></u> has been kicked!".format(
                limit, reply_message.from_id)
        else:
            logger.info("TODO: ban user")
            reply = "<code>{}</code> warnings, <u><a href='tg://user?id={}'>user</a></u> has been banned!".format(
                limit, reply_message.from_id)
    else:
        reply = "<u><a href='tg://user?id={}'>User</a></u> has <code>{}/{}</code> warnings... watch out!".format(
            reply_message.from_id, num_warns, limit)
        if warn_reason:
            reply += "\nReason for last warn:\n<code>{}</code>".format(
                html.escape(warn_reason))
    #
    await event.edit(reply, parse_mode="html")
Esempio n. 3
0
async def _(event):
    if event.fwd_from:
        return
    try:
        chat = await event.get_chat()
        admin = chat.admin_rights
        creator = chat.creator
        warn_reason = event.pattern_match.group(1)
        reply_message = await event.get_reply_message()
    except:
        return await event.reply("`Sorry canot warn users here`")
    if not admin and not creator:
        return await event.reply("`I have to be admin to warn people.`")
    if await is_admin(event.chat_id, reply_message.sender.id):
        return await event.reply("`I'm not going to warn an admin!`")
    if reply_message.sender.id == 929138153:
        return await event.edit(
            "__HEY ME IS JAVES-3.0 THE TG USERBOT CRETED BY HIM__")
    limit, soft_warn = sql.get_warn_setting(event.chat_id)
    num_warns, reasons = sql.warn_user(reply_message.sender.id, event.chat_id,
                                       warn_reason)
    if num_warns >= limit:
        if soft_warn:
            reply = "{} warnings, <u><a href='tg://user?id={}'>user</a></u> has been muted!".format(
                limit, reply_message.sender.id)
            await event.client.edit_permissions(chat,
                                                reply_message.sender.id,
                                                until_date=None,
                                                send_messages=False)
        else:
            await event.client.edit_permissions(chat,
                                                reply_message.sender.id,
                                                until_date=None,
                                                view_messages=False)
            reply = "{} warnings, <u><a href='tg://user?id={}'>user</a></u> has been banned!".format(
                limit, reply_message.sender.id)
    else:
        reply = "<u><a href='tg://user?id={}'>user</a></u> has {}/{} warnings... watch out!".format(
            reply_message.sender.id, num_warns, limit)
        if warn_reason:
            reply += "\nReason for last warn:\n{}".format(
                html.escape(warn_reason))
    #
    await event.reply(reply, parse_mode="html")