Particular problems and how they were resolved:
- The `fs-extra` module, used exclusively by TokenCacher, didn't have a browser version. I rewrote TokenCacher to not use fs-extra (see fdd4cfc7cc)
- TokenCacher wouldn't work in the browser anyway due to lack of a file system. I made a shim (`Util/TokenCacher-shim.js`) that implements all TokenCacher functionality as null implementations, this causes `login` to always make a request.
- Compressed packets couldn't be parsed because neither node's Buffers nor zlib were working correctly. Initially I tried to make a browser-only parser class that parses compressed `Blob` packets, but this didn't work out, so I just disabled compression by default.
discord.js is a node module used as a way of interfacing with Discord. It is a very useful module for creating bots.
Installation
Requires node 0.12+
npm install --save discord.js
Example: ping-pong
var Discord = require("discord.js");
var mybot = new Discord.Client();
mybot.on("message", function(message){
if(message.content === "ping")
mybot.reply(message, "pong");
});
mybot.login("email", "password");
Contributing
Feel free to contribute! Just clone the repo and edit the files in the src folder, not the lib folder.
Whenever you come to making a pull request, make sure it's to the indev branch and that you have built the lib files by running grunt --dev
Related Projects
Here is a list of other Discord APIs:
Java:
Go:
.NET:
NodeJS
discord.io (similar to discord.js but lower level)
PHP
Python
Ruby
Links
Contact
If you have an issue or want to know if a feature exists, read the documentation before contacting me about any issues! If it's badly/wrongly implemented, let me know!
If you would like to contact me, you can create an issue on the GitHub repo, e-mail me via the one available on my NPM profile.
Alternatively, you could just send a DM to hydrabolt in Discord API.
