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.
✨ 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.
-
Create the service file:
sudo nano /etc/systemd/system/echosonar.service -
Paste configuration: (Replace
youruserwith 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
-
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e5b7fc07842f19784fa40e4e20043e56fd00f00e78eb479637fc50eb9b5272d9
|
|
| MD5 |
706a5f83dc25864b6479eafbf9bd76f2
|
|
| BLAKE2b-256 |
b3a2057a8b29d4498038919b4436187d57119d3e0654475558e1362f721046e7
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7fa3fb6000c9b81fcb82d208fc4f915c1175e44fe695463fa5a76cb4e136d708
|
|
| MD5 |
5bf1ee7eca8684ad1a26207ba81c5bcf
|
|
| BLAKE2b-256 |
df299ba4ef14bc69a07409d66c4010599e39ca51aa7ed11a25c4ac932f9dd1e9
|