<commit_before>### WIP

This module is in development.

You might consider using these instead:

##### .NET:
[Discord.Net](https://github.com/RogueException/Discord.Net)

[DiscordSharp](https://github.com/Luigifan/DiscordSharp)

##### Node.js
[discord.io](https://github.com/izy521/node-discord)

[discord.js](https://github.com/hydrabolt/discord.js)

##### Java:
[Discord4J](https://github.com/nerd/Discord4J)

##### Python
[discord.py](https://github.com/Rapptz/discord.py)

##### Ruby
[discordrb](https://github.com/meew0/discordrb)


### Example

```js
var Discordie = require("discordie");

var auth = {
	email: "<EMAIL>",
	password: ""
};

var client = new Discordie();

function connect() { client.connect(auth); }
connect();

client.Dispatcher.on(Discordie.Events.DISCONNECTED, (e) => {
	console.log("Reconnecting");
	setTimeout(connect, 5000);
});

client.Dispatcher.on(Discordie.Events.GATEWAY_READY, (e) => {
	console.log("Connected as: " + client.User.username);
});

client.Dispatcher.on(Discordie.Events.MESSAGE_CREATE, (e) => {
	console.log("new message: ");
	console.log(JSON.stringify(e.message, null, "  "));

	if(e.message.content == "ping") {
		e.message.channel.sendMessage("pong");
	}
});
```

### TODO

* Guild and account creation
* Roles and permissions
* Ban management
* Member pruning
* User management API
* Voice decoding<commit_msg>Readme update<commit_after>### WIP

This module is in development.

You might consider using these instead:

##### .NET:
[Discord.Net](https://github.com/RogueException/Discord.Net)

[DiscordSharp](https://github.com/Luigifan/DiscordSharp)

##### Node.js
[discord.io](https://github.com/izy521/node-discord)

[discord.js](https://github.com/hydrabolt/discord.js)

##### Java:
[Discord4J](https://github.com/nerd/Discord4J)

##### Python
[discord.py](https://github.com/Rapptz/discord.py)

##### Ruby
[discordrb](https://github.com/meew0/discordrb)


### Example

```js
var Discordie = require("discordie");

var auth = {
	email: "<EMAIL>",
	password: ""
};

var client = new Discordie();

function connect() { client.connect(auth); }
connect();

client.Dispatcher.on(Discordie.Events.DISCONNECTED, (e) => {
	console.log("Reconnecting");
	setTimeout(connect, 5000);
});

client.Dispatcher.on(Discordie.Events.GATEWAY_READY, (e) => {
	console.log("Connected as: " + client.User.username);
});

client.Dispatcher.on(Discordie.Events.MESSAGE_CREATE, (e) => {
	console.log("new message: ");
	console.log(JSON.stringify(e.message, null, "  "));

	if(e.message.content == "ping") {
		e.message.channel.sendMessage("pong");
	}
});
```

### TODO

* Guild and account creation
* User management API
* Roles and permissions
* Ban management
* Member pruning
* Invites
* Voice decoding
* WebRTC transport implementation (?)
{'fraction_non_alphanumeric': 0.1935832732516222, 'fraction_numerical': 0.007209805335255948, 'mean_word_length': 5.125827814569536, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 11, 'https://': 14, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1935223', 'n_tokens_mistral': 1036, 'n_tokens_neox': 986, 'n_words': 162}