Anchorr
Discord Bot for Media Requests and Notifications
Overview
Anchorr is a powerful Discord bot designed to streamline media management for self-hosted media server users. It enables seamless media requests through Jellyseerr and delivers real-time notifications when new content lands in your Jellyfin library.
The bot integrates with TMDB and OMDb APIs to provide rich media information, including posters, ratings, synopses, and IMDb links. Users can search for movies and TV shows with autocomplete support, make requests with a single click, and receive personalized notifications when their requested content becomes available.
Anchorr also features a web dashboard for easy configuration, Docker deployment support, and comprehensive permission management through Discord role-based allowlist and blocklist systems.
Technologies
Key Features
Approach & Architecture
The architecture follows a modular design pattern with separate concerns for API integrations, Discord command handling, and real-time notifications. The core application (app.js) orchestrates Express routes, Discord slash commands, and manages the WebSocket connection to Jellyfin for live updates.
External APIs are abstracted into dedicated modules (tmdb.js, jellyseerr.js, jellyfin.js, omdb.js) with built-in caching using node-cache to minimize API calls and improve response times. The bot implements rate limiting to respect Discord's API limits and provides comprehensive logging with Winston for debugging and monitoring.
For user experience, I focused on rich Discord embeds with movie posters, ratings, and interactive buttons for seamless request flows. The ephemeral mode option ensures responses are only visible to the command user, keeping channels clean while still providing all necessary information.
Screenshots