Esempio n. 1
0
        data = message.reply_to_message.text

    elif len(args) >= 1:
        data = message.text.split(None, 1)[1]

    else:
        message.reply_text("Qué se supone que debo hacer con esto?")
        return

    key = (
        requests.post("https://nekobin.com/api/documents", json={"content": data})
        .json()
        .get("result")
        .get("key")
    )

    url = f"https://nekobin.com/{key}"

    reply_text = f"Copiado a *Nekobin* : {url}"

    message.reply_text(
        reply_text, parse_mode=ParseMode.MARKDOWN, disable_web_page_preview=True
    )


PASTE_HANDLER = DisableAbleCommandHandler("paste", paste, run_async=True)
dispatcher.add_handler(PASTE_HANDLER)

__command_list__ = ["paste"]
__handlers__ = [PASTE_HANDLER]
Esempio n. 2
0
 •`/clear <NombredeNota>`: Borrar nota con ese nombre.

*Nota:* Los nombres de las notas no distinguen entre mayúsculas y minúsculas y se convierten automáticamente a minúsculas antes de minúsculas
"""

__mod_name__ = "Notas"

GET_HANDLER = CommandHandler("get", cmd_get, run_async=True)
HASH_GET_HANDLER = MessageHandler(Filters.regex(r"^#[^\s]+"),
                                  hash_get,
                                  run_async=True)
SAVE_HANDLER = CommandHandler("save", save, run_async=True)
DELETE_HANDLER = CommandHandler("clear", clear, run_async=True)

LIST_HANDLER = DisableAbleCommandHandler(["notes", "saved"],
                                         list_notes,
                                         admin_ok=True,
                                         run_async=True)

CLEARALL = DisableAbleCommandHandler("removeallnotes", clearall)
CLEARALL_BTN = CallbackQueryHandler(clearall_btn, pattern=r"notes_.*")

dispatcher.add_handler(GET_HANDLER)
dispatcher.add_handler(SAVE_HANDLER)
dispatcher.add_handler(LIST_HANDLER)
dispatcher.add_handler(DELETE_HANDLER)
dispatcher.add_handler(HASH_GET_HANDLER)
dispatcher.add_handler(CLEARALL)
dispatcher.add_handler(CLEARALL_BTN)

__command_list__ = ["get", "save", "clear", "notes", "saved", "removeallnotes"]
Esempio n. 3
0
el mensaje se eliminará inmediatamente. A veces, una buena combinación es combinar esto con filtros de advertencia.

* NOTA:* las listas negras no afectan a los administradores de grupo.

 •`/blacklist`: Ver las palabras actuales de la lista negra.

*Solo administradores:*
 •`/addblacklist <triggers>`: Agrega un trigger a la lista negra. Cada línea se considera un trigger, por lo que el uso de \
las líneas le permitirán agregar múltiples activadores.
 •`/unblacklist <triggers>`: Elimina los triggers de la lista negra. Aquí se aplica la misma lógica de nueva línea, por lo que puede eliminar \
múltiples disparadores a la vez.
 •`/rmblacklist <triggers>`: Igual que arriba.
"""

BLACKLIST_HANDLER = DisableAbleCommandHandler("blacklist",
                                              blacklist,
                                              run_async=True)
ADD_BLACKLIST_HANDLER = CommandHandler("addblacklist",
                                       add_blacklist,
                                       run_async=True)
UNBLACKLIST_HANDLER = CommandHandler(["unblacklist", "rmblacklist"],
                                     unblacklist,
                                     run_async=True)
BLACKLIST_DEL_HANDLER = MessageHandler(
    (Filters.text | Filters.command | Filters.sticker | Filters.photo)
    & Filters.chat_type.groups,
    del_blacklist,
    run_async=True,
)
dispatcher.add_handler(BLACKLIST_HANDLER)
dispatcher.add_handler(ADD_BLACKLIST_HANDLER)
Esempio n. 4
0
    teks = await tr(text, targetlang="es")
    return teks.text


__help__ = """
Obtén información sobre anime, manga o personajes de [AniList](anilist.co).
*Comandos disponibles:*
 •`/anime <anime>`*:* Devuelve información sobre el anime.
 •`/character <carácter>`*:* Devuelve información sobre el carácter.
 •`/manga <manga>`*:* Devuelve información sobre el manga.
 •`/upcoming`*: * Devuelve una lista de nuevos animes en las próximas temporadas.
 •`/airing <anime>`*:* Devuelve información de emisión de anime.
 •`/whatanime`*:* Busca un anime respondiendo a un GIF, vídeo o imagen de una captura de un capítulo del Anime.
 """

AIRING_HANDLER = DisableAbleCommandHandler("airing", airing, run_async=True)
ANIME_HANDLER = DisableAbleCommandHandler("anime", anime, run_async=True)
CHARACTER_HANDLER = DisableAbleCommandHandler("character",
                                              character,
                                              run_async=True)
