Skip to content

Releases: Gikkman/Java-Twirk

0.7.1

09 Feb 19:36
0362098
Compare
Choose a tag to compare

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 a String[]. Used to be a int[], but Twitch changed their definition for this
    field. Fixes #42
  • Userstate 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

07 Nov 21:53
954be16
Compare
Choose a tag to compare

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

10 Apr 21:48
Compare
Choose a tag to compare

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

06 Apr 19:51
07eb825
Compare
Choose a tag to compare

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
  • 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

And probably some more...

Whispers, and new subscription logic

11 Feb 19:51
ea1136a
Compare
Choose a tag to compare

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

08 May 10:31
c681e22
Compare
Choose a tag to compare

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

07 May 20:25
1c8b363
Compare
Choose a tag to compare

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

28 Mar 20:36
Compare
Choose a tag to compare

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

23 Jun 03:26
Compare
Choose a tag to compare

Added the Usernotice type to be compatible with Twitch's new resubscription messages

Initial release

26 May 08:04
Compare
Choose a tag to compare

Initial release for Twirk