Chris Smith
5f5aea0652
Synchronise maps properly.
SynchronizedSet() requires manual synchronisation when iterating
over it. When returning an iterator make a copy of the set first
to avoid issues with users iterating.
5 years ago
Chris Smith
7698f1465b
Fix CME in Maps
5 years ago
Chris Smith
070d502463
Initial work on exposing async methods
Move message processors into their own package
Update ktor
5 years ago
Chris Smith
814e45aa27
Add TargetedEvent class, fix caps negotiation
After allowing multiple names we started ACKing only the preferred
name, even if the server hadn't advertised it.
5 years ago
Chris Smith
54f35009c3
Accept unprefixed message-tags
Closes #13
5 years ago
Chris Smith
c3908e1a60
Initial pass at labelled-replies support
5 years ago
Chris Smith
b9a36acc64
Use processors as a map, don't iterate them every line.
5 years ago
Chris Smith
e707bbdff3
Move messageId to metadata
5 years ago
Chris Smith
92c642e550
Add BATCH support
Closes #11
5 years ago
Chris Smith
c40ebf68c0
Switch from `time` to `metadata`, store batch ID
5 years ago
Chris Smith
e4276619c0
Add isChannel method
5 years ago
Chris Smith
511051ac4c
Topic support
5 years ago
Chris Smith
dd87752527
Handle server connection errors
Fix regression with capability negotiation
5 years ago
Chris Smith
890d63e2cd
Try to retry SASL if we get a RPL_SASLMECHS message
5 years ago
Chris Smith
75c3e93343
Allow SASL methods to be configured, add EXTERNAL
5 years ago
Chris Smith
d76c60a47c
Construct IrcClient with a DSL.
This allows more options to be added nicely in the future,
and hides the implementation details from library users.
5 years ago
Chris Smith
23bf2faa2c
Reset state on disconnect
5 years ago
Chris Smith
1d119f3166
Fix handling of channel user modes
Closes #8
5 years ago
Chris Smith
93474c1ea8
Support sending TAGMSGs and reactions
5 years ago
Chris Smith
f67a441a08
Support message tags v3.3, replies
5 years ago
Chris Smith
2ba511702b
SASL support!
Closes #2
5 years ago
Chris Smith
4a6ff8d7c6
Add kick processing and event
Closes #7
5 years ago
Chris Smith
2ceecf54a8
Add support for channel modes
Closes #5
5 years ago
Chris Smith
e51b1c6459
Add channel mode enum, method to get mode
Groundwork for #5
5 years ago
Chris Smith
bbef1acb43
Store channel modes a bit nicer.
Groundwork for #5
5 years ago
Chris Smith
14b9190d2f
Server Connecting and Disconnected events
5 years ago
Chris Smith
44d87b68c0
Implement MotdFinished, improve some docs
5 years ago
Chris Smith
16b6496566
Extract server names nicely
5 years ago
Chris Smith
d2e9476667
Parse the 005 NETWORK token
5 years ago
Chris Smith
b82e16edb1
Add support for receiving actions and CTCPs
5 years ago
Chris Smith
1ee6e69673
Documentation
5 years ago
Chris Smith
812ec4990b
Better server state handling
Expose status (connecting, negotiating, ready)
Fire ServerReady and ServerConnected events
5 years ago
Chris Smith
c6b0471761
Raise ServerConnected event, track status nicely
5 years ago
Chris Smith
9cc7b08ee3
Make state mutation funs internal
5 years ago
Chris Smith
580a351dda
More documentation and tidying
5 years ago
Chris Smith
1eb9259e30
Document IrcClient, make lots of things internal.
5 years ago
Chris Smith
14a192379b
TLS support
5 years ago
Chris Smith
3be57d029b
First pass at user state processing
5 years ago
Chris Smith
20fd88e14c
Add user state
5 years ago
Chris Smith
b025789870
Handle extended joins
5 years ago
Chris Smith
13d0783ac6
Handle account name tags
5 years ago
Chris Smith
7e54d86956
Expose message time in events
5 years ago
Chris Smith
b0941e1047
Tag parsing support
5 years ago
Chris Smith
a1a3c66c5b
Rudimentary capabilities support
5 years ago
Chris Smith
0309a660cd
Part handling
5 years ago
Chris Smith
ead8e9321b
Add names handling and channel users
5 years ago
Chris Smith
3cb6a28323
Add channel join handling, basic channel state
5 years ago
Chris Smith
f2e081e6c7
Introduce event handlers, refactor message processors.
5 years ago
Chris Smith
602c5e8b7a
Initial import, various supporting classes.
5 years ago