Skip to main content

Telegram Monitoring User Bot

Project description

🛰️ EchoSonar

EchoSonar is a professional-grade Telegram monitoring user bot built with Telethon. It acts as an automated bridge, monitoring your private or public channels for specific keywords and instantly copying and re-uploading content to a destination of your choice.

PyPI version License: MIT


✨ Key Features

  • 🛡️ Content Protection Bypass: Automatically downloads and re-uploads media from restricted channels where "Saving Content" is disabled.
  • 📂 Full Album Support: Intelligently gathers media groups (albums) and forwards them as a single cohesive unit.
  • 👤 Human-Like Behavior: Implements randomized delays (3-8s) and manual re-upload flows to mimic human activity and reduce account flagging risks.
  • 🔄 Hot-Reloading: Update keywords, monitored channels, or destinations via CLI without restarting the running bot.
  • 🕵️ Private Channel Support: Easily monitor private channels using internal numeric IDs.

🚀 Installation

EchoSonar is designed to be installed in an isolated environment using pipx to avoid dependency conflicts.

# Install from PyPI (Recommended)
pipx install echosonar

# Or install directly from GitHub
pipx install git+https://github.com

🛠️ Quick Start

1. Configuration

Run the setup command to input your Telegram API credentials (get them at my.telegram.org):

echosonar setup

2. Find Private IDs

If you need to monitor private channels, use the following command to see all your joined chats and their internal IDs:

echosonar list-ids

3. Add Monitoring Targets

# Add a public channel by username
echosonar channels add "@PublicChannel"

# Add a private channel by numeric ID (use -- to handle negative numbers)
echosonar channels add -- "-1001234567890"

# Add keywords
echosonar keywords add "urgent"

4. Run & Authenticate

Start the bot once in your terminal to complete the one-time Telegram login:

echosonar run

🏠 Running Live 24/7

On a Server (Linux/VPS)

The professional way to run EchoSonar on a server is using systemd. This ensures the bot starts on boot and restarts automatically if it crashes.

  1. Create the service file: sudo nano /etc/systemd/system/echosonar.service

  2. Paste configuration: (Replace youruser with your Linux username)

    [Unit]
    Description=EchoSonar Telegram Bot
    After=network.target
    
    [Service]
    User=youruser
    ExecStart=/home/youruser/.local/bin/echosonar run
    Restart=always
    RestartSec=10
    WorkingDirectory=/home/youruser
    
    [Install]
    WantedBy=multi-user.target
    
  3. Start the service:

    sudo systemctl daemon-reload
    sudo systemctl enable --now echosonar
    

On a Personal Computer

For local background execution, use a terminal multiplexer like Screen or TMUX:

# Create a new session
screen -S echosonar

# Run the bot
echosonar run

# Detach (Press Ctrl+A then D)
# The bot will continue running in the background.

📖 Detailed Documentation

For a full list of all available commands and advanced usage, see COMMANDS.md.

⚖️ Disclaimer

This tool is for personal automation and research purposes. Please respect Telegram's Terms of Service and the copyright of content creators. Use of user bots carries a risk of account restriction if used for spam or malicious activity.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

echosonar-1.0.0.tar.gz (5.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

echosonar-1.0.0-py3-none-any.whl (6.9 kB view details)

Uploaded Python 3

File details

Details for the file echosonar-1.0.0.tar.gz.

File metadata

  • Download URL: echosonar-1.0.0.tar.gz
  • Upload date:
  • Size: 5.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for echosonar-1.0.0.tar.gz
Algorithm Hash digest
SHA256 9627b78e0bb95f60c8d9fd3f2765c147ccdab77388472c4184968c0cc002c579
MD5 94fd7f011e3772032f014cecf72b0fbf
BLAKE2b-256 5fd7bb12385eaa2b9a760888df1f8da09a623de5d58ae330afa79f1325b8c5a5

See more details on using hashes here.

Provenance

The following attestation bundles were made for echosonar-1.0.0.tar.gz:

Publisher: deploy.yml on K4speeer/EchoSonar

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file echosonar-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: echosonar-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 6.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for echosonar-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ab0bfb6096dee73aa1d98419468b5c87335ac79802cb1fff54b60cadd07df056
MD5 3674e2d45291c88dda11089a72f42059
BLAKE2b-256 f85e23c33554684e863a66b63619ae1c670c8c1ccba6ce0ee209fff1644ce172

See more details on using hashes here.

Provenance

The following attestation bundles were made for echosonar-1.0.0-py3-none-any.whl:

Publisher: deploy.yml on K4speeer/EchoSonar

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page