Skip to content

simmsb/racket-cord

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

racket-cord

A low-level library for interfacing with Discord using Racket.

Build Status

Racket package

Docs

Design Notes

The library is focused on only a couple things and doing those things properly:

  1. Providing the network plumbing for receiving and sending gateway events
  2. Providing convenience bindings for the HTTP endpoints

Thus, this library is quite low level. In general, data is exposed directly as returned by the Discord API, without extra conversions into other types. There is nearly no caching of state in the client.

The rationale can be found in this commit message

Essentially, I don't have the time nor energy to maintain typed wrappers when Discord's API is so unstable, the documentation so bad, and no machine-readable specs exist.

Typed wrappers or cached client-side state should not be difficult to implement on top of this library via the gateway events, if someone is interested in subjecting themselves to that pain. If you make one, let us know and we will feature it here. :)

Sample Projects