|
1 | 1 | from telethon import TelegramClient, events |
| 2 | +from telethon.errors import MessageIdInvalidError |
2 | 3 | from datetime import datetime |
3 | 4 | import asyncio |
4 | 5 | import re |
@@ -322,21 +323,34 @@ async def send_to_log_channel(event, username): |
322 | 323 | message = event.message |
323 | 324 | current_time = datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')[:-3] |
324 | 325 |
|
| 326 | + # Get message details with checks for missing attributes |
| 327 | + chat_title = event.chat.title if event.chat and hasattr(event.chat, 'title') else 'Unknown' |
| 328 | + sender_id = event.sender_id if event.sender_id else 'Unknown' |
| 329 | + message_id = message.id if hasattr(message, 'id') else 'Unknown' |
| 330 | + sender_username = username if username else 'Unknown' |
| 331 | + is_group = 'Yes' if event.is_group else 'No' # Default to 'No' if not a group |
| 332 | + has_media = 'Yes' if event.media else 'No' # Default to 'No' if no media |
| 333 | + chat_type = 'GROUP CHAT' if event.is_group else 'CHANNEL' |
| 334 | + |
325 | 335 | # Prepare message details to print |
326 | 336 | message_details = f""" |
327 | | -**Current Time:** {current_time} |
328 | | -**Message Date:** {message.date} |
329 | | -**Message ID:** {message.id} |
330 | | -**Sender ID:** {event.sender_id} |
331 | | -**Sender Username:** [{event.sender.username if event.sender else 'Unknown'} : {username}] |
332 | | -**Chat Name:** {event.chat.title if event.chat else 'N/A'} |
333 | | -**Is Group:** {event.is_group} |
334 | | -**Is Channel:** {event.is_channel} |
335 | | -**Has Media:** {'Yes' if event.media else 'No'} |
| 337 | +🕒 **Current Time:** {current_time} |
| 338 | +🔢 **MID:** {message_id} | **SID:** {sender_id} |
| 339 | +👤 **Username:** {username} |
| 340 | +💬 **Chat Name:** {chat_title} |
| 341 | +📱 **Type:** {chat_type} | 🎥 **Media:** {'Yes' if has_media else 'No'} |
336 | 342 | """ |
337 | 343 | # Forward message |
338 | | - await client.forward_messages(log_channel, event.message) |
339 | | - |
| 344 | + try: |
| 345 | + if message_id != 'Unknown': # Check if message ID is valid |
| 346 | + await client.forward_messages(log_channel, message) |
| 347 | + else: |
| 348 | + #print(f"Message ID {message_id} is invalid, cannot forward.") |
| 349 | + await client.send_message(log_channel, message.text or '[No text content]') |
| 350 | + except MessageIdInvalidError: |
| 351 | + #print(f"Message ID {message_id} is invalid or deleted, sending text instead.") |
| 352 | + await client.send_message(log_channel, message.text or '[No text content]') |
| 353 | + |
340 | 354 | # Send details of that message |
341 | 355 | await client.send_message(log_channel, message_details) |
342 | 356 |
|
|
0 commit comments