/telegram-sonarr-radarr-bot

A combined Sonarr and Radarr Telegram bot

Primary LanguageJavaScriptGNU General Public License v3.0GPL-3.0

Top Language Repo Size Repo Issues Version Node Version Last Commit Maintained

This project doesn't currently work, and is not actively maintained!

I plan to come back to it at some point as part of my Marauder project.

Telegram Sonarr/Radarr Bot

I got tired of there being separate bots, so I started combining them into one.

This bot allows you and other users to add TV series and movies to Sonarr and Radarr respectively. It is fairly simple to set up and allows for decent customisation, and attempts to leverage new JavaScript coding practices with modern modules to keep it going for the forseeable future.

Note: This bot is in active development and some of the below config does not work (well, actually, most of it).

Example Config

See config/config.json.template

Installing / Setup

  • git clone https://github.com/Makeshift/telegram-sonarr-radarr-bot.git
  • npm install
  • cp config/config.json.template config/config.json
  • Edit config/config.json to your liking
  • node index.js

Config

Config is generated by nconf, so the bot will gather config from environment variables, arguments and the config/config.json file.

Sonarr

Key Description Optional Default Value
sonarr Top level object No
sonarr.enabled Should the Sonarr API be enabled? (Hides all Sonarr related buttons if false) Yes true
sonarr.url Sonarr's URL (eg. localhost:8989) No
sonarr.apiKey Sonarr's API key No
sonarr.defaultProfileName The name of the default quality profile you'd like to use. If not supplied, will ask the user each time. Yes Will ask user
sonarr.defaultPathName The name of the default path for downloading TV. If not supplied, will ask the user each time. Yes Will ask user
sonarr.defaultMonitor Will monitor the supplied string for new episodes in that series. Options: "all", "missing", future" Yes All

Radarr

Key Description Optional Default Value
radarr Top level object No
radarr.enabled Should the radarr API be enabled? (Hides all Sonarr related buttons if false) Yes true
radarr.url Sonarr's URL (eg. localhost:8989) No
radarr.apiKey Sonarr's API key No
radarr.defaultProfileName The name of the default quality profile you'd like to use. If not supplied, will ask the user each time. Yes Will ask user
radarr.defaultPathName The name of the default path for downloading TV. If not supplied, will ask the user each time. Yes Will ask user

Telegram

Key Description Optional Default Value
telegram Top level object No
telegram.botToken Should contain your Telegram bot token from @botfather No
telegram.admins Should contain an array of admin ID's who will be pinged to authenticate users. Can be gotten from @get_id_bot. eg [117100000, 1978571000] No

Bot

Key Description Optional Default Value
bot Top level object No
bot.logLevel "info", "verbose" or "debug", depending on how spammy you like your logs No
bot.name What the bot should refer to itself as. Yes "the Bestest Bot"

Docker

Coming soon!

Plan

  • User authentication (40%)
  • Password auth support instead of admin ping
  • Setup docker image (20%)
  • Sonarr search support
  • Sonarr add series support
  • Radarr search support
  • Radarr add movie support
  • Pretty image confirmations
  • Screenshots on repo
  • Admin home page
  • User home page
  • Administration notifications
  • Proper caching to reduce API calls
  • Stats
  • Dynamic config/defaults (Admin)
  • Removing users (Admin)
  • Dynamic config/defaults (User)
  • Nconf config persistence
  • Tests
  • CI
  • Proper semver
  • File logging?
  • Medusa search support?
  • Medusa add anime support?
  • Series details/Movie details (Episodes snatched, missing, overview, seasons, monitor stats, ratings)
  • Search and manual download from within bot
  • Change monitoring status
  • Delete series (from Sonarr/Radarr & from disk?)
  • System details? (Disk space etc.)
  • Jellyfin API support? (Watch count/Popularity?)
  • Plex API support? (Watch count/Popularity?)
  • Emby API support? (Watch count/Popularity?)
  • Currently downloading (Plex/Radarr rather than torrent API directly)
  • Calendar? (Leveraging cool Telegram stuff)

Very far in the future plans

  • Natural Language Processing

Feature request or Bug Report? Click here!