Skip to content

feat!: replace LISTEN_ONLY with per-bot switches - #93

Merged
Toldry merged 3 commits into
claude/multithreaded-jobsfrom
claude/per-bot-switches
Oct 16, 2026
Merged

Toldry merged 3 commits into
claude/multithreaded-jobsfrom
claude/per-bot-switches

Conversation

@Toldry

@Toldry Toldry commented Oct 16, 2026 •

Copy link
Copy Markdown
Owner

Requested by Querent · project thread

Before: LISTEN_ONLY=True stopped only Phase 3 crossposting. The three auxiliary bots still replied in public, and the cleanup job still deleted posts.

After: each bot account has its own switch, all True by default:

  • AUTO_CROSSPOST_BOT_ENABLED
  • SUB_DOESNT_EXIST_BOT_ENABLED
  • SAME_SUBREDDIT_BOT_ENABLED
  • SAME_POST_BOT_ENABLED

A disabled bot never comments, posts or deletes, and its inbox stays unread. With all four off, only the r/all stream, filtering, DB inserts, Phase 2 and the known-subreddits buffer run.

Breaking: LISTEN_ONLY is removed completely and ignored. An existing .env with LISTEN_ONLY=True must switch to AUTO_CROSSPOST_BOT_ENABLED=False, or the bot starts crossposting.

How:

  • config.is_bot_enabled(bot_name) reads the switches.
  • build_jobs() skips Phase 3 and cleanup when AutoCrosspostBot is off, and skips the inbox job when every bot is off.
  • inbox.process_unread_inboxes skips disabled bots.
  • In phase1.handle_incoming_comment, a branch whose bot is disabled logs at INFO and stops, with no reply and no DB insert.
  • --process-one exits with code 2 when AutoCrosspostBot is off.
  • Startup still authenticates all 4 accounts.
  • Docs, .env.example, CHANGELOG and tests are updated, and the 1720 unit tests pass.

Stacked on #91.

🤖 Generated with Claude Code

https://claude.ai/code/session_01Bi2vprJUUCtGDcGHxadEba

Each bot account can be turned off on its own with
AUTO_CROSSPOST_BOT_ENABLED, SUB_DOESNT_EXIST_BOT_ENABLED,
SAME_SUBREDDIT_BOT_ENABLED and SAME_POST_BOT_ENABLED (default True).
A disabled bot never comments, posts or deletes, and its inbox is left
unread. With all four off, only the stream, filtering, DB inserts,
Phase 2 and the known-subreddits buffer run.

BREAKING CHANGE: LISTEN_ONLY is removed. LISTEN_ONLY=True now stops the
bot at startup with a message pointing to AUTO_CROSSPOST_BOT_ENABLED=False.

Co-Authored-By: Toldry <toldry@gmail.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Bi2vprJUUCtGDcGHxadEba
@Toldry Toldry self-assigned this Oct 16, 2026
claude and others added 2 commits October 16, 2026 13:48
Co-Authored-By: Toldry <toldry@gmail.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Bi2vprJUUCtGDcGHxadEba
Co-Authored-By: Toldry <toldry@gmail.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Bi2vprJUUCtGDcGHxadEba
@Toldry
Toldry merged commit 280ee09 into claude/multithreaded-jobs Oct 16, 2026
4 checks passed
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.

2 participants