How corychaplin/kiwiirc-plugin-asl works
Kiwi IRC ASL customizes startup to collect age, sex, and location, then exposes parsed user details in user profiles and a searchable user browser. The plugin also colors nicknames by configured sex and supports GECOS parsing and localization. Source excerpts support the startup, event handling, and browser interactions; wiring for some welcome-screen details and persistence behavior is not fully visible, so those links are omitted.
Main entry points: plugin.js Plugin bootstrap · UserBrowser.vue User browser · CustomWelcome.vue Custom welcome · UserBrowserButton.vue Browser button
Components 14
Startup and configuration
- ASL configuration
src/config.js - Custom welcome
src/components/CustomWelcome.vue - Locale messages
res/locales
User data and display
- GECOS parser
src/libs/utils.js - Kiwi user state
- Userbox details
src/components/UserBoxInfo.vue - Browser button
src/components/UserBrowserButton.vue - User browser
src/components/UserBrowser.vue - Colour utilities
src/libs/colours.js
Kiwi integration
- Plugin bootstrap
src/plugin.js - Nickname colours
src/plugin.js
Other components
- Chat user
- Kiwi IRC
- IRC network
Connections 21
- Kiwi IRC → Plugin bootstrap: loads plugin
- Plugin bootstrap → ASL configuration: sets defaults
- Plugin bootstrap → Custom welcome: registers startup
- Plugin bootstrap → Userbox details: registers UI
- Plugin bootstrap → Browser button: registers UI
- Plugin bootstrap → Locale messages: loads translations
- Chat user → Custom welcome: enters details
- Custom welcome → Kiwi IRC: starts connection
- Kiwi IRC → IRC network: connects
- Kiwi IRC → Plugin bootstrap: dispatches IRC events
- Plugin bootstrap → IRC network: requests WHO
- Plugin bootstrap → GECOS parser: parses realname
- Plugin bootstrap → Kiwi user state: updates user
- Kiwi IRC → Userbox details: shows user details
- Chat user → Browser button: opens browser
- Browser button → User browser: opens sidebar
- User browser → Kiwi user state: reads user data
- User browser → Kiwi IRC: opens userbox
- Plugin bootstrap → Nickname colours: replaces formatter
- Nickname colours → Kiwi user state: reads user ASL
- Nickname colours → Colour utilities: converts colours