Closed iamkobold closed 8 years ago
Huh! That is certainly something special. I appreciate the work you did you try debugging it.
I'm setting a reminder for myself to look into this tonight (US time).
Thanks from what i dug into; the twitch IRC servers don't ever send the 005 line telling the client what the modes and channel types are. So i am guessing when mode messages come through it doesn't now how to map moderators versus non-moderators.
Again I tried to fake the 005 line; and it helped in an older version of the library but now it just generates tons of exceptions like what is shown above.
Just to note a few other fun twitch features:
WHO
, so KICL keeps asking over and over again. I should fix that. It's on the todo list somewhere.004
message lacks server version, KICL cries.However, this should be fixed for 2.3.1
Fixed. https://github.com/KittehOrg/KittehIRCClientLib/commit/9632c9664975f35b7b20abfa4910d13de783d333
2.3.1 pushed for a trip to maven central. Hopefully will be available shortly.
Using the kitteh library against Twitch IRC which is apparently not true IRC but close enough.
When receiving messages that look like
:jtv MODE #<CHANNEL> +o <NICK>
the following exception happens for every user.Caused by: java.lang.ClassCastException: org.kitteh.irc.client.library.implementation.ModeData$IRCChannelUserMode cannot be cast to java.lang.Comparable at java.util.TreeMap.compare(TreeMap.java:1290) at java.util.TreeMap.put(TreeMap.java:538) at java.util.TreeSet.add(TreeSet.java:255) at java.util.AbstractCollection.addAll(AbstractCollection.java:344) at java.util.TreeSet.addAll(TreeSet.java:312) at org.kitteh.irc.client.library.implementation.ActorProvider$IRCChannelSnapshot.<init>(ActorProvider.java:402) at org.kitteh.irc.client.library.implementation.ActorProvider$IRCChannelSnapshot.<init>(ActorProvider.java:377) at org.kitteh.irc.client.library.implementation.ActorProvider$IRCChannel.lambda$snapshot$22(ActorProvider.java:214) at org.kitteh.irc.client.library.implementation.ActorProvider$IRCStaleable.snapshot(ActorProvider.java:156) at org.kitteh.irc.client.library.implementation.ActorProvider$IRCChannel.snapshot(ActorProvider.java:214) at org.kitteh.irc.client.library.implementation.EventListener.mode(EventListener.java:1028)
I did actually try the following hack upon a successful connection to fake this server message since the TwitchIRC doesn't send it for whatever reason. Cause looking into the stack trace it doesn't seem to understand the user modes?
I don't want to say this is a bug in the library since TwitchIRC isn't normal IRC but would be cool to get some insight how to work around this. Using version 2.3.0 by the way