@@ -43,6 +43,7 @@ async def process_message(message_data: dict) -> None:
4343 """Process single message from SQS queue."""
4444 import logging
4545 logger = logging .getLogger ()
46+ logger .setLevel (logging .INFO )
4647
4748 config = Config .from_env ()
4849 bot = Bot (config .telegram_token )
@@ -162,23 +163,40 @@ async def process_message(message_data: dict) -> None:
162163 text = text [:4000 ] + "\n \n ... (truncated)"
163164
164165 # Send response to Telegram
166+ # Only reply to original message if we're in the same thread
167+ reply_to_id = (
168+ message .message_id
169+ if thread_id == message .message_thread_id
170+ else None
171+ )
172+
165173 try :
166174 await bot .send_message (
167175 chat_id = message .chat_id ,
168176 text = text ,
169177 parse_mode = ParseMode .MARKDOWN_V2 ,
170178 message_thread_id = thread_id ,
171- reply_to_message_id = message .message_id ,
179+ reply_to_message_id = reply_to_id ,
180+ )
181+ logger .info (
182+ f"Message sent successfully to chat_id={ message .chat_id } , "
183+ f"thread_id={ thread_id } , reply_to={ reply_to_id } "
172184 )
173185 except BadRequest as e :
174186 if "parse entities" in str (e ).lower ():
187+ logger .warning (f"Markdown parse error, retrying with escaped text: { e } " )
175188 safe_text = escape_markdown (text , version = 2 )
176189 await bot .send_message (
177190 chat_id = message .chat_id ,
178191 text = safe_text ,
179192 parse_mode = ParseMode .MARKDOWN_V2 ,
180193 message_thread_id = thread_id ,
181- reply_to_message_id = message .message_id ,
194+ reply_to_message_id = reply_to_id ,
195+ )
196+ logger .info (
197+ f"Message sent successfully (escaped) to chat_id={ message .chat_id } , "
198+ f"thread_id={ thread_id } , reply_to={ reply_to_id } "
182199 )
183200 else :
201+ logger .error (f"Failed to send message: { e } " )
184202 raise
0 commit comments