def check_forwarded(client: Client, message: Message) -> bool: # Check forwarded messages try: # Do not check hidden forwarder if message.forward_sender_name: return True # Forward evidence if message.forward_from_chat and message.forward_from_chat.id != glovar.debug_channel_id: m = forward_evidence(client, message) if not m: return True m = general_link(m.message_id, message_link(m)) else: m = "" # Check DEBUG message automatically without using "/check" reply to that message if message.forward_from_chat and message.forward_from_chat.id == glovar.debug_channel_id: message.reply_to_message = message # Check TICKET message automatically without using "/check" reply to that message elif message.forward_from and message.forward_from.id == glovar.ticket_id: message.reply_to_message = message # Check subject check_subject(client, message, m) return True except Exception as e: logger.warning(f"Check forwarded error: {e}", exc_info=True) return False
def mention_answer(client: Client, message: Message, aid: int, uid: int, action_type: str) -> str: # Mention abuse try: # Basic data gid = message.chat.id mid = message.message_id # Abuse if action_type == "abuse": message.reply_to_message = message message.reply_to_message.from_user.id = uid message.reply_to_message.from_user.is_self = lang("abuse_mention") text, markup = warn_user(client, message, uid, aid) text += f"{lang('reason')}{lang('colon')}{code(lang('reason_abuse'))}\n" # Edit the report message thread(edit_message_text, (client, gid, mid, text, markup)) delay(180, delete_message, [client, gid, mid]) # Delete elif action_type == "delete": glovar.message_ids[gid] = (0, 0) save("message_ids") delete_message(client, gid, mid) except Exception as e: logger.warning(f"Mention answer error: {e}", exc_info=True) return ""