Skip to content
This repository has been archived by the owner on Jun 18, 2020. It is now read-only.

Discord4J-Addons/D4J-Rx

Repository files navigation

This library is DEFUNCT

Use Discord4J v3 instead!

This library was created for Discord4J v2 which is no longer supported or maintained.

Rx Extensions for Discord4J Download

This module contains adapters for the EventDispatcher to utilize Reactive Streams.

Using this

This module includes the IEventAdapter interface which provides a common abstraction for adapting Discord4J events to reactive streams. This can either be implemented yourself or by using a default implementation in one of the modules.

The IEventAdapter has two methods, IEventAdapter#streamAll() and IEventAdapter#stream(Class<? extends Event> event) which is used to transform events into a reactive stream.

Modules

RxJava module

This module supports RxJava 2.x. Instantiating a RxJavaEventAdapter class will provide streams in the form of Flowable<? extends Event>.

Reactor module

This module supports Reactor 3.x. Instantiating a ReactorEventAdapter class will provide streams in the form of Flux<? extends Event>.

Adding this as a dependency

Core module

Maven

  <dependency>
    <groupId>com.github.Discord4J-Addons.D4J-Rx</groupId>
    <artifactId>rx-extensions-core</artifactId>
    <version>VERSION_HERE</version>
  </dependency>

Gradle

dependencies {
  compile 'com.github.Discord4J-Addons.D4J-Rx:rx-extensions-core:VERSION_HERE'
}

Reactor module

Maven

  <dependency>
    <groupId>com.github.Discord4J-Addons.D4J-Rx</groupId>
    <artifactId>rx-extensions-reactor</artifactId>
    <version>VERSION_HERE</version>
  </dependency>

Gradle

dependencies {
  compile 'com.github.Discord4J-Addons.D4J-Rx:rx-extensions-reactor:VERSION_HERE'
}

RxJava module

Maven

  <dependency>
    <groupId>com.github.Discord4J-Addons.D4J-Rx</groupId>
    <artifactId>rx-extensions-rxjava</artifactId>
    <version>VERSION_HERE</version>
  </dependency>

Gradle

dependencies {
  compile 'com.github.Discord4J-Addons.D4J-Rx:rx-extensions-rxjava:VERSION_HERE'
}