Commit Graph

  • e8f02c2b59 fix pacnpal 2024-11-15 21:19:52 +00:00
  • 1748ab2188 Changed VideoArchiver to inherit from GroupCog instead of Cog Moved all command definitions directly into the VideoArchiver class Updated command decorators to use proper hybrid_group and hybrid_command syntax Properly set up command error handling within the class Removed external command setup in favor of class-based commands Maintained backward compatibility through a stub commands.py file pacnpal 2024-11-15 20:18:51 +00:00
  • 121e1395f4 Updated default_guild_settings in core/base.py from 25MB to 8MB Verified consistency with config_manager.py which already had 8MB as default Confirmed proper validation in config_manager.py (allows 1-100MB range) Verified all other files reference the max_file_size setting correctly pacnpal 2024-11-15 20:11:43 +00:00
  • 42b3ceb314 Created /core module with specialized files: pacnpal 2024-11-15 20:01:45 +00:00
  • 434911abf0 fix pacnpal 2024-11-15 19:39:36 +00:00
  • dae8bbb6b4 Adding the 'db' parameter to the VideoProcessor class initialization Properly storing and handling the db instance Ensuring the db is passed to the queue_handler when available The QueueHandler class was already properly set up to handle the db parameter, so no changes were needed there. The database integration should now work correctly for: pacnpal 2024-11-15 19:22:52 +00:00
  • 2e2951e714 Fixed the "cannot import name '_download_progress'" error by: pacnpal 2024-11-15 19:19:46 +00:00
  • 12810273a6 Adding the missing priority field with a default value of 0 pacnpal 2024-11-15 19:05:28 +00:00
  • 780be9e391 Adding the missing guild_id field to the QueueItem class Changing user_id to author_id for consistency with the message handler Updating the field types from str to int for all Discord IDs (message_id, channel_id, author_id, guild_id) pacnpal 2024-11-15 19:02:51 +00:00
  • 971d52bd00 Separation of Concerns: Core processing logic in VideoProcessor class Dedicated message handling in MessageHandler Queue operations in QueueHandler Progress tracking in ProgressTracker Reaction management in reactions.py Improved Maintainability: Each component has a single responsibility Easier to test individual components Better code organization and readability Reduced file sizes for better version control Better Resource Management: Centralized progress tracking Isolated queue operations Cleaner cleanup processes Optimized Imports: Components can be imported individually as needed Main processor.py provides backward compatibility Clear module interface through init.py pacnpal 2024-11-15 18:58:05 +00:00
  • 8b0103ca08 Only accept URLs that match known video platform patterns (YouTube, Vimeo, TikTok, etc.) Accept URLs that end in video file extensions (.mp4, .webm, .mov) Reject invalid URLs like "huge." that don't match any video patterns pacnpal 2024-11-15 18:50:39 +00:00
  • 61fbe7ca49 Adding the processing_time field to the QueueItem class in models.py with a default value of 0.0 Ensuring proper type conversion for the processing_time field in the persistence layer Maintaining all existing functionality while adding the new field pacnpal 2024-11-15 18:45:25 +00:00
  • 6337e1dc01 Fix URL detection and validation pacnpal 2024-11-15 18:37:08 +00:00
  • 13c51d334a updates pacnpal 2024-11-15 18:27:04 +00:00
  • 33180f1d36 Fix URL detection logic pacnpal 2024-11-15 18:26:01 +00:00
  • c012baef07 Add debug logging for URL detection pacnpal 2024-11-15 18:24:11 +00:00
  • 546ce5e66c remove enhanced queue file pacnpal 2024-11-15 18:19:20 +00:00
  • 6d1e373c43 Update VideoArchiver README with detailed queue system architecture pacnpal 2024-11-15 18:19:05 +00:00
  • b1eafbb01d Refactor queue system into modular structure pacnpal 2024-11-15 18:16:53 +00:00
  • 44599b2b22 The TypeError in _monitor_health where string dates were being compared with datetime objects - Fixed by: pacnpal 2024-11-15 18:07:08 +00:00
  • 45492d7ee4 fixes pacnpal 2024-11-15 17:59:26 +00:00
  • 2bf85b532b Adding robust datetime handling in _periodic_cleanup: pacnpal 2024-11-15 17:35:14 +00:00
  • 39169b3edb Fixed the TypeError in _periodic_cleanup by adding runtime type checking and conversion: pacnpal 2024-11-15 17:32:12 +00:00
  • 285e64db21 The "AttributeError: 'VideoProcessor' object has no attribute 'process_message'" error has been fixed by implementing the process_message method in the VideoProcessor class. This method now properly handles video processing requests from Discord messages. pacnpal 2024-11-15 17:25:45 +00:00
  • 56b4711661 fixes pacnpal 2024-11-15 16:51:12 +00:00
  • e66af6e844 Added timeout handling and force cleanup in VideoArchiver cog Added proper cancellation and requeuing of downloads in VideoProcessor Added cancellable logger and process cleanup in VideoDownloader Added shutdown flag and force_stop capability in EnhancedQueueManager Added process tracking and kill_all_processes method in FFmpegManager The changes ensure that: pacnpal 2024-11-15 15:48:03 +00:00
  • 74bd55c3e9 Enhanced Download Progress Tracking: Track download speed, ETA, and bytes downloaded/total Monitor fragment downloads and retry counts Track video metadata (title, format, resolution, FPS) Store extractor information and video details Add timestamps for all progress updates Detailed Compression Progress: Track input/output file sizes and compression ratio Monitor codec usage and hardware acceleration status Track compression parameters (preset, CRF, bitrates) Monitor elapsed time and estimated completion Track audio codec and bitrate information Queue Management Improvements: Added global progress tracking dictionaries Maintain active status of downloads and compressions Track start times and last update timestamps Store detailed error information when failures occur Command Access: Added queuedetails command for bot owners Display comprehensive progress information Show active downloads and compressions Display detailed error statistics Show hardware acceleration usage pacnpal 2024-11-15 14:58:44 +00:00
  • cc3fa06d00 Add detailed progress tracking for downloads and compression: - Add detailed download progress hook with extensive metadata - Add comprehensive compression progress tracking - Track download speed, ETA, file sizes, and formats - Track compression codec, hardware acceleration, and bitrates - Add timestamps for all progress updates pacnpal 2024-11-15 14:58:30 +00:00
  • b8d6eb957c Improve queue persistence across cog reloads: - Add global queue manager instance - Modify initialization to use existing queue manager - Add get_queue_manager() class method - Prevent queue manager cleanup during reloads pacnpal 2024-11-15 14:46:55 +00:00
  • 90a3090379 Improve video download stability and progress tracking: - Increase retries and retry delay - Reduce concurrent downloads for better stability - Add exponential backoff with jitter - Improve progress logging and error handling - Add file size limits and timeouts - Optimize chunk size and socket timeout pacnpal 2024-11-15 14:44:21 +00:00
  • 245710e4d4 Added explicit import of CommandAlreadyRegistered exception Wrapped the command registration in a try-except block Silently continues if the command is already registered Maintains all other functionality including cog loading and task initialization pacnpal 2024-11-15 14:32:33 +00:00
  • 172fe83288 Added a command existence check using discord.utils.get() Only register the command if it's not already present Maintained all other functionality including cog loading and task initialization pacnpal 2024-11-15 14:30:50 +00:00
  • 23fac11cfd Initial state: 📹 (video camera) when video is queued Queue position: 1️⃣-5️⃣ showing position in queue Download progress: 0️⃣2️⃣4️⃣6️⃣8️⃣🔟 showing download percentage (0%, 20%, 40%, 60%, 80%, 100%) Processing state: ⚙️ when video is being processed Compression progress: 🟨🟩 showing FFmpeg progress (0%, 50%, 100%) Final state: for success or for failure All status changes are now logged with message IDs for better tracking: pacnpal 2024-11-15 14:27:20 +00:00
  • c46e967378 Appears in the context menu when right-clicking a user Checks for proper permissions Removes the birthday role if present Cancels any scheduled role removal tasks Provides appropriate feedback and error handling Logs all actions for debugging purposes pacnpal 2024-11-15 14:19:30 +00:00
  • 807422e160 Added proper exception handling for all try blocks that were missing except/finally clauses Fixed the unclosed parenthesis in the format_message() call Completed the message formatting section with proper parameters Reorganized the code structure for better maintainability Ensured proper error handling and cleanup throughout pacnpal 2024-11-15 14:14:57 +00:00
  • f8d383a55a 📥 Pending: Shows items waiting to be processed ⚙️ Processing: Shows items currently being processed Completed: Shows successfully processed items Failed: Shows failed items pacnpal 2024-11-15 14:12:43 +00:00
  • 0d7b1d449f Made secure_delete_file and cleanup_downloads async in file_ops.py Added chunked file processing and size limits to prevent blocking Updated video_downloader.py to properly await secure_delete_file Updated video_archiver.py to properly await cleanup_downloads Simplified the secure deletion process while maintaining security Added proper error handling and logging throughout pacnpal 2024-11-15 13:47:28 +00:00
  • 0194142c56 New Command: pacnpal 2024-11-15 13:40:28 +00:00
  • b4479c951b Fixed Discord Integration: Added missing discord import Added proper error handling for all discord operations Improved error reporting for discord-specific failures Enhanced Error Handling: Added try/except blocks around all major operations Implemented proper cleanup in finally blocks Added more specific error messages for debugging Queue Processing Improvements: Ensured the queue continues processing even if individual items fail Added better file cleanup to prevent resource leaks Improved error reporting to help diagnose issues Resource Management: Added proper cleanup of downloaded files Improved handling of missing discord resources Better management of failed downloads pacnpal 2024-11-15 13:36:26 +00:00
  • 887547473c Added proper physical GPU detection on Linux/Windows/macOS Separated physical GPU detection from FFmpeg encoder support Only enable GPU encoding when both physical GPU and FFmpeg support exist Added multiple detection methods for better reliability pacnpal 2024-11-15 05:26:10 +00:00
  • 8e581d660e Fixed NVENC preset compatibility Added proper NVENC preset validation Separated CPU and GPU presets Added preset conversion logic for GPU encoding pacnpal 2024-11-15 05:22:38 +00:00
  • f8fe409cdd Architecture Changes: pacnpal 2024-11-15 05:17:21 +00:00
  • 06fcf55d90 Encoding Parameters: pacnpal 2024-11-15 05:10:59 +00:00
  • 5e8f3c8b98 fix urls pacnpal 2024-11-15 05:03:24 +00:00
  • 2d92a3dca0 FFmpeg Binary Management: pacnpal 2024-11-15 05:00:47 +00:00
  • 4e8eb38ab7 Exception Hierarchy: pacnpal 2024-11-15 04:57:19 +00:00
  • 074b6b246b Exception Handling: pacnpal 2024-11-15 04:54:35 +00:00
  • 7e9e193178 URL Processing: pacnpal 2024-11-15 04:51:17 +00:00
  • 9dc3ef247c Exception Hierarchy: pacnpal 2024-11-15 04:39:58 +00:00
  • e4429a9d9e Fixed Exception Structure: pacnpal 2024-11-15 04:34:35 +00:00
  • 767f1140d1 Fixed FFmpeg Management: pacnpal 2024-11-15 04:30:03 +00:00
  • 9824469984 FFmpeg Management: pacnpal 2024-11-15 04:20:17 +00:00
  • c144fb35ba The video downloading issues have been resolved by implementing comprehensive error handling and resource management: pacnpal 2024-11-15 04:18:57 +00:00
  • 02966f1a66 Fixed FFmpeg/FFprobe Integration: pacnpal 2024-11-15 03:54:42 +00:00
  • 46af1a31b7 Enhanced FFmpeg Integration: pacnpal 2024-11-15 03:48:56 +00:00
  • 3e50faec75 Switching from regex patterns to yt-dlp simulation for URL detection: pacnpal 2024-11-15 03:40:53 +00:00
  • 8503fc6fdd Enhanced FFmpeg Integration: pacnpal 2024-11-15 03:21:25 +00:00
  • a04c576e0a logging pacnpal 2024-11-15 02:59:16 +00:00
  • 5a356f4824 logging pacnpal 2024-11-15 02:54:09 +00:00
  • f943503f54 logging pacnpal 2024-11-15 02:51:20 +00:00
  • 8fcdec7550 lol pacnpal 2024-11-15 02:48:05 +00:00
  • 6f0f31944f enhanced pacnpal 2024-11-15 02:38:22 +00:00
  • 49c844a422 changes config settings for defaults pacnpal 2024-11-15 02:26:51 +00:00
  • a72e4118e3 l pacnpal 2024-11-15 02:22:29 +00:00
  • 403b208abd what pacnpal 2024-11-15 02:18:49 +00:00
  • a16b1ea7a4 fix: Change URL extraction in processor to use regex pacnpal 2024-11-15 02:13:37 +00:00
  • 1b64991041 fix: Change URL extraction in processor to use regex pacnpal 2024-11-15 02:03:23 +00:00
  • 0a46cee479 fix: Change URL validation to use regex patterns pacnpal 2024-11-15 01:59:03 +00:00
  • 63664e3c94 fix: URL extraction error in is_supported_url method pacnpal 2024-11-15 01:50:19 +00:00
  • 7e4b33dd55 refactor: Convert commands to unique hybrid commands pacnpal 2024-11-15 01:47:57 +00:00
  • 8822c85b6f Add context menu command for birthday role assignment. Users with allowed roles can now give birthday roles via right-click menu. pacnpal 2024-11-15 01:36:19 +00:00
  • 826f5e1b3e Improved FFmpeg downloader error handling and permissions pacnpal 2024-11-15 01:31:37 +00:00
  • dccd16e776 Update READMEs pacnpal 2024-11-15 01:28:06 +00:00
  • 190e689919 Changed FFmpeg binary download location from /tmp/ffmpeg to videoarchiver/bin for better organization and persistence pacnpal 2024-11-15 01:26:58 +00:00
  • 9be8842b36 Add context menu command for birthday role assignment. Users with allowed roles can now give birthday roles via right-click menu. pacnpal 2024-11-15 01:22:10 +00:00
  • e133fc6366 refactor: Convert all cogs to use hybrid commands - Update birthday cog to use hybrid commands - Update overseerr cog to use hybrid commands - Update videoarchiver to use hybrid command group pacnpal 2024-11-15 01:19:03 +00:00
  • f5a76bbd11 refactor: Break out commands in all cogs - Convert birthday cog to use separate slash commands - Convert overseerr cog to use separate slash commands - Update interaction handling pacnpal 2024-11-15 01:15:58 +00:00
  • 0f4fa8472e refactor: Break out commands into separate slash commands - Remove videoarchiver command group - Convert all commands to top-level slash commands - Update interaction handling pacnpal 2024-11-15 01:13:33 +00:00
  • ebae02b83b fix: Add missing checks import from redbot.core pacnpal 2024-11-15 01:08:39 +00:00
  • 8013be2a66 fix: Add error handling to all cogs' initialization - Add proper logging - Add teardown functions - Add cleanup on failure pacnpal 2024-11-15 01:04:53 +00:00
  • 484b0c0cb8 fix: Add robust error handling for cog loading - Add initialization timeout - Add proper cleanup on failure - Add teardown function - Add proper logging - Add proper cog removal order pacnpal 2024-11-15 01:04:25 +00:00
  • 888ed27d17 fix: Improve cog loading order - Load main cog first - Wait for initialization - Load commands after successful init pacnpal 2024-11-15 01:03:53 +00:00
  • 0df5c879bb fix: Improve VideoArchiver cog structure - Remove command registration (handled by commands.py) - Ensure data directories exist - Add better initialization and cleanup - Improve error handling pacnpal 2024-11-15 01:03:30 +00:00
  • c2f5a6b461 fix: Improve cog initialization and cleanup - Ensure proper component initialization - Add better error handling - Improve cleanup process pacnpal 2024-11-15 01:01:48 +00:00
  • 28e5736495 fix: Improve hybrid command implementation - Add consistent app_commands.guild_only() - Add proper parameter descriptions - Use app_commands.Range for numeric inputs pacnpal 2024-11-15 01:00:25 +00:00
  • 533afd61ed fix: Simplify cog initialization - Let Red handle command syncing - Remove manual sync operations - Clean up __init__.py files pacnpal 2024-11-15 00:59:00 +00:00
  • 3b563c45b5 fix: Add proper command registration and cleanup to all cogs - Add command syncing after cog load - Add teardown functions - Add error handling for sync operations pacnpal 2024-11-15 00:58:05 +00:00
  • 770e74d63c fix: Improve command registration and cleanup - Add proper command syncing - Add teardown function - Add error handling for sync operations pacnpal 2024-11-15 00:57:24 +00:00
  • 13be8d75de fix: Ensure data directory exists for queue persistence pacnpal 2024-11-15 00:56:56 +00:00
  • 1bd8980f6f fix: Improve URL validation and extraction - Use suitable() method for URL validation - Add word-based URL detection - Fix URL extraction errors pacnpal 2024-11-15 00:55:27 +00:00
  • da9a6e40f9 fix: Properly validate URLs using extractors' suitable() method pacnpal 2024-11-15 00:53:56 +00:00
  • 4e632276c2 fix: Resolve command registration issues - Separate command handling into VideoArchiverCommands - Update command registration in __init__.py - Remove duplicate command registration pacnpal 2024-11-15 00:50:55 +00:00
  • a760bef25d feat: Implement proper slash commands across all cogs - Use app_commands for better slash command support - Add command and parameter descriptions - Improve interaction handling - Add select menus for better UX pacnpal 2024-11-15 00:47:39 +00:00
  • ba71081687 fix: Properly implement slash commands - Use app_commands for slash command support - Add proper command group structure - Handle command registration and syncing pacnpal 2024-11-15 00:45:13 +00:00
  • cb1394f413 fix: Improve default handling for addrole and addmonitor - Clear lists when no parameter is provided to use defaults - Update help text and feedback messages pacnpal 2024-11-15 00:42:05 +00:00
  • 1588c5cb96 fix: Improve command handling and defaults - Add fallback for hybrid commands - Make addmonitor and addrole use defaults - Fix async cog loading pacnpal 2024-11-15 00:40:12 +00:00
  • fa4c2ec208 fix: Remove manual command syncing and let Red-DiscordBot handle it pacnpal 2024-11-15 00:30:45 +00:00
  • f6edef4658 fix: Properly initialize and register hybrid commands for both slash and legacy support pacnpal 2024-11-15 00:26:48 +00:00
  • 7a0fd441b0 fix: Properly delegate commands and add guild-only restrictions pacnpal 2024-11-15 00:20:32 +00:00
  • ddd2da0ee4 fix: Add missing psutil import for queue health monitoring pacnpal 2024-11-15 00:14:57 +00:00