Home

fsky / j2i

public
Overview Code History Branches Pull requestsIssuesInsights
main
HomeOverview Code PRsIssues

Add opt-in IRC nick puppets as a RELAYMSG alternative

2 weeks ago

76e0f47
Authored
Kruno9/11/2026, 12:57:03 PM
Give XMPP occupants real IRC nicks via extra connections so messages,
reactions, and typing can come from that nick instead of RELAYMSG or
<nick> text. Existing configs keep today's send path: irc_puppet_mode
defaults to relaymsg.

- Per-network pool (cap, idle QUIT, suffix/separator, collision hash)
- Master connection ignores owned nicks so puppet traffic cannot loop
- Native +draft/react TAGMSG from puppets; typing uses a live puppet
  socket without spawning one

Co-authored-by: Cursor <cursoragent@cursor.com>
AI-assisted-by: Cursor Grok 4.6 <cursoragent@cursor.com>

Parent11f9e54

15 files changed
  • CHANGELOG.md+8−0
  • README.md+8−4
  • config.example.toml+23−0
  • src/j2i/__main__.py+1−0
  • src/j2i/bridge.py+199−53
  • src/j2i/config.py+115−0
  • src/j2i/irc/client.py+99−6
  • src/j2i/irc/nicks.py+110−0
  • src/j2i/irc/puppets.py+368−0
  • tests/test_bridge.py+89−0
  • tests/test_config.py+91−0
  • tests/test_irc_client.py+41−0
  • tests/test_msgref.py+3−2
  • tests/test_nicks.py+134−0
  • tests/test_puppets.py+218−0