141 lines
4.1 KiB
Markdown
141 lines
4.1 KiB
Markdown
# Discord-Jellyseerr Bot
|
|
|
|
This Discord bot integrates with Jellyseerr to provide commands for searching, requesting, and getting notifications about media in your Jellyseerr instance.
|
|
|
|
## Features
|
|
|
|
- Search for movies and TV shows
|
|
- Get detailed information about media
|
|
- Request movies and TV shows to be added to your library
|
|
- Get recommendations for similar content
|
|
- Simple interface for interacting with your Jellyseerr instance
|
|
|
|
## Installation
|
|
|
|
### Standard Installation
|
|
|
|
1. Clone this repository:
|
|
```
|
|
git clone https://github.com/yourusername/discord-jellyseerr.git
|
|
cd discord-jellyseerr
|
|
```
|
|
|
|
2. Install the required dependencies:
|
|
```
|
|
pip install -r requirements.txt
|
|
```
|
|
|
|
3. Copy the `.env.example` file to `.env` and edit it with your configuration:
|
|
```
|
|
cp .env.example .env
|
|
```
|
|
|
|
4. Edit the `.env` file with your Discord bot token and Jellyseerr API details:
|
|
```
|
|
DISCORD_BOT_TOKEN=your_discord_bot_token_here
|
|
JELLYSEERR_URL=http://your-jellyseerr-instance:5055
|
|
JELLYSEERR_EMAIL=your_jellyseerr_email@example.com
|
|
JELLYSEERR_PASSWORD=your_jellyseerr_password
|
|
```
|
|
|
|
5. Run the bot:
|
|
```
|
|
python main.py
|
|
```
|
|
|
|
Alternatively, use the provided shell script:
|
|
```
|
|
./run.sh
|
|
```
|
|
|
|
### Docker Installation
|
|
|
|
1. Clone this repository:
|
|
```
|
|
git clone https://github.com/yourusername/discord-jellyseerr.git
|
|
cd discord-jellyseerr
|
|
```
|
|
|
|
2. Copy the `.env.example` file to `.env` and edit it with your configuration:
|
|
```
|
|
cp .env.example .env
|
|
```
|
|
|
|
3. Edit the `.env` file with your Discord bot token and Jellyseerr API details as shown above.
|
|
|
|
4. Build and run using Docker Compose:
|
|
```
|
|
docker compose up -d
|
|
```
|
|
|
|
For more detailed Docker deployment instructions, see [DOCKER.md](DOCKER.md).
|
|
|
|
## Setting up the Discord Bot
|
|
|
|
1. Go to the [Discord Developer Portal](https://discord.com/developers/applications)
|
|
2. Create a new application and set up a bot
|
|
3. Enable the following Privileged Gateway Intents:
|
|
- MESSAGE CONTENT INTENT
|
|
4. Invite the bot to your server with the following permissions:
|
|
- Send Messages
|
|
- Embed Links
|
|
- Attach Files
|
|
- Read Message History
|
|
- Use External Emojis
|
|
- Add Reactions
|
|
|
|
## Jellyseerr Authentication
|
|
|
|
This bot uses a local Jellyseerr user account for authentication:
|
|
|
|
1. Create or use an existing local user account in Jellyseerr
|
|
2. Provide the email address and password in the .env file
|
|
3. The bot will automatically authenticate and maintain the session
|
|
|
|
Using a dedicated user account provides better tracking of requests and actions performed by the bot.
|
|
|
|
**Important**: Jellyseerr requires the email address for login, not the username.
|
|
|
|
## Commands
|
|
|
|
### Search & Discovery
|
|
- `!search <query>` - Search for movies and TV shows
|
|
- `!movie <id>` - Get detailed information about a movie
|
|
- `!tv <id>` - Get detailed information about a TV show
|
|
- `!trending` - Show trending movies and TV shows
|
|
|
|
### Requests
|
|
- `!request movie <id>` - Request a movie
|
|
- `!request tv <id> [seasons]` - Request a TV show (all or specific seasons)
|
|
- `!requests [status] [page]` - List media requests
|
|
|
|
|
|
|
|
### Other
|
|
- `!help` - Show the help message
|
|
- `!status` - Check Jellyseerr server status
|
|
|
|
## Webhooks
|
|
|
|
For notifications about request approvals, media availability, and other events, Jellyseerr provides built-in webhook support for Discord. Configure these directly in the Jellyseerr settings panel under "Notifications".
|
|
|
|
This bot does not handle notifications, as the native webhook integration provides a more reliable solution with customizable notifications.
|
|
|
|
## Contributing
|
|
|
|
Contributions are welcome! Please feel free to submit a Pull Request.
|
|
|
|
## Deployment Options
|
|
|
|
### Standard Deployment
|
|
Run the bot directly on your system with Python. This is simple for testing but requires you to manage dependencies and keep the process running.
|
|
|
|
### Docker Deployment
|
|
Deploy the bot as a Docker container for better isolation and easier management. The Docker setup includes:
|
|
- Containerized environment with all dependencies
|
|
- Volume mounting for persistent logs
|
|
- Automatic restarts if the bot crashes
|
|
|
|
## License
|
|
|
|
This project is licensed under the MIT License - see the LICENSE file for details. |