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.7.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.7.0
File Size Uploaded
wi1_bot-3.7.0.tar.gz 507.6 kB Details

Built distribution (wheel)

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

Total release size: 548.4 kB

Release files / wi1_bot-3.7.0.tar.gz

Download URL wi1_bot-3.7.0.tar.gz
Size 507.6 kB
Tags Source
SHA-256 checksum
How to use checksums
7a3810cc78971ffdcefd3a277ad07addd02bd255a2691759ebb876a7fef372e3
BLAKE2b-256 checksum
How to use checksums
c54d43d6bc17bbe6485ac21f4b302b0ec1141a56f82b057532d4b8ab487ef5a4
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.7.0-py3-none-any.whl

Download URL wi1_bot-3.7.0-py3-none-any.whl
Size 40.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
53b4d0f7888675b7131c5501e311ffce471fe8dd0bbaea2f1b5fd70ca31258c7
BLAKE2b-256 checksum
How to use checksums
af699c97c7c8031eab1a240532b021a311512c5528b5364d0b5522995fbaa187
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

This release

3.7.0 This release

2 release files

3.6.0

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