Episode Selection, Volume, Playback History, Help Command, Docs - #1
Merged
Merged
Conversation
added 12 commits
December 19, 2025 14:26
- Add PLEX_CLIENT_IDENTIFIER config option (defaults to 'SchroStream') - Include X-Plex-Token in FFmpeg HTTP headers for authenticated requests - Makes client identifier configurable instead of hardcoded
- ALLOWED_USERS: comma-separated list of user IDs who can use the bot - ALLOWED_ROLES: comma-separated list of role IDs that grant access - Added !help command to show all available commands - Updated .env.example with new config options - Bot account always has access, plus any allowed users/roles
- Fetch m3u8 first to tell Plex to start transcoding - Extract actual stream URL from m3u8 response - Pass proper headers to both fetch and FFmpeg
- !volume <0-200> to set volume - !volume (no args) to show current volume - Aliases: !vol, !v - Updated help command with volume info
…ults - Movies shown in separate section with 🎬 icon - TV Shows shown in separate section with 📺 icon - Episodes shown in separate section with 📼 icon - Removed result truncation - shows all results - Global numbering maintained for !play command
- Track playback position across sessions (7 day expiry) - Pause now properly preserves session (isStopping flag) - Resume works correctly after pause - Play command offers to resume from where user left off - !play resume / !play start for continue or restart - Position saved on stop/pause/error
- Saves to data/playback-history.json on every position update - Loads on startup, survives restarts - Added data/ to .gitignore - 7 day expiry still applies
- Added !play resume and !play start commands - Clarified pause remembers position - Added !resume command reference - Note about position persistence
- setVolume now restarts stream at current position with new volume - FFmpeg audio filter applies volume (0-200% -> 0.0-2.0 multiplier) - Shows status message while changing volume - If paused, volume will apply on resume
- Import mkdirSync at top level instead of require() - Added logging for directory creation and save operations
- Seek, resume, and volume changes now get fresh stream URL - Old Plex session ID was causing premature stream end - Each restart creates new Plex transcode session
- Added !episodes command to list seasons/episodes for shows - Play command now supports episode selection (!play 1 S02E05 or !play 1 2 5) - Stop existing transcode sessions before starting new ones to avoid 400 errors - Simplified Plex client identifier to 'SchroStream' - Removed copyts parameter from transcode options - Updated help command with new episode selection syntax - Added docs build artifacts to .gitignore
moderniselife
added a commit
that referenced
this pull request
Mar 3, 2026
Episode Selection, Volume, Playback History, Help Command, Docs
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.