JVM-based Sync/Async API wrapper for Twitch, written in Java

Features

API
Our implementation of the official Helix API
Chat
Read and write messages to the Twitch Messaging Interface
PubSub
Real-time events over websocket based on the publish–subscribe paradigm
Extensions
API for building extension backend services
GraphQL
Unofficial schema-driven tool to fill gaps in Helix

TwitchClient Initialization

public class Application {
  public static void main(String[] argv) {
    TwitchClient client = TwitchClientBuilder.builder().build();
  }
}
class Application {
  static void main(String[] argv) {
    TwitchClient client = TwitchClientBuilder.builder().build()
  }
}
fun main(argv: Array<String>) {
  val client: TwitchClient = TwitchClientBuilder.builder().build()
}

Event Listeners

client.getEventManager().onEvent(ChannelMessageEvent.class, event -> {
	System.out.println("[" + event.getChannel().getName() + "]["+event.getPermissions().toString()+"] " + event.getUser().getName() + ": " + event.getMessage());
});
client.eventManager.onEvent ChannelMessageEvent, { event ->
	System.out.println "[${event.channel.name}]${event.permissions}] ${event.user.name}: ${event.message}"
}
client.eventManager.onEvent(ChannelMessageEvent::class.java) { event ->
	println("[${event.channel.name}]${event.permissions}] ${event.user.name}: ${event.message}")
}