IRCX v1.5.0 - IRCX_BLOCKED_CHANNELS denylist
A single blacklist variable to permanently ban a channel - handy for cutting off a costly public channel for good.
✨ IRCX_BLOCKED_CHANNELS
Comma-separated denylist of channels the bot must never be in. It always wins:
- Never auto-joined - even if the channel is also listed in
IRCX_CHANNEL. - Never joined on request -
irc_joinrefuses it even if a user PMs the bot to join, and even if it's in theIRCX_JOINABLE_CHANNELSallowlist. - Never answered in - if the bot somehow ends up in a blocked channel (e.g. a forced join), messages there are dropped before context/dispatch, so it can't run up cost.
IRCX_BLOCKED_CHANNELS=#World-Chat,#another-public-channelEnforced in three places: load_config (filtered out of auto-join), _join_allowed (checked before the allowlist), and the inbound message path (dropped).
Allowlist vs denylist:
IRCX_JOINABLE_CHANNELSis default-deny (list what's allowed);IRCX_BLOCKED_CHANNELSis default-allow (list what's banned) and overrides it. Use whichever fits.
✅ Tests
4 new tests; full IRCX suite 145 passing, no regressions. CI green.