async def send_quote(event): if event.fwd_from: return reply = await event.get_reply_message() msg = reply.message repliedreply = await reply.get_reply_message() user = ( await event.client.get_entity(reply.forward.sender) if reply.fwd_from else reply.sender ) res, canvas = await process(msg, user, event.client, reply, repliedreply) if not res: return canvas.save("sticker.webp") await event.client.send_file( event.chat_id, "sticker.webp", reply_to=event.reply_to_msg_id ) os.remove("sticker.webp") QUOTE_HANDLER = send_quote, events.NewMessage(pattern="^[!/]q") telethn.add_event_handler(*QUOTE_HANDLER) __mod_name__ = "Quotes" __command_list__ = ["q"] __handlers__ = [QUOTE_HANDLER]
if not await can_delete_messages(message=event): await event.reply("Parece que no puedes eliminar esto?") return message = await event.get_reply_message() if not message: await event.reply("Qué quieres eliminar?") return chat = await event.get_input_chat() del_message = [message, event.message] await event.client.delete_messages(chat, del_message) __help__ = """ *Solo administradores:* •`/del`*:* Elimina el mensaje al que respondió •`/purge`*:* Elimina todos los mensajes entre este y el mensaje respondido. •`/purge <X>`*:* Elimina el mensaje respondido y los X mensajes que lo siguen si respondieron a un mensaje. """ PURGE_HANDLER = purge_messages, events.NewMessage(pattern="^[!/]purge$") DEL_HANDLER = delete_messages, events.NewMessage(pattern="^[!/]del$") telethn.add_event_handler(*PURGE_HANDLER) telethn.add_event_handler(*DEL_HANDLER) __mod_name__ = "Eliminacion" __command_list__ = ["del", "purge"] __handlers__ = [PURGE_HANDLER, DEL_HANDLER]
def load(update: Update, context: CallbackContext): message = update.effective_message text = message.text.split(" ", 1)[1] load_messasge = message.reply_text( f"Intentando cargar el módulo: <b>{text}</b>", parse_mode=ParseMode.HTML) try: imported_module = importlib.import_module("MeguRobot.modules." + text) except: load_messasge.edit_text("Existe ese módulo?") return if not hasattr(imported_module, "__mod_name__"): imported_module.__mod_name__ = imported_module.__name__ if not imported_module.__mod_name__.lower() in IMPORTED: IMPORTED[imported_module.__mod_name__.lower()] = imported_module else: load_messasge.edit_text("Módulo ya cargado.") return if "__handlers__" in dir(imported_module): handlers = imported_module.__handlers__ for handler in handlers: if not isinstance(handler, tuple): dispatcher.add_handler(handler) else: if isinstance(handler[0], collections.Callable): callback, telethon_event = handler telethn.add_event_handler(callback, telethon_event) else: handler_name, priority = handler dispatcher.add_handler(handler_name, priority) else: IMPORTED.pop(imported_module.__mod_name__.lower()) load_messasge.edit_text("El módulo no se puede cargar.") return if hasattr(imported_module, "__help__") and imported_module.__help__: HELPABLE[imported_module.__mod_name__.lower()] = imported_module # Chats to migrate on chat_migrated events if hasattr(imported_module, "__migrate__"): MIGRATEABLE.append(imported_module) if hasattr(imported_module, "__stats__"): STATS.append(imported_module) if hasattr(imported_module, "__user_info__"): USER_INFO.append(imported_module) if hasattr(imported_module, "__import_data__"): DATA_IMPORT.append(imported_module) if hasattr(imported_module, "__export_data__"): DATA_EXPORT.append(imported_module) if hasattr(imported_module, "__chat_settings__"): CHAT_SETTINGS[imported_module.__mod_name__.lower()] = imported_module if hasattr(imported_module, "__user_settings__"): USER_SETTINGS[imported_module.__mod_name__.lower()] = imported_module load_messasge.edit_text( "Módulo cargado correctamente: <b>{}</b>".format(text), parse_mode=ParseMode.HTML, )
text = match.strip() elif event.reply_to_msg_id: reply = await event.get_reply_message() text = reply.raw_text if reply.document and reply.document.mime_type.startswith("text"): text = await reply.download_media(file=bytes) else: await event.reply("Dame algo para copiar", link_preview=False) return response = requests.post( "https://del.dog/documents", data=text.encode("UTF-8") if isinstance(text, str) else text, headers=dogheaders, ) if not response.ok: await event.reply("No se pudo copiar a [DelDog](https://del.dog/)", link_preview=False) return key = response.json()["key"] await event.reply(f"Copiado a [DelDog](https://del.dog/{key})", link_preview=False) DOGBIN_HANDLER = deldog, events.NewMessage( pattern="^[!/]dogbin(?: |$|\n)([\s\S]*)") telethn.add_event_handler(*DOGBIN_HANDLER) __command_list__ = ["dogbin"] __handlers__ = [DOGBIN_HANDLER]