Skip to content

jariz/angry-bender

Repository files navigation

Angry Bender

Angry bender is an application* that works alongside overseerr to sternly (but fairly) remind users on Discord that the content they requested is already available on a list of blacklisted streaming services.
By default, it will just mention the offending user in a public channel to shame them, but you can also configure it to auto-approve any non-blacklisted streaming services (see env var instructions).

* = really stretching the definition of that term here

Example

Requirements

Setup

With the bot up and running:

  • Go to Overseerr: Settings → Notifications → Webhook
  • Webhook URL: http://localhost:5454/ (or whatever other host you're running it on)
  • JSON payload:
{
  "notification_type": "{{notification_type}}",
  "media_type": "{{media_type}}",
  "media_tmdbId": "{{media_tmdbid}}",
  "media_tvdbid": "{{media_tvdbid}}",
  "discord_id": "{{requestedBy_settings_discordId}}",
  "username": "{{requestedBy_username}}"
}
  • Test to make sure it works
  • Enable at least one of the notification types, or both:
    • 'Media Requested' (if auto-approval is not enabled)
    • 'Media Automatically Approved' (if it is)
  • Save
  • Make sure all your users have a discord ID set, see how to do that here.
  • You're done!

Environment variables

Configuration happens through env vars, see a full description about each of them can be found here..

Installation (docker - recommended)

docker-compose (recommended)

version: '3.3'
services:
    angry-bender:
        ports:
            - '5454:5454'
        image: ghcr.io/jariz/angry-bender
        environment:
          # Required
          - 'ANGRY_BENDER_OVERSEERR_URL=https://example.com'
          - 'ANGRY_BENDER_OVERSEERR_KEY=REPLACE_ME'
          - 'ANGRY_BENDER_BLACKLIST=8,337'
          - 'ANGRY_BENDER_REGION=NL'
          - 'ANGRY_BENDER_DISCORD_WEBHOOK=https://discord.com/api/webhooks/REPLACE/ME'
          # Optional
          # - 'ANGRY_BENDER_MESSAGE_TEMPLATE=Hey {{user}}! Your request for {{media_title}} was still approved, but this is a kind reminder that {{media_title}} is available on {{streamer}} in {{country}}! Surely you have a login to this streaming service already?'
          # - 'ANGRY_BENDER_APPROVE=0'

docker run

docker run -p 5454:5454 ghcr.io/jariz/angry-bender \
  -e ANGRY_BENDER_OVERSEERR_URL=https://example.com \
  -e ANGRY_BENDER_OVERSEERR_KEY=REPLACE_ME \
  -e ANGRY_BENDER_BLACKLIST=8,337 \
  -e ANGRY_BENDER_REGION=NL \
  -e ANGRY_BENDER_DISCORD_WEBHOOK=https://discord.com/api/webhooks/REPLACE/ME \

Installation (node)

As mentioned before, use node v16+, anything below it isn't supported/cared about.

  • cp .env.dist .env
  • nano .env (see above)
  • npm ci
  • npm start
  • Now either never close your terminal, or use pm2 or something.
    I don't really care, it's why I recommended docker.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published