Skip to content

Episode Selection, Volume, Playback History, Help Command, Docs - #1

Merged
moderniselife merged 12 commits into
mainfrom
last-working-one
Dec 19, 2025
Merged

moderniselife merged 12 commits into
mainfrom
last-working-one

Conversation

@moderniselife

Copy link
Copy Markdown
Owner

No description provided.

Joseph Shenton 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
moderniselife merged commit d98a169 into main Dec 19, 2025
1 check failed
moderniselife added a commit that referenced this pull request Mar 3, 2026
Episode Selection, Volume, Playback History, Help Command, Docs
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant