Thread Watcher Commands And Workflow
Commands
| Command | Notes |
|---|---|
/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 list | Lists 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 check | Runs the recovery scan immediately and reports the results. |
The command, subcommand, and option wording comes from
thread_watcher_lang.json5.
Protection Workflow
- Add a forum or individual thread through the dashboard, JSON5 config, or
/threadwatch add. - Thread Watcher applies the preferred archive duration to active protected threads when enabled.
- When Discord archives a protected thread, the archive event triggers an immediate reopen attempt.
- Startup and scheduled scans recover threads whose archive events were missed while Athena was offline.
- 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_pagespages - Reopens no more than
max_unarchives_per_scanthreads - Waits
action_delay_msbetween 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.