twitch4j

Modular Async/Sync/Reactive Twitch API Client / IRC Client

MIT License

Stars
367

Bot releases are hidden (Show)

twitch4j - v1.0.0

Published by PhilippHeuer over 4 years ago

Bug Fixes

  • typos in twitch's latest helix announcement
  • use login and stream in events / address potential thread contention issue in TwitchClientHelper (#138)

Code Refactoring

  • no longer need to manually unpack timestamps
  • better json post requests in helix
  • remove defaultAuthToken reference in client helper

Deprecate

  • all helix streams.metadata will return null after July 20, 2020 (#142)

Documentation

  • remove fatJar section from the installation page
  • update repository and version for stable 1.x.x+ releases
  • add contribution pages (ide setup, code-documentaiton and prs)
  • now showing the correct arguments for Helix.getFollows

Features

  • implement monetary pubsub events (#134)
  • add PubSub support for moderation actions (#133)
  • add bulk add/remove live/follow listener methods to TwitchClientHelper
  • add/remove stream/follow listener methods added to TwitchClientHelper
  • chunk getStreams calls in TwitchClientHelper to support listening to more than 100 channels
  • establish whisper-specific rate limiting
  • implement hype-train-events-v1.rewards topic
  • implement onsite-notifications topic
  • implement channel-cheer-events-public-v1
  • implement channel-sub-gifts-v1 topic
  • implement presence pubsub topic
  • implement friendship pubsub event
  • implement polls topic
  • implement leaderboard-events-v1 (bits-usage & sub-gifts)
  • implement more subtypes of community-points-channel-v1
  • implement raid & following. Add hype train cooldown expiration event
  • add objects for pubsub raid event, add more channel point event types
  • implement unofficial automod approve/deny v5 endpoints
  • join twitch chat anonymously (and refactor)
  • implement new helix endpoints - cheermotes, search, channels, channels/commercial, entitlements/upload, hypetrain/events, streams/key, users/follows, users/extensions (#144)
  • use defaultAuthToken in helix and define more scopes
  • ability to revoke access tokens
  • generate missing auth token for helix calls when supplied client id/secret

Internal

  • add a few missing return javadoc comments
  • add more topics and deprecate unimplemented ones
  • use @deprecated instead of @see for javadoc deprecation notices
  • set javadoc html5 option automatically for java9+ only
  • add new scopes from latest helix update
  • update twitch scopes
  • update events4j to v0.8.0
  • add javadoc for CollectionUtils.chunked and set initialCapacity
twitch4j - v1.0.0-alpha.19

Published by PhilippHeuer over 4 years ago

Modifications

  • sleep one second in the pubsub worker thread instead of 100ms
  • add helix.createStreamMarker method
  • merged initial Webhooks support #102
  • add support for a custom withChatQueueSize / withChatRateLimit
  • merged feature/channelpoints-pubsub #104
  • merged turikhay/feature/pubsub-topic-unsubscribe to subsubscribe from pubsub topics
  • add raw message to channel message / channel action events
  • implement AutoClosable to shutdown twitch4j
  • upgrade to modular event manager (https://github.com/PhilippHeuer/events4j/tree/v0.7.1)

Fixes

  • only call getStreams method if we're at least listening for one channel
  • also shutdown okhttpClient in auth.TwitchIdentityProvider (was missing before)
  • use waitStrategy.sleeping in TopicProcessor to reduce cpu usage (from .18)

Migration

There were major changes concerning the eventManager to make it modular and android compatible - and to allow custom eventHandlers (SpringEvents, Reactor, Annotation-Based, ...) - https://github.com/PhilippHeuer/events4j/tree/v0.7.1

Migration Steps:

  • eventManager.dispatchEvent(eventObject) was renamed to eventManager.publish(eventObject)
  • you will now need to specify the eventHandler when subscribing to a event, ie. java eventManager.getEventHandler(SimpleEventHandler.class).onEvent(EventType.class, event -> { // your code ... });
    Please check out this site on available handlers and their usage: https://twitch4j.gitlab.io/twitch4j/events/

Another new feature is that you'r now able to dispose eventHandlers if they are no longer needed.

Docs

  • added informaiton on how to configure logging
  • updated to reflect the eventManager changes
twitch4j - v1.0.0-alpha.17

Published by PhilippHeuer about 5 years ago

Modifications

  • supports modifying the event manager properties (queue size, behavior on event queue overflow, ...)
  • supports disabling stream / follow event listeners
  • supports using a queue for run requests later if the request thread pool is already full
  • increased default request timeout to 5000ms
  • add getModerator helix requests
  • add tmi getHosts methods

Fixes

  • fixed a issue when using the kraken getUsers endpoint for multiple users
  • kraken team request was missing the attribute for the member list
  • add support for the new founders badge (founders were not detected as subs)

Migration

  • the helix docs define the type of user id / game id as text, not long. So the types were changed to reflect that.
twitch4j - v1.0.0-alpha.11

Published by PhilippHeuer over 5 years ago

Modifications

  • helix: added support for the streams tag methods (list of active tags, replace tags, list all tags)
  • chat: add chat moderation action methods to chat module / channel based chat events
  • global: allow overwriting the default request timeouts

Fixes

  • chat: always take the channelname as lowercase when sending a message
  • common: remove a empty method on the PrivatMessageEvent

Migration

None

twitch4j - v1.0.0-alpha.10

Published by PhilippHeuer over 5 years ago

Modifications

  • Added "getUsersByLogin" to TwitchKraken, since the the Helix Users endpoint does not support retrieving the "createdAt" property of a user yet.
  • Overload a few methods in helix which weren't using auth yet, to support higher rate-limits (clips, games, top games, streams, streamsmetada followers and videos).

Fixes

  • map channel state to the correct states in the channel state event #65

Migration

  • The first parameter for the helix calls clips, games, top games, streams, streamsmetada followers and videos is now the authToken, so add it or set it to null - the old methods will be removed on 1.0.0 release.
twitch4j - v1.0.0-alpha.9

Published by PhilippHeuer over 5 years ago

Modifications

  • supports both getAllSubscribers and getSubscriberByUserId
  • adds error tracking (sentry.io)
  • improve helper function to get stream state change events with fewer requests

Fixes

  • some typos in the docs
  • fixed a bug that caused whispers to not be send in some cases

Migration

  • No actions required
twitch4j - v1.0.0-alpha.8

Published by PhilippHeuer over 5 years ago

Modifications

  • add getBroadcasterSubscribers method to the helix module

Fixes

  • a bug caused some pm's to not trigger events

Migration

  • No actions required
twitch4j - v1.0.0-alpha.7

Published by PhilippHeuer over 5 years ago

Modifications

  • adds a helper class with common use cases (events for go live/offline/stream title/stream game/follows)

Fixes

  • the userId in helix was of type string in some cases, it was changed to long to reflect the actual data type

Migration

  • if you used the helix api, you may need to change the parameters to pass in long's to the api instead of strings
twitch4j - v1.0.0-alpha.6

Published by PhilippHeuer almost 6 years ago

Modifications

  • add rest-tmi module
  • fetch token info using the credentialManager, if not provided
  • add subscribers method to kraken module, since it's still missing in helix

Fixes

  • add withCommandTriggers to the main builder to use the CommandEvent
  • add missing enablePubSub method to twitch4j builder
  • don't join channel null if the token doesn't contain user information

Migration

No actions required

twitch4j - v1.0.0-alpha.5

Published by PhilippHeuer almost 6 years ago

Modifications

  • moved kraken package into com.github.twitch4j.kraken

Fixes

  • add PubSub to the Twitch4J Builder (reported by Connorwrightkappa)
  • prevent a error that was caused by messages of users without any chat badges (reported by Oryteclin)
  • add kraken.addFollow method

Migration

  • imports of kraken models may need to be updated to match the package com.github.twitch4j.kraken
twitch4j - v1.0.0-alpha.4

Published by PhilippHeuer almost 6 years ago

Modifications

  • PubSub module (whisper topic only)
  • GraphQL module
  • Helix methods for games
  • Kraken module fur legacy methods that aren't available in helix yet

Fixes

None

Migration

No actions required

twitch4j - Twitch4J v0.11.1

Published by stachu540 about 6 years ago

imGlitch Announcement!!!

The patch v0.11.1 is good to go. We have some news for fans, cause we focusing for major release v1, we just only bugfixing v0.*'s. No more features. We will inform you about major release progress on our Discord Server. We know the Javadoc.io is won't pull from JCenter. We are working on it.

VoHiYo Bugs

  • fixing Scopes while was be authorizing non-lowercase.
  • fixing video id deserialization using ChannelEndpoint#getVideos()
twitch4j - Twitch4J v0.11.0

Published by stachu540 over 6 years ago

imGlitch Here We GO!!!

The official release v0.11.0 is here. Grab some copy from JCenter. Don't mind if I said appreciate from different language. Because i can Kappa?!

PogChamp What's new

  • API Remodeled. Some endpoints has been changed. Checkout Javadoc
  • Deprecated ChannelFeeds (#50) BibleThump - because Twitch said's We are not a Facebook Kappa. Use a Twitter instead.
  • TwitchScopes is now Scopes, cause Streamlabs has been separated, will be maded soon as T4J Module.
  • Command test's and some fixes related below - Merci @YaourtGG

VoHiYo Bugs

  • No more NPE from command issue - Merci encore @YaourtGG
  • Fixed OAuth issue authorization scope - Дзякуй @artek2001

Happy Sunday !!!