Skip to Content
Haven Documentation is the shared home for product guides, plugin setup, and release docs.
PluginsThread WatcherCommands and Workflow

Thread Watcher Commands And Workflow

Commands

CommandNotes
/threadwatch add [target]Protects a forum, forum post, or thread. Defaults to the current channel or thread.
/threadwatch remove [target]Removes a command-added target. Configured targets remain protected.
/threadwatch listLists protected targets and whether each came from config, a command, or both.
/threadwatch status [target]Shows protection source, archive and lock state, archive timer, and whether Athena can manage the target.
/threadwatch checkRuns the recovery scan immediately and reports the results.

The command, subcommand, and option wording comes from thread_watcher_lang.json5.

Protection Workflow

  1. Add a forum or individual thread through the dashboard, JSON5 config, or /threadwatch add.
  2. Thread Watcher applies the preferred archive duration to active protected threads when enabled.
  3. When Discord archives a protected thread, the archive event triggers an immediate reopen attempt.
  4. Startup and scheduled scans recover threads whose archive events were missed while Athena was offline.
  5. Thread Watcher reopens the thread through Discord’s archive control without posting a message inside it.

Forum Scan Behavior

For every protected forum or media channel, a scan:

  • Fetches active posts and checks their archive duration
  • Fetches archived public posts in pages of up to 100
  • Stops after archived_fetch_pages pages
  • Reopens no more than max_unarchives_per_scan threads
  • Waits action_delay_ms between Discord changes
  • Skips manually locked threads
  • Avoids processing the same thread twice when it is protected directly and by its parent forum

Event Behavior

  • New posts in a protected forum are handled as soon as Discord creates them.
  • Newly archived protected threads are handled as soon as Discord reports the update.
  • Deleted command-added thread targets are removed from the database.
  • Only one recovery scan runs at a time. A second manual request waits for the active scan and returns its result.

Dry Run

Set dry_run to true, then run /threadwatch check. The result reports how many threads would reopen and how many archive timers would change, but it does not edit Discord threads.

Expected Discord Behavior

  • Command replies are private by default.
  • Protected threads may still show an archive timer; Thread Watcher reopens them after Discord applies it.
  • Manually locked threads stay archived.
  • Thread Watcher does not post keepalive messages.