IRCX v1.3.0 - 6 self-management tools (everyday IRC agency)
Six more agent-facing IRC tools, again drawn from the live bot's own wishlist - this round about self-management and ordinary participation: signalling availability, checking on people, recovering channel state, and setting boundaries. Like the v1.2.0 set, the state-changing tools enforce operator status server-side; nothing new is required on the wire in the common case.
✨ New tools
| Tool | What it does |
|---|---|
irc_away |
Set or clear the bot's away status - signal "stepping back" or a degraded state (shown on WHOIS / auto-reply). |
irc_whois_server |
Network-wide WHOIS that works even for users the bot shares no channel with. "Is X online right now?" → account, host, realname, server, idle, channels. (async request/reply on numerics 311/312/313/317/319/330/671/318, with timeout). |
irc_cycle |
Part + rejoin a channel to reset desynced state after a netsplit or lost op. The channel key is preserved across the cycle. |
irc_set_key |
First-class channel-key (+k) management; the key is remembered so reconnects rejoin with it. Requires the bot to be a channel op. |
irc_ignore / irc_unignore |
Temporarily mute a user - their messages are dropped (not answered, not buffered for context) until the timeout lapses, so it can't become permanent avoidance. Default 300 s, max 86400 s. |
🔒 Safety / design
- Ignored senders are dropped early in the inbound path (no reply, no context buffering); replayed history is exempt.
irc_set_key/irc_cyclerequire the bot to hold operator status - consistent withirc_mode/irc_topic/irc_kick. No new env flags.- All tools live in the
ircxtoolset (enable viaplatform_toolsets.ircx).
✅ Tests
12 new tests; full IRCX suite 132 passing, no regressions. CI green.
Note: a CTCP-response tool was also on the wishlist, but CTCP
VERSION/PING/TIME/SOURCE/CLIENTINFOresponses have shipped since v1.0.0 - verified, not rebuilt.