Releases: Gikkman/Java-Twirk
0.7.1
Mostly fixes of git issues, but since I need to change a method signature, it requires a version update. You might need
to update some code to use this version. Sorry!
Userstate.getEmoteSets()
now returns aString[]
. Used to be aint[]
, but Twitch changed their definition for this
field. Fixes #42Userstate
now also has access to the users badges. This was added to the IRC interface a few months ago.Emote.getEmoteID()
is removed. The method was deprecated in 0.6, and has now been removed. Please use
Emote.getEmoteIDString()
instead.TwirkBuilder
now automatically casts channel names to lower case. Fixes #44- Deprecated
Clearchat.getReason()
. Twitch has removed ban reasons from the IRC interface, so I can't support this
behaviour anymore. - Deprecated
Twirk.getModsOnline()
. Twitch has removed /namelist on connect from the IRC interface, so I can't
support this behaviour anymore.
Sorry for the breaking change from Userstate.getEmoteSets()
, but it would be a pain to work around. I could have done it the same way as I did Emote.getEmoteIDString()
, but in hindsight I don't like that method either cause eventually I will probably need to deprecate Emote.getEmoteIDString()
in favor of Emote.getEmoteID()
again only that it now returns a String
.
Various minor fixes and improvements
0.6.3
Some pretty big changes behind the scenes, but they should be fully backwards compatible. Below is a list of changes:
Cheer.getImageURL(...)
should now return a proper URL. Fix #30- You can now set a custom PING interval, for how often the connection should ping Twitch. See
TwirkBuilder.setPingInterval
Fix #29 - You can now assign custom log methods to Twirk, in case you use some kind of logging framework. See
TwirkBuilder.setXXXLogMethod
. Fix #28 (thanks to PR #31). - Calling connect after a disconnect should now work (
Twirk.close
still disposes of the instance and reconnect won't be possible). Fix #26 - You don't need to include the
#
anymore in the channel name. Fix #21
HOTFIX: Updated emote parser for strange emote ids
0.6.2
Hotfix release since some emote IDs were still not parsed correctly (see #22). This hotfix should hopefully fix this issue. Please report any further issues with parsing emotes.
Please read the rest of release 0.6
Bug-fixes and fine-tuning
There has only been minor changes between 0.5 and 0.6. Nothing that should break backwards compatibility.
Fixes include:
- Fixed NumberFormatException on modified emotes ( #17 )
- Twitch changed the emote IDs from always being a number to sometimes being a number_string -.-' Its fixed now
- Fixed SockerClosedException stacktrace printing on some locales ( #18 )
- I think I fixed it at least, but this one is hard to test since there are so many locales.
- Updated the emotes parse for a safer and faster implementation.
- This deprecates a previously public method (
EmoteParse.parseEmote(String, String)
), and the new method is package private. There isn't really any need to call these methods from outside the library
- This deprecates a previously public method (
- Twirk will not only show the "User X was not online" or "User X was already online", when in verbose mode.
- This happened when we see a leave/part message but didn't track the user correctly. I felt like it was not needed unless you want the verbose output
- Updated the example a bit
- Started to move towards proper JUnit tests
- My home rolled test setup wasn't very user friendly, so now I started moving to user regular
@Test
tests. I'll eventually convert all tests to this format
- My home rolled test setup wasn't very user friendly, so now I started moving to user regular
And probably some more...
Whispers, and new subscription logic
There has been some new features in version 0.5, but nothing that is breaking backwards compability. New features include:
- Whispers (This was removed in 0.4, but is now back. Twitch said they'd remove it , but they haven't so far so...)
- Support for new sub-streak logic
- Updated the example
- Added even more tests
- Touched up on some JavaDoc
And probably some more...
... and actuallt remove the SubscriberEvent
There has beenmajor changes from Java-Twirk 0.3 to Java-Twirk 0.4. I am sorry for the hassle, but it was a necessity. Changes include (but is not limited to)
- Added support for Subscription Gift
- Added support for Raid
- Encapsulated all default factories (previously all public under GikkDefault_)
- TwirkListenerBaseImpl has been removed, please implement TwirkListener instead
- Mode-events has been depricated (please use the TwitchUser.isMod() instead)
- Subscriber-event has been removed. It is now found under Usernotice-event instead (Twitch has changed their grouping)
- USER_TYPES now has category SUBSCRIBER, which is given to regular subs and turbo subs.
- USER_TYPES now has ranks, which allows you to do if( user.getUserType().value >= USER_TYPE.SUBSCRIBER.value )
- Added the isOwner() status on TwichUser
And probably some more. Thankfully, Java is a strongly typed language 🗡
SubGifts, Raids and major re-writes
There has beenmajor changes from Java-Twirk 0.3 to Java-Twirk 0.4. I am sorry for the hassle, but it was a necessity. Changes include (but is not limited to)
- Added support for Subscription Gift
- Added support for Raid
- Encapsulated all default factories (previously all public under GikkDefault_)
- TwirkListenerBaseImpl has been removed, please implement TwirkListener instead
- Mode-events has been depricated (please use the TwitchUser.isMod() instead)
- Subscriber-event has been removed. It is now found under Usernotice-event instead (Twitch has changed their grouping)
- USER_TYPES now has category SUBSCRIBER, which is given to regular subs and turbo subs.
- USER_TYPES now has ranks, which allows you to do if( user.getUserType().value >= USER_TYPE.SUBSCRIBER.value )
- Added the isOwner() status on TwichUser
And probably some more. Thankfully, Java is a strongly typed language, so you will notice if your code is not compatible 🗡️
Resolve
Change Log
- Added User.getUserName() (retrieves the twitch login name)
- Added USER_TYPE.SUBSCRIBER (as per request)
- Changed USER_TYPE.value for most USER_TYPES (to make space for SUBSCRIBER in between DEFAULT and STAFF)
- Changed User.userID to long
- Modified User.getName() -> User.getDisplayName() (to avoid ambiguity with getUserName)
- Depricated TwirkListener.onWhisper (twitch uses another whisper system now)
- Depricated TwirkListener.onMode (check users for mod via User.isMod instead. Twitch's onMode it is unreliable anyway)
Added Usernotice
Added the Usernotice type to be compatible with Twitch's new resubscription messages
Initial release
Initial release for Twirk