[Python] Ideias para minha função de ban no telegram [fechada]

Discussão em 'Python' iniciado por Stack, Setembro 9, 2024.

  1. Stack

    Stack Membro Participativo

    Enfim eu fiz uma função de banir o usuário no meu bot do telegram ele e um bot de ranking tem atualmente ums 4.000 usuários. Queria ideias ou coisas pra melhorar na minha função.

    from config_1 import ADMINS
    from database import cur
    from pyrogram.types import (
    CallbackQuery,
    InlineQuery,
    InlineQueryResultArticle,
    InputTextMessageContent,
    Message,
    )

    def usuario_banido(user_id: int) -> bool:
    q = cur.execute("SELECT is_blacklisted from users WHERE id = ?", [user_id])
    res = q.fetchone()

    return bool(res[0] if res else res)

    @Client.on_message(
    ~filters.user(ADMINS) & filters.regex(r"^/") & ~filters.channel, group=-2
    )
    async def verificar_usuario_banido_msg(c: Client, m: Message):
    if usuario_banido(m.from_user.id):
    qtd_msgs = cur.execute(
    "SELECT COUNT() FROM antiflood WHERE user_id = ?", [m.from_user.id]
    ).fetchone()[0]

    if qtd_msgs <= 1:
    await m.reply_text(
    "<b>Você está banido de usar os serviços do bot! Se acha que isso é um erro, procure o suporte do bot!</b>"
    )
    await m.stop_propagation()


    @Client.on_callback_query(~filters.user(ADMINS), group=-2)
    async def verificar_usuario_banido_cq(c: Client, m: CallbackQuery):
    if usuario_banido(m.from_user.id):
    qtd_msgs = cur.execute(
    "SELECT COUNT() FROM antiflood WHERE user_id = ?", [m.from_user.id]
    ).fetchone()[0]

    if qtd_msgs <= 1:
    await m.answer(
    "<b>Você está banido de usar os serviços do bot! Se acha que isso é um erro, procure o suporte do bot!</b>",
    show_alert=True,
    cache_time=30,
    )
    await m.stop_propagation()


    @Client.on_inline_query(~filters.user(ADMINS), group=-2)
    async def verificar_usuario_banido_inline(c: Client, m: InlineQuery):
    if usuario_banido(m.from_user.id):
    qtd_msgs = cur.execute(
    "SELECT COUNT() FROM antiflood WHERE user_id = ?", [m.from_user.id]
    ).fetchone()[0]

    resultados = [
    InlineQueryResultArticle(
    title="⛔️ Você foi banido do bot.",
    input_message_content=InputTextMessageContent(
    "<b>Você está banido de usar os serviços do bot! Se acha que isso é um erro, procure o suporte do bot!</b>"
    ),
    )
    ]

    if qtd_msgs <= 1:
    await m.answer(resultados, cache_time=30, is_personal=True)
    await m.stop_propagation()```

    Continue reading...

Compartilhe esta Página