aboutsummaryrefslogtreecommitdiff
path: root/README.md
blob: 541acf2de37fe5a4955ceb0861b5a49f5e8782b9 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# Dis.ml - An OCaml wrapper for the Discord API

This is a library for creating bots on [Discord](https://discordapp.com/). Dis.ml uses JaneStreet's Async and Core libs and I highly recommend having a solid understanding of both of these before using this library.

Docs can currently be found at https://mishio595.github.io/disml/index.html.
They are currently very much a WIP and are not necessarily up to date.
It is advised to install `odoc` and run `dune build @doc` in the project root dir to get the most up-to-date docs. This will build them to `_build/default/_doc/`.

## State of the project
Latest changes are on master

#### What is implemented?
* The full Discord REST API
* Complete gateway support (sans voice)
* Automatic sharding
* Event dispatch to a user-defined consumer
* Automatic reconnection of dropped gateway connections
* Automatic rate limit handling

#### What is not implemented?
* Abstractions for Discord Objects (Message, Guild, Channel, etc) (**Mostly Completed**)
* Voice
* Cache

## Getting started
In order to get started you'll first need to install OCaml (of course). I recommend using OPAM and Dune as a package manager and build tool respectively.

The project is not currently uploaded to opam. This will happen with the first stable release. If you do not use opam, see `disml.opam` for build instructions.

You'll find an example bot in /bin directory.