Go to file
2017-08-03 10:51:06 -07:00
examples update dll 2017-08-03 10:51:06 -07:00
include Start on dllification 2017-07-31 15:58:39 -07:00
src Allow for disconnect/reconnect. 2017-08-03 10:47:27 -07:00
.clang-format Format 2017-07-25 09:27:48 -07:00
.gitignore Rename some things, stub of async version, download rapidjson in cmake file 2017-07-11 15:59:14 -07:00
CMakeLists.txt Add install and bundle targets 2017-07-25 16:00:12 -07:00
README.md Update readme to point out other demo 2017-08-03 10:24:08 -07:00

Discord RPC

This is a lib and quick demos that implement the very minimal subset to show current status, and have callbacks for where a more complete game would do more things. You can use the lib directly if you like, or use it as a guide to writing your own if it doesn't suit your game as is.

PRs/feedback welcome if you have an improvement everyone might want, or can describe how this doesn't meet your needs.

Usage

Zeroith, you should be set up to build things because you are a game developer, right?

First, head on over to the Discord developers site and make yourself an app. Keep track of Client ID -- you'll need it here to pass to the init function.

From package

Download a release package, extract it, add /include to your compile includes, /lib to your linker paths, and link with discord-rpc.

From repo

There's a CMake file that should be able to generate the lib for you; I use it like this:

    cd <path to discord-rpc>
    mkdir build
    cd build
    cmake .. -DCMAKE_INSTALL_PREFIX=<path to install discord-rpc to>
    cmake --build . --config Release --target install

Sometimes I use the generated project files. There are a couple of CMake options you might care about:

flag default does
ENABLE_IO_THREAD ON When enabled, we start up a thread to do io processing, if disabled you should call Discord_UpdateConnection yourself.
BUILD_DYNAMIC_LIB OFF Build library as a DLL

Sample: send-presence

This is a text adventure "game" that inits/deinits the connection to Discord, and sends a presence update on each command.

Sample: button-clicker

This is a sample Unity project that wraps a DLL version of the library, and sends presence updates when you click on a button.