Пример #1
0
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
Пример #2
0
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 ""