def decorator(func): telethn.add_event_handler(func, events.CallbackQuery(**args)) return func
if not await can_delete_messages(message=event): await event.reply("Can't seem to delete this?") return message = await event.get_reply_message() if not message: await event.reply("Whadya want to delete?") return chat = await event.get_input_chat() del_message = [message, event.message] await event.client.delete_messages(chat, del_message) __help__ = """ *Admin only:* - /del: deletes the message you replied to - /purge: deletes all messages between this and the replied to message. - /purge <integer X>: deletes the replied message, and X messages following it if replied to a message. """ 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__ = "Purges" __command_list__ = ["del", "purge"] __handlers__ = [PURGE_HANDLER, DEL_HANDLER]
def decorator(func): telethn.add_event_handler(func, events.InlineQuery(**args)) return func
def decorator(func): telethn.add_event_handler(func, events.UserUpdate(**args)) return func
def decorator(func): telethn.add_event_handler(func, events.ChatAction(**args)) return func
def decorator(func): telethn.add_event_handler(func, events.NewMessage(**args)) return func
def load(update: Update, context: CallbackContext): message = update.effective_message text = message.text.split(" ", 1)[1] load_messasge = message.reply_text( f"Attempting to load module : <b>{text}</b>", parse_mode=ParseMode.HTML) try: imported_module = importlib.import_module("SungJinwooRobot.modules." + text) except: load_messasge.edit_text("Does that module even exist?") 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("Module already loaded.") 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("The module cannot be loaded.") 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( "Successfully loaded module : <b>{}</b>".format(text), parse_mode=ParseMode.HTML)