MANGA_HANDLER = DisableAbleCommandHandler("manga", manga, run_async=True)
UPCOMING_HANDLER = DisableAbleCommandHandler("upcoming",
                                             upcoming,
                                             run_async=True)

dispatcher.add_handler(ANIME_HANDLER)
dispatcher.add_handler(CHARACTER_HANDLER)
dispatcher.add_handler(MANGA_HANDLER)
dispatcher.add_handler(AIRING_HANDLER)
dispatcher.add_handler(UPCOMING_HANDLER)
Esempio n. 5
0
    if success:
        msg.reply_text(
            "Stickerpack creado correctamente. Puedes encontrarlo [aquí](https://t.me/addstickers/%s"
            % packname,
            parse_mode=ParseMode.MARKDOWN,
        )
    else:
        msg.reply_text(
            "No se pudo crear el paquete de Stickers. Posiblemente debido a la magia negra."
        )


__help__ = """
•`/stickerid`: Responde a un sticker para decirte su ID de archivo.
•`/getsticker`: Responde a un sticker para subir su archivo PNG sin formato.
•`/steal`: Responde a un sticker para agregarlo a tu Stickerpack.
"""

__mod_name__ = "Stickers"
STICKERID_HANDLER = DisableAbleCommandHandler("stickerid", stickerid, run_async=True)
STICKERS_HANDLER = DisableAbleCommandHandler("stickers", cb_sticker, run_async=True)
GETSTICKER_HANDLER = DisableAbleCommandHandler("getsticker", getsticker, run_async=True)
STEAL_HANDLER = DisableAbleCommandHandler(
    ["steal", "kang"], steal, admin_ok=True, run_async=True
)

dispatcher.add_handler(STICKERID_HANDLER)
dispatcher.add_handler(STICKERS_HANDLER)
dispatcher.add_handler(GETSTICKER_HANDLER)
dispatcher.add_handler(STEAL_HANDLER)
Esempio n. 6
0
                    res, parse_mode=ParseMode.MARKDOWN)
            except:
                res = "*@{}* está AFK desde hace {}.\n*Razón:* {}".format(
                    user_name, afk_time, user.reason)
                update.effective_message.reply_text(
                    res, parse_mode=ParseMode.MARKDOWN)


__help__ = """
•`/afk <razón>`: Se marca como AFK (Lejos del Teclado).
•`brb <razón>`: Igual que el comando afk, pero no un comando.

Cuando se marca como AFK, cualquier mención será respondida con un mensaje para decirle que no está disponible.
"""

AFK_HANDLER = DisableAbleCommandHandler("afk", afk, run_async=True)
AFK_REGEX_HANDLER = DisableAbleMessageHandler(Filters.regex("(?i)brb"),
                                              afk,
                                              friendly="afk",
                                              run_async=True)

