97 lines
3.0 KiB
Markdown
97 lines
3.0 KiB
Markdown
|
# Discordie
|
||
|
|
||
|
[![npm](https://img.shields.io/npm/dm/discordie.svg)](https://www.npmjs.com/package/discordie)
|
||
|
|
||
|
A Node.js module providing a set of interfaces to interact with Discord API.
|
||
|
|
||
|
[**Documentation**](http://qeled.github.io/discordie/)
|
||
|
|
||
|
**Requires at least Node.js 4.0.0.**
|
||
|
|
||
|
**No native modules required to work with audio. Choose from precompiled (default) or `node-opus` (optional).**
|
||
|
|
||
|
Join [#node_discordie](https://discord.gg/0SBTUU1wZTYM8nHo) in [Discord API](https://discord.gg/0SBTUU1wZTYM8nHo).
|
||
|
|
||
|
## Fully Implemented
|
||
|
|
||
|
* Messaging
|
||
|
* Role and channel permission management API
|
||
|
* Member management API (kicking, banning, etc.)
|
||
|
* Direct messages
|
||
|
* Voice encoding, sending, decoding and receiving
|
||
|
(audio streaming example: [`examples/encoderstream.js`](https://github.com/qeled/discordie/blob/master/examples/encoderstream.js))
|
||
|
* Guild (server) and channel management API
|
||
|
* Local user profile (username change, statuses, avatars)
|
||
|
* Multiserver voice support
|
||
|
|
||
|
## Documentation
|
||
|
|
||
|
http://qeled.github.io/discordie/
|
||
|
|
||
|
Mirrors inline documentation in files:
|
||
|
* `lib/interfaces/*.js`
|
||
|
* `lib/models/*.js`
|
||
|
* `lib/voice/*.js`
|
||
|
* `lib/Constants.js`
|
||
|
* `lib/index.js`
|
||
|
|
||
|
## Example
|
||
|
|
||
|
```js
|
||
|
var Discordie = require("discordie");
|
||
|
var Events = Discordie.Events;
|
||
|
|
||
|
var client = new Discordie();
|
||
|
|
||
|
client.connect({ token: "" });
|
||
|
|
||
|
client.Dispatcher.on(Events.GATEWAY_READY, e => {
|
||
|
console.log("Connected as: " + client.User.username);
|
||
|
});
|
||
|
|
||
|
client.Dispatcher.on(Events.MESSAGE_CREATE, e => {
|
||
|
if (e.message.content == "ping")
|
||
|
e.message.channel.sendMessage("pong");
|
||
|
});
|
||
|
```
|
||
|
|
||
|
## Related
|
||
|
|
||
|
### Library comparison: https://discordapi.com/unofficial/comparison.html
|
||
|
|
||
|
**.NET**:
|
||
|
[RogueException/**Discord.Net**](https://github.com/RogueException/Discord.Net) ||
|
||
|
[Luigifan/**DiscordSharp**](https://github.com/Luigifan/DiscordSharp) ||
|
||
|
[robinhood128/**DiscordUnity**](https://github.com/robinhood128/DiscordUnity)
|
||
|
|
||
|
**Node.js**:
|
||
|
[izy521/**discord.io**](https://github.com/izy521/discord.io) ||
|
||
|
[hydrabolt/**discord.js**](https://github.com/hydrabolt/discord.js) ||
|
||
|
[abalabahaha/**eris**](https://github.com/abalabahaha/eris)
|
||
|
|
||
|
**Python**:
|
||
|
[Rapptz/**discord.py**](https://github.com/Rapptz/discord.py)
|
||
|
|
||
|
**Ruby**:
|
||
|
[meew0/**discordrb**](https://github.com/meew0/discordrb)
|
||
|
|
||
|
**Go**:
|
||
|
[bwmarrin/**discordgo**](https://github.com/bwmarrin/discordgo)
|
||
|
|
||
|
**Rust**:
|
||
|
[SpaceManiac/**discord-rs**](https://github.com/SpaceManiac/discord-rs)
|
||
|
|
||
|
**PHP**:
|
||
|
[teamreflex/**DiscordPHP**](https://github.com/teamreflex/DiscordPHP) ||
|
||
|
[Cleanse/**discord-hypertext**](https://github.com/Cleanse/discord-hypertext)
|
||
|
|
||
|
**Java**:
|
||
|
[austinv11/**Discord4J**](https://github.com/austinv11/Discord4J) ||
|
||
|
[DV8FromTheWorld/**JDA**](https://github.com/DV8FromTheWorld/JDA/) ||
|
||
|
[BtoBastian/**Javacord**](https://github.com/BtoBastian/Javacord)
|
||
|
|
||
|
**Lua**:
|
||
|
[SinisterRectus/**Discordia**](https://github.com/SinisterRectus/Discordia) ||
|
||
|
[satom99/**litcord**](https://github.com/satom99/litcord)
|
||
|
|