Watch Party Commands
Host synchronized watch parties (or game nights) with smart timers that automatically detect movie, TV show, and board game titles — whether typed manually or pulled from a Discord event — calculate a runtime/playtime automatically, and track what your community watches together.
Quick FAQ
Q: How does auto-detection work?
A: When you run /timer start in a channel, the bot checks your server's Discord scheduled events. If an event is linked to that specific channel, the bot automatically uses the event's title as the timer label and searches TMDB for runtime.
Q: Does it work with any Discord event?
A: Yes, but the event must be scheduled for the specific channel where you run /timer start. The bot reads the event title to detect what you're watching.
Q: Does runtime detection also work if I type the label myself?
A: Yes. /timer start label:Juno searches the same way an auto-detected label does — no duration needed, the bot looks it up either way.
Q: What if there are multiple matches?
A: The bot shows a selection menu so you can choose the correct title.
Q: Does this work for board games, not just movies and TV?
A: Yes — the bot searches movies, TV shows, and board games (using BoardGameGeek's listed playing time) whenever it's trying to auto-detect a duration.
Q: Can timers auto-stop?
A: Yes! Either set a manual duration (1-600 minutes) or let the bot detect runtime automatically (adds a 10-min buffer).
Q: Who can stop a timer?
A: The person who started it or anyone with moderation permissions.
Q: Does watch history work automatically?
A: Yes! When a timer with a title/label completes, it automatically logs to server watch history. A "Log to Watch History" button also appears for manual override or corrections. For timers without labels, use the button to manually log what you watched. Only the timer starter, administrators, or moderators can use the button.
Host synchronized watch parties with timers and track what your community watches.
Announcements
Generate the initial "hey, we're watching this tonight" announcement — typically posted an hour or two before the watch party, well before /timer remind's final-notice ping.
Generate an Announcement
/announce title1:<title> episodes1:[optional] title2:[optional] episodes2:[optional] time:<time> host:[optional] tone:[optional] custom-tone:[optional]Parameters:
title1(required) - First movie or TV show titleepisodes1(optional) - Episode(s) fortitle1if it's a TV show — flexible notation:S3E9-E12,S3E9-12,Season 3 Episode 9,S03E09-E12, etc.title2/episodes2(optional) - A second title, for back-to-back watch parties (e.g. two episodes then a movie)time(required) - Start time to include in the announcement, used exactly as typed (e.g."8:00 PM EST")host(optional) - Who's hosting — a persona name (like a horror-host character) or a literal@mention, your choicetone(optional) - One ofFunny,Scary,Dramatic,Wholesome,Mysteriouscustom-tone(optional) - Describe your own tone/style instead (e.g."like a noir detective") — overridestoneif both are given
Features:
- Looks up each title on TMDB for the real plot/premise, so the AI writes something specific to the movie or show rather than generic filler
- Automatically includes real streaming availability ("Available to stream on...")
- Reply is private (only visible to you) and formatted as a copy-paste-ready code block — the bot never posts the announcement anywhere itself, you post it manually wherever you'd like (e.g. an announcements channel)
- If OpenAI is unavailable, falls back to a plain, clearly-labeled non-AI template instead of failing outright
- Admin/Moderator only
Example:
/announce title1:"Tales From the Crypt" episodes1:"S3E9-E12" title2:"Hellraiser" time:"8:00 PM EST" host:"Cryptkeeper" tone:ScaryHow It Works:
- Run
/announcewith your title(s), start time, and optional host/tone - Bot looks up each title's plot and streaming availability, then asks AI to write short promotional flavor text in your chosen tone
- You get back a private, copy-paste-ready announcement
- Post it yourself wherever you'd like (e.g. your server's announcements channel) — the bot doesn't post it for you
- Later, run
/timer remindcloser to start time, then/timer startwhen you begin
Tip: Since nothing is posted automatically, you can generate a few variations (different tones, or run it again) before picking your favorite to post.
Timer Reminders
Announce that you're about to start the timer right before beginning the watch party.
Remind Everyone
/timer remind message:[optional] role:[optional]Parameters:
message(optional) - Custom message to show (e.g., "Everyone ready?")role(optional) - Role to ping/mention
Features:
- Auto-detects from Discord scheduled events - Automatically finds the event linked to the current channel
- TMDB integration - Shows poster, runtime, year, and overview
- Smart buttons - "View on TMDB" and "Join Voice Channel" (if applicable)
- Custom host message - Add your own personal touch
- Role mentions - Ping specific groups to gather everyone
- Pre-timer announcement - Perfect right before running
/timer start
Example:
/timer remind message:Everyone ready? Let's go! role:@Movie NightHow It Works:
- You've already announced the watch party 1-2 hours ago via Discord event
- Everyone is gathered and ready
- Run
/timer remindto give final notice - Shows what you're watching with TMDB details
- Immediately run
/timer startto begin
Tip: Use this right before starting the timer to ensure everyone is ready and knows what's playing!
Timer Commands
Start simple stopwatch timers for watch parties.
Start a Timer
/timer start label:[optional] duration:[optional] theme:[optional]Parameters:
label(optional) - Label for what you're watching (e.g., "Movie night", "The Matrix")duration(optional) - Duration in minutes (1-600) for auto-stop timertheme(optional) - Timer countdown theme (default: modern)modern- Colorful animated countdown (default)classic- Sequential text countdown like the original bot
Features:
- Discord Event Auto-Detection: Bot checks server's scheduled events - if one is linked to the current channel, automatically uses event title as timer label
- Auto-stop: Set duration to automatically stop timer when time expires
- Runtime auto-detection: Whenever a label is set and no duration is given — whether typed manually or auto-detected from a Discord event — the bot searches movies, TV shows, and board games and adds a 10-minute buffer to whatever it finds
- Smart selection: If multiple matches are found across movies, TV shows, and board games, shows a selection menu to pick the correct title (capped at 8 results per type, so the menu never exceeds Discord's 25-option limit)
- Automatic watch history logging: When timer completes (manual or auto-stop), automatically logs to server watch history if title found on TMDB
- Runs continuously: Without duration, runs until manually stopped
- 5-second countdown before starting (with visual/text animation)
- Public display visible to all channel members
- Shows remaining time when duration is set
Examples:
/timer start label:The Lord of the Rings duration:190
/timer start label:Movie Night theme:classic
/timer start duration:30
/timer startAuto-Detection Example:
- Create a Discord scheduled event named "The Lord of the Rings"
- Set the event location to a specific voice/stage channel (e.g., #watch-party)
- In that channel, run
/timer start(no label parameter needed) - Bot detects the Discord event linked to this channel
- Bot uses "The Lord of the Rings" as the timer label automatically
- Bot searches TMDB and finds multiple matches, shows selection menu
- Select the correct movie (e.g., "The Fellowship of the Ring")
- Bot auto-detects 178 min runtime + 10 min buffer = 188 minutes
- Timer starts with auto-stop at 188 minutes
Tip: This works for any Discord event linked to a channel - the bot will always check for events when you run /timer start without a label! Typing a label yourself (/timer start label:The Fellowship of the Ring) gets the same title search and auto-duration treatment, without needing a Discord event at all.
Check Timer Status
/timer status
/timer checkShows the current timer status for the channel:
- Elapsed time
- Remaining time (if duration was set)
- Total duration (if set)
- What's being watched
- Who started the timer
- Auto-stop status
Parameters:
public(optional) - Show this to everyone in the channel instead of just you (default: false)
By default, checking the timer only shows the result to you — most people check just to glance at their own progress, and showing it to everyone every time would flood the channel. Add public:true to announce the current status to the whole channel instead:
/timer status public:true/timer check is an alias for /timer status and works exactly the same way, including the public option.
Pause and Resume Timer
/timer pause
/timer resumePause a timer if something comes up — a break, a technical issue, anything that interrupts the watch party — without losing your elapsed time or restarting from scratch.
/timer pausefreezes the elapsed and remaining time and cancels the pending auto-stop./timer statuswill show "Timer Paused" with the elapsed/remaining time held at exactly where they were when you paused./timer resumepicks up right where you left off — the remaining time (if a duration was set) continues counting down from the same point, and auto-stop is rescheduled accordingly. Time spent paused never counts against the timer's duration.- A paused timer survives a bot restart — it stays paused and won't auto-stop or start counting down on its own until you
/timer resumeit. /timer stopstill works normally on a paused timer./timer adjustrequires resuming first — you can't change the duration while paused.- Only available to the timer starter, server administrators, or moderators (same permissions as
/timer stop).
Stop Timer
/timer stopStops the current timer in the channel. Only available to:
- User who started the timer
- Server administrators
- Users with Manage Guild permission
- Users with Moderate Members permission
Watch History
Track what your server community watches together.
Automatic Watch History Logging
NEW: Timers now automatically log to watch history!
When a timer with a title/label completes (via /timer stop or auto-stop):
- Bot searches TMDB for the title
- Finds best match (first result)
- Automatically logs to server watch history
- Shows confirmation with poster, title, year, type
- "Log to Watch History" button appears for manual override
For timers WITHOUT labels:
- Button appears to let you manually add what you watched
- Click button → Enter title → Add optional notes → Submit
Button Permissions:
- ✅ Timer starter can use it
- ✅ Server administrators can use it
- ✅ Server moderators can use it
- ❌ Other users cannot log timers they didn't start
Information Saved:
- Movie/TV show title from TMDB
- Year and type (movie/TV)
- Date watched
- Channel where watched
- Who started the timer
- Who stopped the timer
- Timer duration as notes
- Poster image
What You See (with label):
⏹️ Timer Stopped & Logged 🛑📝
The Lord of the Rings: The Fellowship of the Ring (2001)
✅ Automatically logged to watch history
Total Time: 3:02:15
Type: Movie
Channel: #movie-night
Started by: MovieFan
Stopped by: MovieFan
[📝 Log to Watch History] ← Click to manually log again or correctWhat You See (without label):
⏹️ Timer Stopped 🛑
Timer has been stopped
Total Time: 2:15:30
Started by: MovieFan
Stopped by: MovieFan
[📝 Log to Watch History] ← Click to add what you watchedNo TMDB Match? If the title isn't found on TMDB, you'll see a warning but the button will still appear so you can manually search and log.
Manual Override: The button lets you log a different title if auto-detection picked the wrong result, or add custom notes to the entry.
Manual Watch History Entry
/watched add title:<title> notes:[optional notes]Parameters:
title(required) - Movie or TV show title to search fornotes(optional) - Additional notes about the viewingprivate(optional) - Only show the confirmation to you instead of the whole channel (default: false)
Features:
- Search integration for accurate titles
- Selection menu if multiple matches found
- Immediate save to server history
- Public announcement in channel (unless
private:true)
Example:
/watched add title:Big Trouble in Little China notes:Great kung-fu scenes!View Watch History
/watched history filter:[type] limit:[number]Parameters:
filter(optional) - Filter by content type (all, movie, tv) - default: alllimit(optional) - Number of entries to show (1-25) - default: 10
Displays recent watch history for the server:
- Titles with TMDB links
- Dates watched
- Channels where watched
- Who saved each entry
- Notes from viewers
Examples:
/watched history
/watched history filter:movie limit:25
/watched history filter:tv limit:5Watch Party Best Practices
Before Starting
- Coordinate with your community on what to watch
- Ensure everyone has access to the content
- Set clear start time expectations
- Test audio/video sync beforehand
During the Watch Party
- Use the timer to keep everyone synchronized
- Encourage discussion in text chat
- Avoid spoilers for new viewers
- Pause timer if taking a break
After Watching
- Log to watch history while discussing
- Add notes about memorable moments
- Take recommendations for next watch party
- Review watch history to avoid repeats
Watch History vs Personal Ratings
Important: Watch history is server-level tracking, not personal ratings.
- ✅ Public record of what was watched together
- ✅ Channel tracking shows where watch parties happen
- ✅ Community feature visible to all members
- ❌ Not for personal ratings or private tracking
- ❌ Not user-specific - saved by timer starter/mods
For personal tracking, use external services like:
Rate Limiting
Watch party commands have minimal rate limiting:
- Timer commands: Once per minute per channel
- Watch history: Normal rate limit applies
- Logging from button: No cooldown (permission-based)
Troubleshooting
Can't log to watch history
- Verify you started the timer OR have mod permissions
- Check that timer has completed
- Ensure watch history isn't disabled for the server
Timer not starting
- Check for existing timer in the channel
- Verify bot has permission to send messages
- Ensure duration format is correct
Can't find title when logging
- Use
/movieor/tvcommands first to verify title - Try alternative title formats or release years
- Check that TMDB API key is configured
Watch history not saving
- Verify bot has database access
- Check server configuration for watch history
- Review mod logs for error messages
