Skip to content

Connect locally to the Discord client using IPC for a subset of RPC features like Rich Presence and Activity Join/Spectate

License

Notifications You must be signed in to change notification settings

CCBlueX/DiscordIPC

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

81 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

version license

DiscordIPC

Connect locally to the Discord client using IPC for a subset of RPC features like Rich Presence and Activity Join/Spectate

Features

  • Setting Rich Presence
  • Listen for Join, Spectate, and Join-Request events
  • Detect and specify priority for client build (Stable, PTB, Canary)
  • 100% Java

Getting Started

First you'll need to add this project as a dependency. If you're using maven:

  <dependency>
    <groupId>com.jagrosh</groupId>
    <artifactId>DiscordIPC</artifactId>
    <version>LATEST</version>
  </dependency>
  <repository>
    <id>central</id>
    <name>bintray</name>
    <url>https://jcenter.bintray.com</url>
  </repository>

With gradle:

dependencies {
    compile 'com.jagrosh:DiscordIPC:LATEST'
}

repositories {
    jcenter()
}

Example

Quick example, assuming you already have a GUI application

IPCClient client = new IPCClient(345229890980937739L);
client.setListener(new IPCListener(){
    @Override
    public void onReady(IPCClient client)
    {
        RichPresence.Builder builder = new RichPresence.Builder();
        builder.setState("West of House")
            .setDetails("Frustration level: Over 9000")
            .setStartTimestamp(OffsetDateTime.now())
            .setLargeImage("canary-large", "Discord Canary")
            .setSmallImage("ptb-small", "Discord PTB")
            .setParty("party1234", 1, 6)
            .setMatchSecret("xyzzy")
            .setJoinSecret("join")
            .setSpectateSecret("look");
        client.sendRichPresence(builder.build());
    }
});
client.connect();

Other Examples

Official Discord-RPC Bindings

The official RPC bindings can be found here: https://github.com/discordapp/discord-rpc

A Java wrapper for the official bindings is available here: https://github.com/MinnDevelopment/Java-DiscordRPC

About

Connect locally to the Discord client using IPC for a subset of RPC features like Rich Presence and Activity Join/Spectate

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 100.0%