twitch4j/twitch4j


A JVM library for all Twitch APIs, including Chat, Helix, and EventSub (webhook/websocket/conduit). It includes advanced features for large-scale apps such as connection pooling, rate-limiting, and more! https://twitch4j.github.io/

Download


Step 1. Add the JitPack repository to your build file

Add it in your root settings.gradle at the end of repositories:

	dependencyResolutionManagement {
		repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
		repositories {
			mavenCentral()
			maven { url 'https://jitpack.io' }
		}
	}

Add it in your settings.gradle.kts at the end of repositories:

	dependencyResolutionManagement {
		repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
		repositories {
			mavenCentral()
			maven { url = uri("https://jitpack.io") }
		}
	}

Add to pom.xml

	<repositories>
		<repository>
		    <id>jitpack.io</id>
		    <url>https://jitpack.io</url>
		</repository>
	</repositories>

Add it in your build.sbt at the end of resolvers:

 
    resolvers += "jitpack" at "https://jitpack.io"
        
    

Add it in your project.clj at the end of repositories:

 
    :repositories [["jitpack" "https://jitpack.io"]]
        
    

Step 2. Add the dependency

	dependencies {
		implementation 'com.github.twitch4j:twitch4j:v1.24.0'
	}
	dependencies {
		implementation("com.github.twitch4j:twitch4j:v1.24.0")
	}
	<dependency>
	    <groupId>com.github.twitch4j</groupId>
	    <artifactId>twitch4j</artifactId>
	    <version>v1.24.0</version>
	</dependency>

                            
    libraryDependencies += "com.github.twitch4j" % "twitch4j" % "v1.24.0"
        
        

                            
    :dependencies [[com.github.twitch4j/twitch4j "v1.24.0"]]
        
        

Readme


<p align="center"><a href="https://twitch4j.github.io/"><img src=".github/logo.png?raw=true" width="150"></a></p>

Java API for Twitch

Support:

Discord Server Twitch API Server

Badges:

Latest Docs Javadoc


A quick note:

This project implements client modules to interact with all of Twitch's APIs.

Quick Start

Check out the Documentation!


Modules

Project

| Module | Description | |--------------------|----------------------------------------------| | chat | Chat (IRC) | | eventsub-common | EventSub (can be used for Webhook-Transport) | | eventsub-websocket | EventSub (WebSocket & Conduits) | | helix | REST-API | | pubsub | PubSub | | graphql | GraphQL (unofficial) | | kotlin | Kotlin Extensions |

Shared

| Module | Description | |-----------------------------------------------------|------------------------------------| | cache-api | In-Memory Cache API | | event4j | Event Publication and Subscription |

The shared libraries offer standardized functionality in an abstracted manner, allowing you to select from a variety of implementations (or bring your own).

Problems

If you have problems using the Twitch Java API, then you are welcome to join the discord server to talk about it.

If you discover any issues/have feature requests, then please open an issue here.

Contributing

We welcome contributions to the library, be it new features, bug fixes, or even small enhancements. Please do read the contributing guide on the documentation site as it provides code guidelines and helpful tips for getting started. By contributing, you are expected to abide by our code of conduct and agree to the license below. Thank you again for your interest in improving Twitch4J!

License

Released under the MIT license.