[Python] Console Telegram Logger

Данный скрипт предоставляет возможность смотреть приходящие сообщения в режиме реального времени. Удобно, чтобы не ставить официальный клиент себе на компьютер. Сгодится только для чтения новых сообщений (старые не видит).
console_client.webp

ConsoleLogger:
Python:
from pyrogram import Client, filters
# GET -> https://my.telegram.org/apps
API_ID = 124315
API_HASH = "brsserhhseyh23y6423bhw3"
SESSION_NAME = "ConsoleLogger"

app = Client(SESSION_NAME, api_id=API_ID, api_hash=API_HASH)

@app.on_message(filters.text | filters.photo | filters.document | filters.sticker | filters.voice | filters.video)
async def log_message(client, message):
    chat_title = message.chat.title or "Личка"
    sender_name = message.from_user.first_name if message.from_user else "Неизвестно"
    username = f"@{message.from_user.username}" if message.from_user and message.from_user.username else ""

    print(f"[{chat_title}] {sender_name} {username}:")

    if message.text:
        print(f"{message.text}")
    elif message.photo:
        print(f"Фото (ID: {message.photo.file_id})")
    elif message.document:
        print(f"Документ: {message.document.file_name}")
    elif message.sticker:
        print(f"Стикер (ID: {message.sticker.file_id})")
    elif message.voice:
        print(f"Голосовое (Продолжительность: {message.voice.duration}с)")
    elif message.video:
        print(f"Видео (Продолжительность: {message.video.duration}с)")

    print("-" * 50)

if __name__ == "__main__":
    app.run()

Сборка

Bash:
#!/bin/bash

SCRIPT_NAME="console_client.py"
SPEC_FILE="console_client.spec"

if [ ! -f "$SCRIPT_NAME" ]; then
    echo "Error: $SCRIPT_NAME not found!"
    exit 1
fi

python3 -m venv env
source env/bin/activate

pip install --upgrade pip
pip install pyrogram tgcrypto pyinstaller

pyinstaller --onefile "$SCRIPT_NAME"

if [ $? -ne 0 ]; then
    deactivate
    rm -rf env
    exit 1
fi

deactivate
rm -rf env build
rm "$SPEC_FILE"

echo "Build completed. Executable is in 'dist' folder."
 
Назад
Сверху