Kotlin/JVM IRC message parsing, serialising and notifying. Provides useful abstractions with the intention of splitting message parsing and IRC state management.
Warren is the state tracking counterpart. If you're interested in making something for IRC, you probably want it instead. Kale by itself does not track any IRC state.
Thump is the primary upstream project - a bridge that lets people chat between Minecraft and IRC whilst they play.
Warren and Kale have a few interesting features:
- The responsibilities of parsing and state management are separated
- Both parsing and state management are verified by hundreds of unit tests
- Messages, and state handlers, are individually encapsulated
Planned releases (and their features) are tracked in Projects.
- RFC 1459
- Pretty much done for majority of usage - consider being more complete
- IRC v3
- Messages for extensions listed on the IRCv3 libraries site: http://ircv3.net/software/libraries.html
This project uses Gradle and IntelliJ IDEA for pretty easy setup and building.
The general idea:
./gradlew clean idea
- Producing an all-in-one Jar:
./gradlew build shadowJar
If you run in to odd Gradle issues, doing
./gradlew clean usually fixes it.