Home

fsky / j2i

public
Overview Code History Branches Pull requestsIssuesInsights
main
HomeOverview Code PRsIssues

Enhance IRC nick puppets with occupancy management and presence options

2 weeks ago

76d23dc
Authored
Kruno9/11/2026, 2:17:32 PM
This update introduces improvements to the IRC nick puppets feature, allowing for better management of XMPP occupants in IRC channels. Key changes include:

- Implementation of nick-puppet occupancy handling: XMPP leave/kick/ban events now trigger corresponding actions on the IRC side, including PART and NICK changes.
- Introduction of an optional `irc_puppet_presence` setting, allowing for "eager" presence management where puppets join on MUC presence, enhancing real-time interaction.
- Adjustments to the handling of XMPP replies from connected nick puppets, omitting the quote prefix when a reply message ID is available.

These enhancements improve the responsiveness and accuracy of the bridge in reflecting real-time occupancy changes across platforms.

Parent76e0f47

15 files changed
  • CHANGELOG.md+5−0
  • README.md+3−1
  • config.example.toml+8−2
  • src/j2i/bridge.py+126−4
  • src/j2i/config.py+28−0
  • src/j2i/irc/client.py+46−2
  • src/j2i/irc/puppets.py+212−2
  • src/j2i/xmpp/client.py+15−15
src/j2i/xmpp/component.py
+26
−26
  • src/j2i/xmpp/presence.py+120−0
  • tests/test_bridge.py+120−0
  • tests/test_config.py+15−1
  • tests/test_irc_client.py+83−0
  • tests/test_presence.py+136−0
  • tests/test_puppets.py+112−1