Skip to main content

wi1-bot

A Discord bot to integrate Radarr & Sonarr, allowing commands like !addmovie and !downloads.

Usage

  1. Copy config.yaml.template to $XDG_CONFIG_HOME/wi1-bot/config.yaml and set the necessary values.
  2. pip install wi1-bot (or from source: pip install git+https://github.com/wthueb/wi1-bot.git)
  3. wi1-bot

Development

  1. git clone https://github.com/wthueb/wi1-bot.git
  2. cd wi1-bot/
  3. pip install -e .[dev]
  4. pre-commit install

Requires Python >=3.12.

TODO

  • use seerr for search/requests
    • !link discord user to seerr user
  • fix basedpyright errors, avoiding ignore comments where possible
  • multiple transcode workers
    • main server instance (as part of the existing webhook server, rename to api?). core app wouldn't be running transcoder anymore
    • worker nodes that point at the main server instance and use REST calls to get jobs and update job statuses
      • separate docker image
      • configure transcoding settings for each profile on each instance
      • if job fails, retry once on every instance before error notification
  • figure out qsv codecs
    • also maybe software encoders?
  • maybe check languages and things on new downloads via webhook
  • notify on manual import required?
  • transcode avis
  • integration testing
  • web dashboard? django i guess?
  • ffmpeg filters for deinterlacing, scaling
  • have config.discord.users be a dict with 'quotas' and 'name' for *arr tags
  • Better pushover notifications
    • Failures for pretty much everything
    • Notifications for grabs/downloads of personal watchlist
  • Tag user who added movie when it's downloaded
    • Would replace Radarr/Sonarr's Discord webhooks
    • !notify <query> to also be tagged when a movie/show someone else added is downloaded
      • react to "added movie/show" instead of having to !notify
      • react to notification to stop notifications
      • if user tries to add movie that's already present, add them to list to notify
      • Would require a DB; don't use tags as those are to strictly track quotas
        • DB is useful for caching other information as well
  • Use Discord slash commands instead of normal text commands
    • This is difficult/impossible currently, can't have "conversation" with slash commands
  • Enforce quotas
  • !linktmdb
  • !movieinfo showing user/public ratings and other general info (runtime, cast, director)
    • use TMDB API to get movie metadata
    • if movie isn't on Radarr, react to message to add it?
    • Tautulli API (get_history) to show who has already seen the movie
  • User leaderboard
    • movies/shows added, Tautulli watch counts

Metadata

Release files for wi1-bot 3.6.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for wi1-bot 3.6.0
File Size Uploaded
wi1_bot-3.6.0.tar.gz 506.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for wi1-bot 3.6.0
File Interpreter ABI Platform
wi1_bot-3.6.0-py3-none-any.whl Python 3 none any Details

Total release size: 547.4 kB

Release files / wi1_bot-3.6.0.tar.gz

Download URL wi1_bot-3.6.0.tar.gz
Size 506.8 kB
Tags Source
SHA-256 checksum
How to use checksums
b4d0a92c3cd6e644f12f6c049c3c1ddc7e7183d7788ee65e00709b05962402b9
BLAKE2b-256 checksum
How to use checksums
136c4e8a4cfb406a31db7fa463487e31f79701a0c314240a80934bc15e13776d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / wi1_bot-3.6.0-py3-none-any.whl

Download URL wi1_bot-3.6.0-py3-none-any.whl
Size 40.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
cf835a8db9973a31ffd084d2bf32b9c410e6c54aa74d9354baed85cb0ab818e6
BLAKE2b-256 checksum
How to use checksums
bddd50ff2f5e8dadf7a572badec2cefbee16ee14855ce71889e83ccc6a9f746b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release history Release notifications | RSS feed

3.7.1

2 release files

3.7.0

2 release files

This release

3.6.0 This release

2 release files

3.5.0

2 release files

3.4.0

2 release files

3.3.0

2 release files

3.2.0

2 release files

3.1.7

2 release files

3.1.6

2 release files

3.1.5

2 release files

3.1.4

2 release files

3.1.3

2 release files

3.1.2

2 release files

3.1.1

2 release files

3.1.0

2 release files

3.0.2

2 release files

3.0.1

2 release files

3.0.0

2 release files

2.0.20

2 release files

2.0.18

2 release files

2.0.17

2 release files

2.0.16

2 release files

2.0.15

2 release files

2.0.9

2 release files

2.0.8

2 release files

2.0.7

2 release files

2.0.6

2 release files

2.0.5

2 release files

2.0.4

2 release files

2.0.3

2 release files

2.0.2

2 release files

2.0.1

2 release files

2.0.0

2 release files

1.4.13

2 release files

1.4.12

2 release files

1.4.11

2 release files

1.4.10

2 release files

1.4.9

2 release files

1.4.8

2 release files

1.4.7

2 release files

1.4.6

2 release files

1.4.5

2 release files

1.4.4

2 release files

1.4.3

2 release files

1.4.2

2 release files

1.4.1

2 release files

1.4.0

2 release files

1.3.14

2 release files

1.3.13

2 release files

1.3.12

2 release files

1.3.11

2 release files

1.3.10

2 release files

1.3.9

2 release files

1.3.8

2 release files

1.3.7

2 release files

1.3.6

2 release files

1.3.5

2 release files

1.3.4

2 release files

1.3.3

2 release files

1.3.2

2 release files

1.3.1

2 release files

1.3

3 release files

1.2.24

2 release files

1.2.23

2 release files

1.2.22

2 release files

1.2.21

2 release files

1.2.20

2 release files

1.2.18

2 release files

1.2.17

2 release files

1.2.16

2 release files

1.2.14

2 release files

1.2.11

2 release files

1.2.10

2 release files

1.2.9

2 release files

1.2.8

2 release files

1.2.7

2 release files

1.2.6

2 release files

1.2.5

2 release files

1.2.4

2 release files

1.2.3

2 release files

1.2.2

2 release files

1.2.1

2 release files

1.2.0

2 release files

1.1.5

2 release files

1.1.4

2 release files

1.1.3

2 release files

1.1.2

2 release files

1.1.1

2 release files

1.1.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page