This Telegram bot is specifically designed for series management through Sonarr. It enables users to execute a range of commands for searching, adding, editing, deleting, and organizing series within their Sonarr library. Developed in Go, the bot operates with minimal resource consumption, utilizing less than 10 MB of RAM. It maintains a stateless operation and does not persist data to disk, except for error logs. The Docker image size is efficiently kept under 10 MB (compressed), supporting multiple CPU architectures including arm32v7
, arm64v8
, and x86_64
/amd64
.
This bot is built using golift/starr and go-telegram-bot-api/telegram-bot-api without any additional dependencies.
/q [series]
or just type the series's title: Search for a series.
Once a series is found, the bot offers options to add the series to your Sonarr library along with various monitoring settings. If you have only one root folder and one quality profile, the bot will automatically select the first option for you. However, if multiple choices exist, you will be prompted to select a root folder and a quality profile. If you have tags defined in Sonarr, you can select them as well.
/library [series]
or /l [series]
: Manage series in your library. Allows editing a series' quality profile (if more than one is configured in Sonarr) and tags. Furthermore, you can monitor/unmonitor a series, delete it, search for it, edit/delete/search its seasons, and see disk usage. Series/title is optional. If omitted, a filter menu is shown.
/delete [series]
or /d [series]
: Initiate the process of deleting a or several series from your Sonarr library. Be cautious as this action deletes associated files. Series/title is optional. If omitted, all series are shown as inline keyboards and multiple series can be selected.
/clear
or /cancel
or /stop
:
This command clears all previously issued commands and resets the bot's state. It can be issued at any time.
/up
or/upcoming
: List upcoming episodes in the next 30 days/rss
: Initiate an RSS sync
/free
or/diskspace
: Display free space of disks connected to your Sonarr server/system
: Display your Sonarr configuration/id
or/getid
: Show your Telegram user ID
You can either build the bot yourself using the provided source code or utilize the Docker image hosted on GitHub Container Registry and Docker Hub:
- GitHub ghcr.io/woiza/telegram-bot-sonarr
- Docker Hub woiza/telegram-bot-sonarr
The bot requires configuration through seven mandatory environment variables. For specific details, please refer to the Docker Compose example provided below. Before running this bot, ensure you have obtained a Telegram bot token and your Sonarr API key. Additionally, determine who should have access to this bot (Telegram user ID). Several users are supported by providing a list of Telegram user IDs. You can find detailed instructions on obtaining these credentials in the official documentation:
docker buildx build --push --platform linux/amd64,linux/arm64,linux/arm/v7 --tag <repo>/<image>:<tag> .
services:
telegram-bot-sonarr:
image: woiza/telegram-bot-sonarr
mem_limit: 128M
container_name: telegram-bot-sonarr
# depends_on:
# - sonarr
restart: always
environment:
- SBOT_TELEGRAM_BOT_TOKEN=1460...:AAHlBW_mabVg...
- SBOT_BOT_ALLOWED_USERIDS=123,987,-567 # Telegram user ID(s), Group IDs are negative
- SBOT_BOT_MAX_ITEMS=10 # pagination
- SBOT_BOT_IGNORE_TAGS=false # true/false; true = bot will not ask for tags (useful with auto-tagging)
- SBOT_BOT_SERIES_TYPE= # optional, possible values: standard, daily, anime. If set, bot will not ask for series type
- SBOT_SONARR_PROTOCOL=http # http or https
- SBOT_SONARR_PORT=8989
- SBOT_SONARR_HOSTNAME=192.168.2.2 # IP or hostname
- SBOT_SONARR_BASE_URL= # optional, e.g. /sonarr, depending on sonarr configuration
- SBOT_SONARR_API_KEY=1010d7...
q - searches a series
library - lists all series - WARNING: can be large
delete - deletes series - WARNING: can be large
clear - deletes all previously sent commands
free - lists the free space of your disks
up - lists upcoming episodes in the next 30 days
rss - performs a RSS sync
system - shows your Sonarr configuration
id - shows your Telegram user ID
Feel free to contribute to this Telegram bot by submitting pull requests, reporting issues, or suggesting enhancements. Your contributions are welcome!
If you appreciate what we do, consider treating us to a refreshing beverage.
This Telegram bot is licensed under the MIT License.