From 2986e80076ca81a132aadad6ca17fdeab1201e18 Mon Sep 17 00:00:00 2001 From: YoursFunny Date: Wed, 14 Aug 2024 01:52:01 +0800 Subject: [PATCH] fix edit message --- main.py | 14 +++++++------- utils/context.py | 1 + 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/main.py b/main.py index c3662d8..221123f 100644 --- a/main.py +++ b/main.py @@ -104,15 +104,15 @@ async def forward_message( async def edit_message(update: Update, context: CustomContext) -> None: if not (reply := update.message.reply_to_message): return - if reply.id not in context.chat_data.edit_message: + _edit_message = context.chat_data.edit_message.get(reply.id, None) + if not _edit_message: return - _edit_message = context.chat_data.edit_message[reply.id] new_text = '{1}'.format( _edit_message.url, html.escape(update.message.text) ) - update_text = ori_text.replace("[]", new_text) if "[]" in ( - ori_text := _edit_message.forward[0].caption) else new_text + update_text = context.chat_data.template[template].replace("[]", new_text) if ( + template := _edit_message.template) else new_text await _edit_message.forward[0].edit_caption(update_text) @@ -128,9 +128,9 @@ async def query_template(update: Update, context: CustomContext) -> None: query = update.callback_query await query.answer() name = query.data.split("|")[1] - await context.chat_data.edit_message[query.message.message_id].forward[0].edit_caption( - context.chat_data.template[name] - ) + _edit_message = context.chat_data.edit_message[query.message.message_id] + _edit_message.template = name + await _edit_message.forward[0].edit_caption(context.chat_data.template[name]) @send_action(ChatAction.TYPING) diff --git a/utils/context.py b/utils/context.py index bfd8a16..c19fff9 100644 --- a/utils/context.py +++ b/utils/context.py @@ -9,6 +9,7 @@ from telegram.ext import Application, CallbackContext, ExtBot class EditMessage: url: str forward: tuple[Message, ...] + template: str = "" def __str__(self): forward = ", ".join(f"Message({f.id})" for f in self.forward)