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-0.1.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-0.1.0-py3-none-any.whl (6.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: echosonar-0.1.0.tar.gz
  • Upload date:
  • Size: 5.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Fedora Linux","version":"43","id":"","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for echosonar-0.1.0.tar.gz
Algorithm Hash digest
SHA256 e5b7fc07842f19784fa40e4e20043e56fd00f00e78eb479637fc50eb9b5272d9
MD5 706a5f83dc25864b6479eafbf9bd76f2
BLAKE2b-256 b3a2057a8b29d4498038919b4436187d57119d3e0654475558e1362f721046e7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: echosonar-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 6.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Fedora Linux","version":"43","id":"","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for echosonar-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7fa3fb6000c9b81fcb82d208fc4f915c1175e44fe695463fa5a76cb4e136d708
MD5 5bf1ee7eca8684ad1a26207ba81c5bcf
BLAKE2b-256 df299ba4ef14bc69a07409d66c4010599e39ca51aa7ed11a25c4ac932f9dd1e9

See more details on using hashes here.

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