Created proper exception hierarchy in utils/exceptions.py Fixed circular imports in utils/init.py Ensured consistent exception imports across all files Properly aliased FFmpeg exceptions to avoid naming conflicts Import Fixes: Updated processor.py to use VerificationError from ffmpeg.exceptions Fixed video_downloader.py to use correct exception imports Created root exceptions.py for better organization Ensured consistent exception usage across the codebase Error Handling: Improved error propagation through the system Better error messages for different failure types Enhanced cleanup on errors More detailed logging of error conditions FFmpeg Integration: Fixed FFmpeg binary verification Better error handling for FFmpeg operations Improved cleanup of failed operations Enhanced logging of FFmpeg-related errors
Pac-cogs - Red Discord Bot Cogs Collection
Welcome to Pac-cogs, a collection of custom cogs for Red. These cogs are designed to add extra functionality to your Red bot instance on Discord.
Cogs Overview
| Cog Name | Description |
|---|---|
| Birthday | Assigns a special birthday role to users and sends a celebratory message with random cake or pie emojis. Features include: automatic role removal at midnight in configurable timezone, custom announcement channels, role-based command permissions, random cake/pie emoji generation, task persistence across bot restarts, context menu support (right-click user to assign role), birthday role removal task checking, and no hierarchy requirements for role assignment. Perfect for automated birthday celebrations! |
| Overseerr | Allows interaction with Overseerr directly from Discord. Users can search for movies or TV shows, request them, and have admins approve requests. Features include: media availability checking, request status tracking, admin role configuration, direct integration with Overseerr's API, and full slash command support. Requires a running Overseerr instance and API key. |
| VideoArchiver | A powerful video archiving cog that automatically downloads and reposts videos from monitored channels. Features hardware-accelerated compression (NVIDIA, AMD, Intel, ARM), multi-video processing, enhanced queue system with priority processing, role-based permissions, automatic file cleanup, queue persistence across bot restarts, and support for multiple video platforms via yt-dlp. Automatically compresses videos to meet Discord's file size limits while maintaining quality. |
Installation
To install the cogs in this repository, follow these steps:
-
Ensure you have Red set up.
-
Add this repository to your Red instance:
[p]repo add Pac-cogs https://github.com/pacnpal/Pac-cogs -
Install the desired cog:
# For Birthday cog: [p]cog install Pac-cogs birthday # For Overseerr cog: [p]cog install Pac-cogs overseerr # For VideoArchiver cog: [p]cog install Pac-cogs videoarchiver -
Load the installed cog:
# For Birthday cog: [p]load birthday # For Overseerr cog: [p]load overseerr # For VideoArchiver cog: [p]load videoarchiver
Replace [p] with your bot's prefix.
Additional Requirements
-
Birthday: No additional requirements. Just configure the birthday role, timezone, and allowed roles after installation. Supports both traditional commands, slash commands, and context menu interactions.
-
Overseerr: Requires a running Overseerr instance and API key. You'll need to configure the Overseerr URL and API key after installation using:
[p]overseerr url <your-overseerr-url> [p]overseerr apikey <your-api-key> -
VideoArchiver: The cog requires FFmpeg for video processing. The cog will attempt to download and manage FFmpeg automatically if it's not found on your system. The required Python packages (yt-dlp, ffmpeg-python, requests) will be installed automatically during cog installation. Features an enhanced queue system with priority processing, performance metrics, and automatic cleanup.
For more details on setting up and managing Red, visit the Red documentation.