caoimhebyrne / KDiscordIPC

A Kotlin library for interacting with Discord via IPC
MIT License
49 stars 8 forks source link
discord gamesdk ipc kotlin

KDiscordIPC

Current version: 0.2.2

A lightweight and easy to use Discord IPC wrapper for Kotlin

Many other Discord RPC / IPC libraries are either lacking in features, don't work on certain architectures or platforms, or are no longer maintained. KDiscordIPC aims to stay up-to-date for as long as the Discord IPC API is actually supported

For documentation on how to use KDiscordIPC, check out the wiki!

Features

Install

You can add KDiscordIPC to your project via Jitpack.

repositories {
    mavenCentral()
    maven(url = "https://jitpack.io")
}

dependencies {
    implementation("com.github.caoimhebyrne:KDiscordIPC:0.2.2")
}

Example

val ipc = KDiscordIPC("YOUR_CLIENT_ID")

ipc.on<ReadyEvent> {
    logger.info("Ready! (${data.user.username}#${data.user.discriminator})")

    ipc.activityManager.setActivity("Hello", "world") {
        button("Click me", "https://google.com")
        timestamps(System.currentTimeMillis(), System.currentTimeMillis() + 50000)
    }

    // Want to get the information of another user? Sure thing!
    val user = ipc.userManager.getUser("USER_ID")
}

ipc.connect()

Maintainers

Caoimhe Byrne

License

MIT © 2023 Caoimhe Byrne