Skip to content

A bot that monitors for changes of a Discord users "rich presence", sending the data to a specified endpoint via POST request.

License

Notifications You must be signed in to change notification settings

nickheyer/DiscoMon

Repository files navigation

logo-no-background

DiscoMon

A bot that monitors for changes of a Discord users "rich presence", sending the data to a specified endpoint via POST request.

Originally built to serve a "status" to Heyer.App.

Running the discord bot requires a discord developer account (https://discord.com/developers/applications), and a bot created/invited (via your developer acount) to your chosen discord server.


Installation via Docker (Recommended)

Fully Automated Installer & Updater (LINUX ONLY) {

curl https://raw.githubusercontent.com/nickheyer/DiscoMon/main/auto_install_update.sh -o auto_install_update.sh && sudo bash auto_install_update.sh

}

-or- { (Docker required for the following installation methods)

Download Docker Image (x86_64 Architecture)

docker image pull nickheyer/discomon:latest

Download Docker Image (aarch64 Architecture, ie: Raspberry-Pi)

docker image pull nickheyer/discomon_rpi:latest

-after 'docker pull'-

Run Docker Container

docker run -d -p 6969:6969 nickheyer/discomon

}


Fill in the required information by pressing the "edit" tab or within the json itself ("values" tab), start the bot by moving the switch labeled Bot I/O, profit. If you run into any errors, make sure all fields are completed in the edit tab. Make sure that you add your own "discordusername#1234" otherwise the bot will not respond.

You can test that the bot is functional by typing '!dm test' into chat

image

API

The information is sent as a JSON to whichever API endpoint is specified as the "url" in "request.json". You can configure the url, as well as any other parameters/headers in the "request" tab.

Here is a sample request, make sure your endpoint can accept a POST request containing a JSON w/ these keys:

{
      'currentStatus': 
          {
          "spotifyArtist": "The Smashing Pumpkins",
          "spotifyAlbum": "Mellon Collie And The Infinite Sadness (Deluxe Edition)",
          "spotifyAlbumCoverUrl": "https://i.scdn.co/image/ab67616d0000b273431ac6e6f393acf475730ec6",
          "spotifyTitle": "Tonight, Tonight - Remastered 2012",
          "spotifyTrackUrl": "https://open.spotify.com/track/7bu0znpSbTks0O6I98ij0W",
          "activityName": "Visual Studio Code",
          "activityUrl": null,
          "activityState": "Workspace: DiscoMon",
          "activityType": "playing",
          "activityDetails": "Editing request.json"
          }
}

For more detailed information on the API, see my example API endpoint (currently live), provided via a Django server here

To see how i've applied these status updates, check out "current status" on my landing page here

Further Notes

  • For any other comments or questions, feel free to reach me on discord via NicholasHeyer#4212

Authors

Contributing

Contributions are always welcome!

Email nick@heyer.app for ways to get started.

About

A bot that monitors for changes of a Discord users "rich presence", sending the data to a specified endpoint via POST request.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published