Telegram bot for managing TorrServer — add torrents, stream, search, and control the server directly from Telegram.
- Torrent management — add, remove, drop, list via magnet, hash, or
torrs:// - Export & import — magnets list; import multiple from text
- Streaming — playback links, M3U playlists, preload
- Search — RuTor and Torznab with one-click add
- Inline mode —
@botnamein any chat: list torrents or search - Status & snake — real-time status, cache visualization
- File operations — browse files, download to Telegram
- FFprobe — media metadata via
/ffp - Localization — Russian and English
- Admin — shutdown, settings, presets (whitelist users only)
Start TorrServer with a Telegram bot token:
TorrServer --tg YOUR_BOT_TOKENOr use -T:
TorrServer -T YOUR_BOT_TOKENCreate a bot via @BotFather to get the token.
Config file tg.cfg (JSON) in the TorrServer data directory:
| Field | Description |
|---|---|
HostTG |
Telegram API URL (default: https://api.telegram.org) |
HostWeb |
Base URL for stream links (auto-detected if empty) |
WhiteIds |
Allowed user IDs (empty = allow all) |
BlackIds |
Blocked user IDs |
Example:
{
"HostTG": "https://api.telegram.org",
"HostWeb": "http://192.168.1.100:8090",
"WhiteIds": [123456789],
"BlackIds": []
}| Command | Description |
|---|---|
/help, /start, /id |
Help and user ID |
/list [compact] |
List torrents with buttons |
/add <link> |
Add torrent (magnet, hash, torrs://) |
/clear |
Remove all (with confirmation) |
/hash [N] |
Show info hashes |
| Command | Description |
|---|---|
/remove <hash|N> |
Remove torrent |
/drop <hash|N> |
Disconnect (keep in DB) |
/set <hash|N> <title> |
Set title |
/status [hash|N] |
Status with refresh/stop |
/cache <hash|N> |
Cache stats |
/preload <hash|N> <index> |
Preload file |
| Command | Description |
|---|---|
/link, /play |
Stream URL |
/m3u, /m3uall |
M3U playlist |
| Command | Description |
|---|---|
/search <query> |
RuTor + Torznab (all sources) |
/rutor <query> |
RuTor only |
/torznab <query> [index] |
Torznab indexers |
| Command | Description |
|---|---|
/export, /import |
Export/import magnets |
/categories |
List categories |
/server, /stats, /stat |
Server info |
/viewed |
Viewed files |
/ffp <hash|N> <id> [json] |
FFprobe metadata |
/speedtest [size] |
Download test (1–100 MB) |
/snake [hash|N] [cols] [rows] |
Cache visualization |
/lang [RU|EN] |
Language |
| Command | Description |
|---|---|
/shutdown |
Shut down server |
/settings |
Interactive settings menu (sub-pages: Search, Network, Other, Cache, Paths, Storage) |
/preset <name> |
Apply named preset: performance, storage, streaming, low, default |
/preset <key> <value> ... |
Apply key-value pairs: cache 256, preload 50, conn 100, etc. |
Preset examples:
/preset performance— max cache, high preload, no limits/preset cache 256 preload 50— set cache 256 MB and preload 50%/preset cache 512 conn 100 down 0 up 0— multiple values
Preset keys: cache, preload, readahead, conn, timeout, port, down, up, retr, responsive, cachedrop
Type @YourBotName in any chat:
- Empty, "list", or "play" — torrents with play links
- 2+ characters — search RuTor + Torznab
Paste as plain message to add torrent:
magnet:?xt=urn:btih:...torrs://...- 40-char info hash
Reply to file list with 2-12 to download files 2–12 to Telegram.
- Whitelist — restrict to specific user IDs
- Blacklist — block user IDs
- Admin — when whitelist is used, admin = whitelisted users
- Settings — sensitive values masked in
/settings
- telebot v4 — Telegram Bot API
- go-humanize
- go-ffprobe