NO_AFK_HANDLER = DisableAbleMessageHandler(
    Filters.all & Filters.chat_type.groups,
    no_longer_afk,
    friendly="afk",
)
AFK_REPLY_HANDLER = DisableAbleMessageHandler(
    (Filters.entity(MessageEntity.MENTION)
     | Filters.entity(MessageEntity.TEXT_MENTION)
     | Filters.reply)
    & Filters.chat_type.groups,
            replymsg = f"*Resultados de Speedtest:*[\u200c\u200c\u200e]({speedtest_image})"
            speedtest_image = speed.results.share()
            update.effective_message.edit_text(replymsg,
                                               parse_mode=ParseMode.MARKDOWN)
            msg.delete()

        elif query.data == "speedtest_text":
            replymsg = "*Resultados de Speedtest:*"
            result = speed.results.dict()
            replymsg += f"\nDescarga: `{convert(result['download'])}Mb/s`\nSubida: `{convert(result['upload'])}Mb/s`\nPing: `{result['ping']}`"
            update.effective_message.edit_text(replymsg,
                                               parse_mode=ParseMode.MARKDOWN)
    else:
        query.answer(
            "Debes ser parte de la Asociación de Aventureros para usar este comando."
        )


SPEED_TEST_HANDLER = DisableAbleCommandHandler("speedtest",
                                               speedtestxyz,
                                               run_async=True)
SPEED_TEST_CALLBACKHANDLER = CallbackQueryHandler(speedtestxyz_callback,
                                                  pattern="speedtest_.*")

dispatcher.add_handler(SPEED_TEST_HANDLER)
dispatcher.add_handler(SPEED_TEST_CALLBACKHANDLER)

__mod_name__ = "SpeedTest"
__command_list__ = ["speedtest"]
__handlers__ = [SPEED_TEST_HANDLER, SPEED_TEST_CALLBACKHANDLER]
Esempio n. 8
0

__help__ = """
 • `/admins`: Lista de administradores en el chat
*Solo administradores:*
 • `/pin`: Fija silenciosamente el mensaje al que respondió - agregue` 'loud'` o `' notify'` para dar notificaciones a los usuarios.
 •`/unpin`: Quita el mensaje anclado actualmente.
 •`/link`: Obtén el link del grupo.
 •`/promote`: Promueve al usuario al que respondió.
 •`/demote`: Rebaja al usuario al que respondió.
 •`/title`: Establece un título personalizado para un administrador que promovió el bot.
 •`/admincache`: Actúaliza la lista de administradores.
"""

ADMINLIST_HANDLER = DisableAbleCommandHandler("admins",
                                              adminlist,
                                              run_async=True)

PIN_HANDLER = CommandHandler("pin",
                             pin,
                             filters=Filters.chat_type.groups,
                             run_async=True)
UNPIN_HANDLER = CommandHandler("unpin",
                               unpin,
                               filters=Filters.chat_type.groups,
                               run_async=True)

INVITE_HANDLER = DisableAbleCommandHandler("link", invite, run_async=True)

PROMOTE_HANDLER = DisableAbleCommandHandler("promote", promote, run_async=True)
DEMOTE_HANDLER = DisableAbleCommandHandler("demote", demote, run_async=True)
Esempio n. 9
0

__help__ = """
 •`/runs`: Responde una cadena aleatoria de una matriz de respuestas.
 •`/slap`: Abofetear a un usuario, o recibir una bofetada si no hay a quien reponder.
 •`/shrug`: Shrugs XD.
 •`/table`: Obtener flip/unflip.
 •`/decide`: Responde aleatoriamente sí/no/tal vez.
 •`/toss`: Lanza una moneda.
 •`/dice`: Tira un dado.
 •`/rlg`: Une oídos, nariz, boca y crea un emo ;-;
 •`/weebify <text>`: Devuelve un texto weebify.
"""


WEEBIFY_HANDLER = DisableAbleCommandHandler("weebify", weebify, run_async=True)
RUNS_HANDLER = DisableAbleCommandHandler("runs", runs, run_async=True)
SLAP_HANDLER = DisableAbleCommandHandler("slap", slap, run_async=True)
TOSS_HANDLER = DisableAbleCommandHandler("toss", toss, run_async=True)
DICE_HANDLER = DisableAbleCommandHandler("dice", dice, run_async=True)
SHRUG_HANDLER = DisableAbleCommandHandler("shrug", shrug, run_async=True)
RLG_HANDLER = DisableAbleCommandHandler("rlg", rlg, run_async=True)
DECIDE_HANDLER = DisableAbleCommandHandler("decide", decide, run_async=True)
TABLE_HANDLER = DisableAbleCommandHandler("table", table, run_async=True)

dispatcher.add_handler(WEEBIFY_HANDLER)
dispatcher.add_handler(RUNS_HANDLER)
dispatcher.add_handler(SLAP_HANDLER)
dispatcher.add_handler(TOSS_HANDLER)
dispatcher.add_handler(DICE_HANDLER)
dispatcher.add_handler(SHRUG_HANDLER)
Esempio n. 10
0
        if member.status == "member":
            query.answer("Solo el propietario del chat puede hacer esto.")


__help__ = """
A veces, puede confiar en que un usuario no enviará contenido no deseado. Tal vez no sea suficiente para convertirlos en administradores, pero es posible que no se apliquen bloqueos, listas negras y antiflood a ellos. Para eso están las liberaciones: libera a usuarios confiables para permitirles enviar. 
*Comandos de administrador:*  
 •`/freestatus`: Verifica el estado de aprobación de un usuario en el chat actual.
 •`/free`: Liberar a un usuario. Los bloqueos, las listas negras y el anti-flood ya no se les aplicarán.
 •`/unfree`: Desaprobar a un usuario. Estará sujeto a bloqueos, listas negras y antiinundación nuevamente.
 •`/freelist`: Lista todos los usuarios aprobados.
  •`/unfreeall`: Quitar la libertad de *TODOS* los usuarios en un chat. Esto no se puede deshacer.
"""

APPROVE = DisableAbleCommandHandler("free",
                                    approve,
                                    filters=Filters.chat_type.groups)
DISAPPROVE = DisableAbleCommandHandler("unfree",
                                       disapprove,
                                       filters=Filters.chat_type.groups,
                                       run_async=True)
APPROVED = DisableAbleCommandHandler("freelist",
                                     approved,
                                     filters=Filters.chat_type.groups,
                                     run_async=True)
APPROVAL = DisableAbleCommandHandler("freestatus",
                                     approval,
                                     filters=Filters.chat_type.groups,
                                     run_async=True)
UNAPPROVEALL = DisableAbleCommandHandler("unfreeall",
                                         unapproveall,
Esempio n. 11
0
  `/setme Hola soy Megumin.`
  `/me @nombredeusuario (por defecto es el tuyo si no hay un usuario especificado)`
*Información que otros agregan sobre tí:*
 •`/bio`: Obtendrás tu biografía o la de otro usuario. Esto no lo puede configurar tú mismo.
 •`/setbio <text>`: Mientras respondes, guardará la biografía de otro usuario.
Ejemplos:
   `/bio @username (por defecto es el tuyo si no hay usuario especificado).`
   `/setbio Este usuario es un lobo`(respondiendo al usuario)

*Información general sobre tí:*
 •`/info`: Obtén información sobre un usuario(respondiendo al usuario, escribiendo su ID o alías)
 •`/whois`: Obtén información sobre un usuario con información detallada.
"""

SET_BIO_HANDLER = DisableAbleCommandHandler("setbio",
                                            set_about_bio,
                                            run_async=True)
GET_BIO_HANDLER = DisableAbleCommandHandler("bio", about_bio, run_async=True)

STATS_HANDLER = CommandHandler("stats", stats, run_async=True)
ID_HANDLER = DisableAbleCommandHandler("id", get_id, run_async=True)
GIFID_HANDLER = DisableAbleCommandHandler("gifid", gifid, run_async=True)
INFO_HANDLER = DisableAbleCommandHandler(("info", "book"),
                                         info,
                                         run_async=True)

SET_ABOUT_HANDLER = DisableAbleCommandHandler("setme",
                                              set_about_me,
                                              run_async=True)
GET_ABOUT_HANDLER = DisableAbleCommandHandler("me", about_me, run_async=True)
Esempio n. 12
0
            "¡Se han encontrado páginas desambiguadas! Ajuste su busqueda en consecuencia.\n<i>{}</i>"
            .format(e),
            parse_mode=ParseMode.HTML,
        )
    except PageError as e:
        update.message.reply_text("<code>{}</code>".format(e),
                                  parse_mode=ParseMode.HTML)
    if res:
        result = f"<b>{search}</b>\n\n"
        result += f"<i>{res}</i>\n"
        result += f"""<a href="https://es.wikipedia.org/wiki/{search.replace(" ", "%20")}">Leer más...</a>"""
        if len(result) > 4000:
            with open("result.txt", "w") as f:
                f.write(f"{result}\n\nUwU OwO OmO UmU")
            with open("result.txt", "rb") as f:
                context.bot.send_document(
                    document=f,
                    filename=f.name,
                    reply_to_message_id=update.message.message_id,
                    chat_id=update.effective_chat.id,
                    parse_mode=ParseMode.HTML,
                )
        else:
            update.message.reply_text(result,
                                      parse_mode=ParseMode.HTML,
                                      disable_web_page_preview=True)


WIKI_HANDLER = DisableAbleCommandHandler("wiki", wiki, run_async=True)
dispatcher.add_handler(WIKI_HANDLER)
Esempio n. 13
0
 •`/wiki <query>`: Busca en Wikipedia

*Tiempo:*
•`/time <lugar>`: Da información sobre una zona horaria, 🕐 [Lista de Zonas Horarias](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones).

*Convertidor de moneda:*
 •`/cash`: Convertidor de moneda
*Ejemplo:*
  `/cash 1 USD INR`
        O
  `/cash 1 usd inr`
*Salida:* `1.0 USD = 75.505 INR`
"""

SAY_HANDLER = DisableAbleCommandHandler(
    "say", say, filters=Filters.chat_type.groups, run_async=True
)
MD_HELP_HANDLER = CommandHandler("markdownhelp", markdown_help, run_async=True)
WIKI_HANDLER = DisableAbleCommandHandler("wiki", wiki, run_async=True)
UD_HANDLER = DisableAbleCommandHandler("ud", ud, run_async=True)
CONVERTER_HANDLER = CommandHandler("cash", convert, run_async=True)
TIME_HANDLER = DisableAbleCommandHandler("time", gettime, run_async=True)

dispatcher.add_handler(SAY_HANDLER)
dispatcher.add_handler(WIKI_HANDLER)
dispatcher.add_handler(UD_HANDLER)
dispatcher.add_handler(MD_HELP_HANDLER)
dispatcher.add_handler(CONVERTER_HANDLER)
dispatcher.add_handler(TIME_HANDLER)

Esempio n. 14
0
*Ejemplos:*
  `/setme Hola soy Megumin.`
  `/me @nombredeusuario (por defecto es el tuyo si no hay un usuario especificado)`

*Información que otros agregan sobre tí:*
 •`/bio`: Obtendrás tu biografía o la de otro usuario. Esto no lo puedes configurar tú.
 •`/setbio <text>`: Mientras respondes, guardará la biografía de otro usuario.

*Ejemplos:*
   `/bio @username (por defecto es el tuyo si no hay usuario especificado).`
   `/setbio Este usuario es un lobo`(respondiendo al usuario)
"""

SET_BIO_HANDLER = DisableAbleCommandHandler("setbio",
                                            set_about_bio,
                                            run_async=True)
GET_BIO_HANDLER = DisableAbleCommandHandler("bio", about_bio, run_async=True)

SET_ABOUT_HANDLER = DisableAbleCommandHandler("setme",
                                              set_about_me,
                                              run_async=True)
GET_ABOUT_HANDLER = DisableAbleCommandHandler("me", about_me, run_async=True)

dispatcher.add_handler(SET_BIO_HANDLER)
dispatcher.add_handler(GET_BIO_HANDLER)
dispatcher.add_handler(SET_ABOUT_HANDLER)
dispatcher.add_handler(GET_ABOUT_HANDLER)

__mod_name__ = "Info"
__command_list__ = [
Esempio n. 15
0
•`/exploitme`: Explota(kickea) al usuario que emitió el comando.

*Solo administradores:*
 •`/ban <usuario>`: Prohíbe (Banea) a un usuario. (a través del ID o respondiendo)
 •`/tban <usuario> x (m/h/d)`: Prohíbe (Banea) a un usuario durante el tiempo `x`. (a través del ID o respondiendo). `m` = `minutos`, `h` = `horas`, `d` = `días`.
 •`/unban <usuario>`: Desbloquea a un usuario. (a través del ID o respondiendo)
 •`/kick o /exploit <usuario>`: Saca a un usuario del grupo. (a través del ID o respondiendo)
"""

BAN_HANDLER = CommandHandler("ban", ban, run_async=True)
TEMPBAN_HANDLER = CommandHandler(["tban"], temp_ban, run_async=True)
EXPLOIT_HANDLER = CommandHandler(["exploit", "kick"], exploit, run_async=True)
UNBAN_HANDLER = CommandHandler("unban", unban, run_async=True)
ROAR_HANDLER = CommandHandler("roar", selfunban, run_async=True)
EXPLOITME_HANDLER = DisableAbleCommandHandler("exploitme",
                                              exploitme,
                                              filters=Filters.chat_type.groups,
                                              run_async=True)

dispatcher.add_handler(BAN_HANDLER)
dispatcher.add_handler(TEMPBAN_HANDLER)
dispatcher.add_handler(EXPLOIT_HANDLER)
dispatcher.add_handler(UNBAN_HANDLER)
dispatcher.add_handler(ROAR_HANDLER)
dispatcher.add_handler(EXPLOITME_HANDLER)

__mod_name__ = "Bans"
__handlers__ = [
    BAN_HANDLER,
    TEMPBAN_HANDLER,
    EXPLOIT_HANDLER,
    UNBAN_HANDLER,
Esempio n. 16
0
 •`/nowarn <palabra clave>`*:* Detener el filtro de advertencia.
 •`/warnlimit <número>` *:* Establece el límite de advertencias.
 •`/strongwarn <on/si/off/no>`*:* Si se activa, exceder el límite de advertencia resultará en un ban. De lo contrario, solo kickeará.
"""

__mod_name__ = "Advertencias"

WARN_HANDLER = CommandHandler("warn",
                              warn_user,
                              filters=Filters.chat_type.groups)
RESET_WARN_HANDLER = CommandHandler(["resetwarn", "resetwarns"],
                                    reset_warns,
                                    filters=Filters.chat_type.groups)
CALLBACK_QUERY_HANDLER = CallbackQueryHandler(button, pattern=r"rm_warn")
MYWARNS_HANDLER = DisableAbleCommandHandler("warns",
                                            warns,
                                            filters=Filters.chat_type.groups)
ADD_WARN_HANDLER = CommandHandler("addwarn",
                                  add_warn_filter,
                                  filters=Filters.chat_type.groups)
RM_WARN_HANDLER = CommandHandler(["nowarn", "stopwarn"],
                                 remove_warn_filter,
                                 filters=Filters.chat_type.groups)
LIST_WARN_HANDLER = DisableAbleCommandHandler(
    ["warnlist", "warnfilters"],
    list_warn_filters,
    filters=Filters.chat_type.groups,
    admin_ok=True,
)
WARN_FILTER_HANDLER = MessageHandler(
    CustomFilters.has_text & Filters.chat_type.groups, reply_filter)
Esempio n. 17
0
*Nota:* Los triggers también admiten markdown como: {firts}, {last}, etc. y botones.
¡Pon `/markdownhelp` para saber más!
"""

__mod_name__ = "Triggers"

FILTER_HANDLER = CommandHandler("settrigger", filters, run_async=False)
STOP_HANDLER = CommandHandler("deltrigger", stop_filter, run_async=False)
RMALLFILTER_HANDLER = CommandHandler("rmalltriggers",
                                     rmall_filters,
                                     filters=Filters.chat_type.groups)
RMALLFILTER_CALLBACK = CallbackQueryHandler(rmall_callback,
                                            pattern=r"filters_.*")
LIST_HANDLER = DisableAbleCommandHandler("triggers",
                                         list_handlers,
                                         admin_ok=True)
CUST_FILTER_HANDLER = MessageHandler(
    CustomFilters.has_text & ~Filters.update.edited_message, reply_filter)

dispatcher.add_handler(FILTER_HANDLER)
dispatcher.add_handler(STOP_HANDLER)
dispatcher.add_handler(LIST_HANDLER)
dispatcher.add_handler(CUST_FILTER_HANDLER, HANDLER_GROUP)
dispatcher.add_handler(RMALLFILTER_HANDLER)
dispatcher.add_handler(RMALLFILTER_CALLBACK)

__handlers__ = [
    FILTER_HANDLER,
    STOP_HANDLER,
    LIST_HANDLER,
Esempio n. 18
0
    "(〜 ̄△ ̄)〜",
    "(「• ω •)「",
    "( ˘ ɜ˘) ♬♪♫",
    "( o˘◡˘o) ┌iii┐",
    "♨o(>_<)o♨",
    "( ・・)つ―{}@{}@{}-",
    "(*´з`)口゚。゚口(・∀・ )",
    "( *^^)o∀*∀o(^^* )",
    "-●●●-c(・・ )",
    "(ノ≧∀≦)ノ ‥…━━━★",
    "╰( ͡° ͜ʖ ͡° )つ──☆*:・゚",
    "(∩ᄑ_ᄑ)⊃━☆゚*・。*・:≡( ε:)",
]


def react(update: Update, context: CallbackContext):
    message = update.effective_message
    react = random.choice(reactions)
    if message.reply_to_message:
        message.reply_to_message.reply_text(react)
    else:
        message.reply_text(react)


REACT_HANDLER = DisableAbleCommandHandler("react", react)

dispatcher.add_handler(REACT_HANDLER)

__command_list__ = ["react"]
__handlers__ = [REACT_HANDLER]
Esempio n. 19
0
            wallpapers = json_rep.get("wallpapers")
            if not wallpapers:
                msg.reply_text("No se han encontrado resultados!")
                return
            else:
                index = randint(0, len(wallpapers) - 1)  # Choose random index
                wallpaper = wallpapers[index]
                wallpaper = wallpaper.get("url_image")
                wallpaper = wallpaper.replace("\\", "")
                bot.send_photo(
                    chat_id,
                    photo=wallpaper,
                    caption="Vista Previa",
                    reply_to_message_id=msg_id,
                    timeout=60,
                )
                bot.send_document(
                    chat_id,
                    document=wallpaper,
                    filename="wallpaper",
                    caption=caption,
                    reply_to_message_id=msg_id,
                    timeout=60,
                )


__mod_name__ = "Wallpapers"
WALLPAPER_HANDLER = DisableAbleCommandHandler("wall", wall, run_async=True)
dispatcher.add_handler(WALLPAPER_HANDLER)
__command_list__ = ["wall"]
Esempio n. 20
0
            "*Ejemplo:* `/tr en-es` Para traducir del inglés al español\n\n"
            "Para ver la lista de códigos de idioma puedes hacer click [aquí](http://t.me/CrimsonMeguRobot?start=ghelp_traductor).",
            parse_mode="markdown",
            disable_web_page_preview=True,
        )
    except ValueError:
        update.effective_message.reply_text(
            "No se encontró el idioma deseado!")
    else:
        return


__help__ = """
• `/tr` o `/tl` <código de idioma> Como respuesta a un mensaje largo. (Traducción predeterminada en español)
*Ejemplos:* 
`/tr en`: Traduce algo al inglés.
`/tr en-es`: Traduce del inglés al español.

*Lista de códigos de idioma:*\n\n`af`,`am`,`ar`,`az`,`be`,`bg`,`bn`,`bs`,`ca`,`ceb`,`co`,`cs`,`cy`,`da`,`de`,`el`,`en`,`eo`,`es`,`et`,`eu`,`fa`,`fi`,`fr`,`fy`,`ga`,`gd`,`gl`,`gu`,`ha`,`haw`,`hi`,`hmn`,`hr`,`ht`,`hu`,`hy`,`id`,`ig`,`is`,`it`,`iw`,`ja`,`jw`,`ka`,`kk`,`km`,`kn`,`ko`,`ku`,`ky`,`la`,`lb`,`lo`,`lt`,`lv`,`mg`,`mi`,`mk`,`ml`,`mn`,`mr`,`ms`,`mt`,`my`,`ne`,`nl`,`no`,`ny`,`pa`,`pl`,`ps`,`pt`,`ro`,`ru`,`sd`,`si`,`sk`,`sl`,`sm`,`sn`,`so`,`sq`,`sr`,`st`,`su`,`sv`,`sw`,`ta`,`te`,`tg`,`th`,`tl`,`tr`,`uk`,`ur`,`uz`,`vi`,`xh`,`yi`,`yo`,`zh`,`zh_CN`,`zh_TW`,`zu`
"""

TRANSLATE_HANDLER = DisableAbleCommandHandler(["tr", "tl"],
                                              totranslate,
                                              run_async=True)

dispatcher.add_handler(TRANSLATE_HANDLER)

__mod_name__ = "Traductor"
__command_list__ = ["tr", "tl"]
__handlers__ = [TRANSLATE_HANDLER]
Esempio n. 21
0
        chat_id = str(args[0])
        del args[0]
    except TypeError:
        update.effective_message.reply_text("Dame un chat!")
    to_send = " ".join(args)
    if len(to_send) >= 2:
        try:
            bot.send_message(int(chat_id), str(to_send))
        except TelegramError:
            update.effective_message.reply_text(
                "No pude enviar el mensaje. ¿Tal vez no formo parte de ese grupo?"
            )


INFO_HANDLER = DisableAbleCommandHandler("info",
                                         info,
                                         pass_args=True,
                                         run_async=True)
STATS_HANDLER = CommandHandler("stats", stats, run_async=True)
ID_HANDLER = DisableAbleCommandHandler("id", get_id, run_async=True)
GIFID_HANDLER = DisableAbleCommandHandler("gifid", gifid, run_async=True)
SISINFO_HANDLER = CommandHandler("sinfo", sisinfo, run_async=True)
SNIPE_HANDLER = CommandHandler("snipe", snipe, run_async=True)

dispatcher.add_handler(INFO_HANDLER)
dispatcher.add_handler(STATS_HANDLER)
dispatcher.add_handler(ID_HANDLER)
dispatcher.add_handler(GIFID_HANDLER)
dispatcher.add_handler(SISINFO_HANDLER)
dispatcher.add_handler(SNIPE_HANDLER)

__mod_name__ = "Misceláneo"
Esempio n. 22
0
        for artist, song in track_dict.items():
            rep += f"🎧  <code>{artist} - {song}</code>\n"
        last_user = (requests.get(
            f"{base_url}?method=user.getinfo&user={username}&api_key={LASTFM_API_KEY}&format=json"
        ).json().get("user"))
        scrobbles = last_user.get("playcount")
        rep += f"\n(<code>{scrobbles}</code> scrobbles hasta ahora)"

    msg.reply_text(rep, parse_mode=ParseMode.HTML)


__help__ = """
*Comandos disponibles:*
 •`/setuser <nombre de usuario>`: Establece tu nombre de usuario de Last.FM.
 •`/clearuser`: Elimina tu nombre de usuario de Last.FM del bot.
 •`/lastfm`: Devuelve lo que estás buscando en Last.FM.
"""

__mod_name__ = "Last.FM"

SET_USER_HANDLER = CommandHandler("setuser",
                                  set_user,
                                  pass_args=True,
                                  run_async=True)
CLEAR_USER_HANDLER = CommandHandler("clearuser", clear_user, run_async=True)
LASTFM_HANDLER = DisableAbleCommandHandler("lastfm", last_fm, run_async=True)

dispatcher.add_handler(SET_USER_HANDLER)
dispatcher.add_handler(CLEAR_USER_HANDLER)
dispatcher.add_handler(LASTFM_HANDLER)
Esempio n. 23
0
                 "<b>Tiempo tomado:</b> <code>{}</code>\n"
                 "<b>Tiempo en servicio:</b> <code>{}</code>".format(
                     telegram_ping, uptime))

    update.effective_message.reply_text(reply_msg, parse_mode=ParseMode.HTML)


def pingall(update: Update, context: CallbackContext):
    to_ping = ["Kaizoku", "Kayo", "Telegram", "Jikan"]
    pinged_list = ping_func(to_ping)
    pinged_list.insert(2, "")
    uptime = get_readable_time((time.time() - StartTime))

    reply_msg = "⏱Resultados de ping:\n"
    reply_msg += "\n".join(pinged_list)
    reply_msg += "\n<b>Tiempo en servicio:</b> <code>{}</code>".format(uptime)

    update.effective_message.reply_text(reply_msg,
                                        parse_mode=ParseMode.HTML,
                                        disable_web_page_preview=True)


PING_HANDLER = DisableAbleCommandHandler("ping", ping, run_async=True)
PINGALL_HANDLER = DisableAbleCommandHandler("pingall", pingall, run_async=True)

dispatcher.add_handler(PING_HANDLER)
dispatcher.add_handler(PINGALL_HANDLER)

__command_list__ = ["ping", "pingall"]
__handlers__ = [PING_HANDLER, PINGALL_HANDLER]
Esempio n. 24
0
*Reaccionar:*
 •`/react`: Reacciona con una reacción aleatoria
*Urban Dictonary(ENG):*
 •`/ud <palabra>` : Escriba la palabra o expresión que desea utilizar para la búsqueda
* Wikipedia: *
 •`/wiki <query>`: Busca en Wikipedia
*Convertidor de moneda:*
 •`/cash`: Convertidor de moneda
*Ejemplo:*
  `/cash 1 USD INR`
        O
  `/cash 1 usd inr`
*Salida:* `1.0 USD = 75.505 INR`
"""

SAY_HANDLER = DisableAbleCommandHandler("say",
                                        say,
                                        filters=Filters.chat_type.groups,
                                        run_async=True)
MD_HELP_HANDLER = CommandHandler("markdownhelp", markdown_help, run_async=True)

dispatcher.add_handler(SAY_HANDLER)
dispatcher.add_handler(MD_HELP_HANDLER)

__mod_name__ = "Extras"
__command_list__ = ["say"]
__handlers__ = [
    SAY_HANDLER,
    MD_HELP_HANDLER,
]
Esempio n. 25
0
from MeguRobot import dispatcher
from MeguRobot.modules.disable import DisableAbleCommandHandler
from telegram import Update
from telegram.ext import CallbackContext


def shout(update: Update, context: CallbackContext):
    args = context.args
    text = " ".join(args)
    result = []
    result.append(" ".join([s for s in text]))
    for pos, symbol in enumerate(text[1:]):
        result.append(symbol + " " + "  " * pos + symbol)
    result = list("\n".join(result))
    result[0] = text[0]
    result = "".join(result)
    msg = "```\n" + result + "```"
    return update.effective_message.reply_text(msg, parse_mode="MARKDOWN")


SHOUT_HANDLER = DisableAbleCommandHandler("shout", shout, run_async=True)

dispatcher.add_handler(SHOUT_HANDLER)

__command_list__ = ["shout"]
__handlers__ = [SHOUT_HANDLER]
Esempio n. 26
0
import requests
from MeguRobot import dispatcher
from MeguRobot.modules.disable import DisableAbleCommandHandler
from telegram import ParseMode, Update
from telegram.ext import CallbackContext


def ud(update: Update, context: CallbackContext):
    message = update.effective_message
    text = message.text[len("/ud "):]
    results = requests.get(
        f"https://api.urbandictionary.com/v0/define?term={text}").json()
    try:
        reply_text = f'*{text}*\n\n{results["list"][0]["definition"]}\n\n_{results["list"][0]["example"]}_'
    except:
        reply_text = "Sin resultados."
    message.reply_text(reply_text, parse_mode=ParseMode.MARKDOWN)


UD_HANDLER = DisableAbleCommandHandler(["ud"], ud, run_async=True)

dispatcher.add_handler(UD_HANDLER)

__command_list__ = ["ud"]
__handlers__ = [UD_HANDLER]
Esempio n. 27
0
 
Los bloqueos se pueden utilizar para restringir los usuarios de un grupo.
Por ejemplo:
El bloqueo de URL eliminará automáticamente todos los mensajes con URL, el bloqueo de stickers restringirá todos \
que los usuarios no administradores envíen stickers, etc.
El bloqueo de bots evitará que los no administradores agreguen bots al chat.

Nota:
 • Desbloquear el permiso *info* permitirá a los miembros (no administradores) cambiar la información del grupo, como la descripción o el nombre del grupo
 • Desbloquear el permiso *pin* permitirá a los miembros (no administradores) anclar un mensaje en un grupo
"""

__mod_name__ = "Bloqueos"

LOCKTYPES_HANDLER = DisableAbleCommandHandler("locktypes",
                                              locktypes,
                                              run_async=True)
LOCK_HANDLER = CommandHandler(
    "lock", lock, pass_args=True,
    run_async=True)  # , filters=Filters.chat_types.groups)
UNLOCK_HANDLER = CommandHandler(
    "unlock", unlock, pass_args=True,
    run_async=True)  # , filters=Filters.chat_types.groups)
LOCKED_HANDLER = CommandHandler(
    "locks", list_locks,
    run_async=True)  # , filters=Filters.chat_types.groups)

dispatcher.add_handler(LOCK_HANDLER)
dispatcher.add_handler(UNLOCK_HANDLER)
dispatcher.add_handler(LOCKTYPES_HANDLER)
dispatcher.add_handler(LOCKED_HANDLER)
Esempio n. 28
0
        result = generate_time(query_timezone, ["zoneName", "countryName"])

    if not result:
        send_message.edit_text(
            f"La información de zona horaria no está disponible para <b>{query}</b>\n"
            '<b>Todas las zonas horarias:</b> <a href="https://en.wikipedia.org/wiki/List_of_tz_database_time_zones">Lista aquí</a>',
            parse_mode=ParseMode.HTML,
            disable_web_page_preview=True,
        )
        return

    send_message.edit_text(result,
                           parse_mode=ParseMode.HTML,
                           disable_web_page_preview=True)


__help__ = """
 •`/time <lugar>`: Da información sobre una zona horaria.

*Lugares disponibles:* Código de país/Nombre de país/Nombre de zona horaria.
• 🕐 [Lista de Zonas Horarias](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones)
"""

TIME_HANDLER = DisableAbleCommandHandler("time", gettime, run_async=True)

dispatcher.add_handler(TIME_HANDLER)

__mod_name__ = "Tiempo"
__command_list__ = ["time"]
__handlers__ = [TIME_HANDLER]