Skip to content

Latest commit

 

History

History
158 lines (115 loc) · 4.65 KB

File metadata and controls

158 lines (115 loc) · 4.65 KB

TorrServer Telegram Bot

GitHub License TorrServer Integrated

Introduction

Telegram bot for managing TorrServer — add torrents, stream, search, and control the server directly from Telegram.

Features

  • 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 — @botname in 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)

Getting Started

Enable the Bot

Start TorrServer with a Telegram bot token:

TorrServer --tg YOUR_BOT_TOKEN

Or use -T:

TorrServer -T YOUR_BOT_TOKEN

Create a bot via @BotFather to get the token.

Configuration

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": []
}

Commands

Core

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

Management

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

Links & Playback

Command Description
/link, /play Stream URL
/m3u, /m3uall M3U playlist

Search

Command Description
/search <query> RuTor + Torznab (all sources)
/rutor <query> RuTor only
/torznab <query> [index] Torznab indexers

Other

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

Admin Only

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

Inline Mode

Type @YourBotName in any chat:

  • Empty, "list", or "play" — torrents with play links
  • 2+ characters — search RuTor + Torznab

Text Input

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.

Security

  • Whitelist — restrict to specific user IDs
  • Blacklist — block user IDs
  • Admin — when whitelist is used, admin = whitelisted users
  • Settings — sensitive values masked in /settings

Dependencies