Merge pull request #20 from hydrabolt/indev

Add examples
This commit is contained in:
Amish Shah
2015-08-30 17:36:42 +01:00
6 changed files with 454 additions and 218 deletions

4
examples/auth.json Normal file
View File

@@ -0,0 +1,4 @@
{
"email" : "your discord email here",
"password" : "your discord password here"
}

34
examples/pingpong.js Normal file
View File

@@ -0,0 +1,34 @@
/*
this bot is a ping pong bot, and every time a message
beginning with "ping" is sent, it will reply with
"pong".
*/
var Discord = require("../");
// Get the email and password
var AuthDetails = require("./auth.json");
var bot = new Discord.Client();
bot.on("ready", function(){
console.log("Ready to begin! Serving in " + bot.channels.length + " channels");
});
bot.on("disconnected", function(){
console.log("Disconnected!");
process.exit(1); //exit node.js with an error
});
bot.on("message", function(msg){
if(msg.content.substring(0,4) === "ping"){
//send a message to the channel the ping message was sent in.
bot.sendMessage( msg.channel, "pong!" );
}
});
bot.login(AuthDetails.email, AuthDetails.password);

View File

@@ -19,7 +19,7 @@ var WebSocket = require("ws");
var fs = require("fs");
var defaultOptions = {
cache_tokens: false
queue: []
};
var Client = (function () {
@@ -35,6 +35,7 @@ var Client = (function () {
further efforts will be made to connect.
*/
this.options = options;
this.options.queue = this.options.queue || [];
this.token = token;
this.state = 0;
this.websocket = null;
@@ -60,6 +61,8 @@ var Client = (function () {
this.serverCache = [];
this.pmChannelCache = [];
this.readyTime = null;
this.checkingQueue = {};
this.messageQueue = {};
}
_createClass(Client, [{
@@ -590,7 +593,7 @@ var Client = (function () {
var self = this;
return new Promise(function (resolve, reject) {
var prom = new Promise(function (resolve, reject) {
message = premessage + resolveMessage(message);
var mentions = resolveMentions();
@@ -602,55 +605,36 @@ var Client = (function () {
}
function send(destination) {
request.post(Endpoints.CHANNELS + "/" + destination + "/messages").set("authorization", self.token).send({
content: message,
mentions: mentions
}).end(function (err, res) {
if (err) {
callback(err);
reject(err);
} else {
var data = res.body;
var mentions = [];
data.mentions = data.mentions || []; //for some reason this was not defined at some point?
var _iteratorNormalCompletion3 = true;
var _didIteratorError3 = false;
var _iteratorError3 = undefined;
try {
for (var _iterator3 = data.mentions[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {
var mention = _step3.value;
mentions.push(self.addUser(mention));
}
} catch (err) {
_didIteratorError3 = true;
_iteratorError3 = err;
} finally {
try {
if (!_iteratorNormalCompletion3 && _iterator3["return"]) {
_iterator3["return"]();
}
} finally {
if (_didIteratorError3) {
throw _iteratorError3;
}
}
}
var channel = self.getChannel("id", data.channel_id);
if (channel) {
var msg = channel.addMessage(new Message(data, channel, mentions, self.addUser(data.author)));
callback(null, msg);
resolve(msg);
}
if (~self.options.queue.indexOf("sendMessage")) {
//we're QUEUEING messages, so sending them sequentially based on servers.
if (!self.messageQueue[destination]) {
self.messageQueue[destination] = [];
}
});
self.messageQueue[destination].push({
action: "sendMessage",
content: message,
mentions: mentions,
then: [mgood],
error: [mbad]
});
self.checkQueue(destination);
} else {
self._sendMessage(destination, message, mentions).then(mgood)["catch"](mbad);
}
}
function mgood(msg) {
prom.message = msg;
callback(null, msg);
resolve(msg);
}
function mbad(error) {
prom.error = error;
callback(error);
reject(error);
}
function resolveMessage() {
@@ -663,27 +647,27 @@ var Client = (function () {
function resolveMentions() {
var _mentions = [];
var _iteratorNormalCompletion4 = true;
var _didIteratorError4 = false;
var _iteratorError4 = undefined;
var _iteratorNormalCompletion3 = true;
var _didIteratorError3 = false;
var _iteratorError3 = undefined;
try {
for (var _iterator4 = (message.match(/<@[^>]*>/g) || [])[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) {
var mention = _step4.value;
for (var _iterator3 = (message.match(/<@[^>]*>/g) || [])[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {
var mention = _step3.value;
_mentions.push(mention.substring(2, mention.length - 1));
}
} catch (err) {
_didIteratorError4 = true;
_iteratorError4 = err;
_didIteratorError3 = true;
_iteratorError3 = err;
} finally {
try {
if (!_iteratorNormalCompletion4 && _iterator4["return"]) {
_iterator4["return"]();
if (!_iteratorNormalCompletion3 && _iterator3["return"]) {
_iterator3["return"]();
}
} finally {
if (_didIteratorError4) {
throw _iteratorError4;
if (_didIteratorError3) {
throw _iteratorError3;
}
}
}
@@ -691,6 +675,8 @@ var Client = (function () {
return _mentions;
}
});
return prom;
}
//def createws
@@ -736,15 +722,40 @@ var Client = (function () {
self.user = self.addUser(data.user);
var _iteratorNormalCompletion4 = true;
var _didIteratorError4 = false;
var _iteratorError4 = undefined;
try {
for (var _iterator4 = data.guilds[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) {
var _server = _step4.value;
var server = self.addServer(_server);
}
} catch (err) {
_didIteratorError4 = true;
_iteratorError4 = err;
} finally {
try {
if (!_iteratorNormalCompletion4 && _iterator4["return"]) {
_iterator4["return"]();
}
} finally {
if (_didIteratorError4) {
throw _iteratorError4;
}
}
}
var _iteratorNormalCompletion5 = true;
var _didIteratorError5 = false;
var _iteratorError5 = undefined;
try {
for (var _iterator5 = data.guilds[Symbol.iterator](), _step5; !(_iteratorNormalCompletion5 = (_step5 = _iterator5.next()).done); _iteratorNormalCompletion5 = true) {
var _server = _step5.value;
for (var _iterator5 = data.private_channels[Symbol.iterator](), _step5; !(_iteratorNormalCompletion5 = (_step5 = _iterator5.next()).done); _iteratorNormalCompletion5 = true) {
var _pmc = _step5.value;
var server = self.addServer(_server);
var pmc = self.addPMChannel(_pmc);
}
} catch (err) {
_didIteratorError5 = true;
@@ -761,31 +772,6 @@ var Client = (function () {
}
}
var _iteratorNormalCompletion6 = true;
var _didIteratorError6 = false;
var _iteratorError6 = undefined;
try {
for (var _iterator6 = data.private_channels[Symbol.iterator](), _step6; !(_iteratorNormalCompletion6 = (_step6 = _iterator6.next()).done); _iteratorNormalCompletion6 = true) {
var _pmc = _step6.value;
var pmc = self.addPMChannel(_pmc);
}
} catch (err) {
_didIteratorError6 = true;
_iteratorError6 = err;
} finally {
try {
if (!_iteratorNormalCompletion6 && _iterator6["return"]) {
_iterator6["return"]();
}
} finally {
if (_didIteratorError6) {
throw _iteratorError6;
}
}
}
self.trigger("ready");
self.readyTime = Date.now();
self.debug("cached " + self.serverCache.length + " servers, " + self.channelCache.length + " channels, " + self.pmChannelCache.length + " PMs and " + self.userCache.length + " users.");
@@ -800,27 +786,27 @@ var Client = (function () {
var mentions = [];
data.mentions = data.mentions || []; //for some reason this was not defined at some point?
var _iteratorNormalCompletion7 = true;
var _didIteratorError7 = false;
var _iteratorError7 = undefined;
var _iteratorNormalCompletion6 = true;
var _didIteratorError6 = false;
var _iteratorError6 = undefined;
try {
for (var _iterator7 = data.mentions[Symbol.iterator](), _step7; !(_iteratorNormalCompletion7 = (_step7 = _iterator7.next()).done); _iteratorNormalCompletion7 = true) {
var mention = _step7.value;
for (var _iterator6 = data.mentions[Symbol.iterator](), _step6; !(_iteratorNormalCompletion6 = (_step6 = _iterator6.next()).done); _iteratorNormalCompletion6 = true) {
var mention = _step6.value;
mentions.push(self.addUser(mention));
}
} catch (err) {
_didIteratorError7 = true;
_iteratorError7 = err;
_didIteratorError6 = true;
_iteratorError6 = err;
} finally {
try {
if (!_iteratorNormalCompletion7 && _iterator7["return"]) {
_iterator7["return"]();
if (!_iteratorNormalCompletion6 && _iterator6["return"]) {
_iterator6["return"]();
}
} finally {
if (_didIteratorError7) {
throw _iteratorError7;
if (_didIteratorError6) {
throw _iteratorError6;
}
}
}
@@ -865,27 +851,27 @@ var Client = (function () {
}
var mentions = [];
var _iteratorNormalCompletion8 = true;
var _didIteratorError8 = false;
var _iteratorError8 = undefined;
var _iteratorNormalCompletion7 = true;
var _didIteratorError7 = false;
var _iteratorError7 = undefined;
try {
for (var _iterator8 = info.mentions[Symbol.iterator](), _step8; !(_iteratorNormalCompletion8 = (_step8 = _iterator8.next()).done); _iteratorNormalCompletion8 = true) {
var mention = _step8.value;
for (var _iterator7 = info.mentions[Symbol.iterator](), _step7; !(_iteratorNormalCompletion7 = (_step7 = _iterator7.next()).done); _iteratorNormalCompletion7 = true) {
var mention = _step7.value;
mentions.push(self.addUser(mention));
}
} catch (err) {
_didIteratorError8 = true;
_iteratorError8 = err;
_didIteratorError7 = true;
_iteratorError7 = err;
} finally {
try {
if (!_iteratorNormalCompletion8 && _iterator8["return"]) {
_iterator8["return"]();
if (!_iteratorNormalCompletion7 && _iterator7["return"]) {
_iterator7["return"]();
}
} finally {
if (_didIteratorError8) {
throw _iteratorError8;
if (_didIteratorError7) {
throw _iteratorError7;
}
}
}
@@ -1100,27 +1086,27 @@ var Client = (function () {
server = new Server(data, this);
this.serverCache.push(server);
if (data.channels) {
var _iteratorNormalCompletion9 = true;
var _didIteratorError9 = false;
var _iteratorError9 = undefined;
var _iteratorNormalCompletion8 = true;
var _didIteratorError8 = false;
var _iteratorError8 = undefined;
try {
for (var _iterator9 = data.channels[Symbol.iterator](), _step9; !(_iteratorNormalCompletion9 = (_step9 = _iterator9.next()).done); _iteratorNormalCompletion9 = true) {
var channel = _step9.value;
for (var _iterator8 = data.channels[Symbol.iterator](), _step8; !(_iteratorNormalCompletion8 = (_step8 = _iterator8.next()).done); _iteratorNormalCompletion8 = true) {
var channel = _step8.value;
server.channels.push(this.addChannel(channel, server.id));
}
} catch (err) {
_didIteratorError9 = true;
_iteratorError9 = err;
_didIteratorError8 = true;
_iteratorError8 = err;
} finally {
try {
if (!_iteratorNormalCompletion9 && _iterator9["return"]) {
_iterator9["return"]();
if (!_iteratorNormalCompletion8 && _iterator8["return"]) {
_iterator8["return"]();
}
} finally {
if (_didIteratorError9) {
throw _iteratorError9;
if (_didIteratorError8) {
throw _iteratorError8;
}
}
}
@@ -1134,16 +1120,50 @@ var Client = (function () {
}, {
key: "getUser",
value: function getUser(key, value) {
var _iteratorNormalCompletion9 = true;
var _didIteratorError9 = false;
var _iteratorError9 = undefined;
try {
for (var _iterator9 = this.userCache[Symbol.iterator](), _step9; !(_iteratorNormalCompletion9 = (_step9 = _iterator9.next()).done); _iteratorNormalCompletion9 = true) {
var user = _step9.value;
if (user[key] === value) {
return user;
}
}
} catch (err) {
_didIteratorError9 = true;
_iteratorError9 = err;
} finally {
try {
if (!_iteratorNormalCompletion9 && _iterator9["return"]) {
_iterator9["return"]();
}
} finally {
if (_didIteratorError9) {
throw _iteratorError9;
}
}
}
return null;
}
//def getChannel
}, {
key: "getChannel",
value: function getChannel(key, value) {
var _iteratorNormalCompletion10 = true;
var _didIteratorError10 = false;
var _iteratorError10 = undefined;
try {
for (var _iterator10 = this.userCache[Symbol.iterator](), _step10; !(_iteratorNormalCompletion10 = (_step10 = _iterator10.next()).done); _iteratorNormalCompletion10 = true) {
var user = _step10.value;
for (var _iterator10 = this.channelCache[Symbol.iterator](), _step10; !(_iteratorNormalCompletion10 = (_step10 = _iterator10.next()).done); _iteratorNormalCompletion10 = true) {
var channel = _step10.value;
if (user[key] === value) {
return user;
if (channel[key] === value) {
return channel;
}
}
} catch (err) {
@@ -1161,19 +1181,17 @@ var Client = (function () {
}
}
return null;
return this.getPMChannel(key, value); //might be a PM
}
//def getChannel
}, {
key: "getChannel",
value: function getChannel(key, value) {
key: "getPMChannel",
value: function getPMChannel(key, value) {
var _iteratorNormalCompletion11 = true;
var _didIteratorError11 = false;
var _iteratorError11 = undefined;
try {
for (var _iterator11 = this.channelCache[Symbol.iterator](), _step11; !(_iteratorNormalCompletion11 = (_step11 = _iterator11.next()).done); _iteratorNormalCompletion11 = true) {
for (var _iterator11 = this.pmChannelCache[Symbol.iterator](), _step11; !(_iteratorNormalCompletion11 = (_step11 = _iterator11.next()).done); _iteratorNormalCompletion11 = true) {
var channel = _step11.value;
if (channel[key] === value) {
@@ -1195,21 +1213,23 @@ var Client = (function () {
}
}
return this.getPMChannel(key, value); //might be a PM
return null;
}
//def getServer
}, {
key: "getPMChannel",
value: function getPMChannel(key, value) {
key: "getServer",
value: function getServer(key, value) {
var _iteratorNormalCompletion12 = true;
var _didIteratorError12 = false;
var _iteratorError12 = undefined;
try {
for (var _iterator12 = this.pmChannelCache[Symbol.iterator](), _step12; !(_iteratorNormalCompletion12 = (_step12 = _iterator12.next()).done); _iteratorNormalCompletion12 = true) {
var channel = _step12.value;
for (var _iterator12 = this.serverCache[Symbol.iterator](), _step12; !(_iteratorNormalCompletion12 = (_step12 = _iterator12.next()).done); _iteratorNormalCompletion12 = true) {
var server = _step12.value;
if (channel[key] === value) {
return channel;
if (server[key] === value) {
return server;
}
}
} catch (err) {
@@ -1230,40 +1250,6 @@ var Client = (function () {
return null;
}
//def getServer
}, {
key: "getServer",
value: function getServer(key, value) {
var _iteratorNormalCompletion13 = true;
var _didIteratorError13 = false;
var _iteratorError13 = undefined;
try {
for (var _iterator13 = this.serverCache[Symbol.iterator](), _step13; !(_iteratorNormalCompletion13 = (_step13 = _iterator13.next()).done); _iteratorNormalCompletion13 = true) {
var server = _step13.value;
if (server[key] === value) {
return server;
}
}
} catch (err) {
_didIteratorError13 = true;
_iteratorError13 = err;
} finally {
try {
if (!_iteratorNormalCompletion13 && _iterator13["return"]) {
_iterator13["return"]();
}
} finally {
if (_didIteratorError13) {
throw _iteratorError13;
}
}
}
return null;
}
//def trySendConnData
}, {
key: "trySendConnData",
@@ -1316,13 +1302,13 @@ var Client = (function () {
} else if (destination instanceof User) {
//check if we have a PM
var _iteratorNormalCompletion14 = true;
var _didIteratorError14 = false;
var _iteratorError14 = undefined;
var _iteratorNormalCompletion13 = true;
var _didIteratorError13 = false;
var _iteratorError13 = undefined;
try {
for (var _iterator14 = self.pmChannelCache[Symbol.iterator](), _step14; !(_iteratorNormalCompletion14 = (_step14 = _iterator14.next()).done); _iteratorNormalCompletion14 = true) {
var pmc = _step14.value;
for (var _iterator13 = self.pmChannelCache[Symbol.iterator](), _step13; !(_iteratorNormalCompletion13 = (_step13 = _iterator13.next()).done); _iteratorNormalCompletion13 = true) {
var pmc = _step13.value;
if (pmc.user.equals(destination)) {
return pmc.id;
@@ -1330,6 +1316,61 @@ var Client = (function () {
}
//we don't, at this point we're late
} catch (err) {
_didIteratorError13 = true;
_iteratorError13 = err;
} finally {
try {
if (!_iteratorNormalCompletion13 && _iterator13["return"]) {
_iterator13["return"]();
}
} finally {
if (_didIteratorError13) {
throw _iteratorError13;
}
}
}
self.startPM(destination).then(function (pmc) {
resolve(pmc.id);
})["catch"](reject);
} else {
channId = destination;
}
if (channId) resolve(channId);
});
}
}, {
key: "_sendMessage",
value: function _sendMessage(destination, content, mentions) {
var self = this;
return new Promise(function (resolve, reject) {
request.post(Endpoints.CHANNELS + "/" + destination + "/messages").set("authorization", self.token).send({
content: content,
mentions: mentions
}).end(function (err, res) {
if (err) {
reject(err);
} else {
var data = res.body;
var mentions = [];
data.mentions = data.mentions || []; //for some reason this was not defined at some point?
var _iteratorNormalCompletion14 = true;
var _didIteratorError14 = false;
var _iteratorError14 = undefined;
try {
for (var _iterator14 = data.mentions[Symbol.iterator](), _step14; !(_iteratorNormalCompletion14 = (_step14 = _iterator14.next()).done); _iteratorNormalCompletion14 = true) {
var mention = _step14.value;
mentions.push(self.addUser(mention));
}
} catch (err) {
_didIteratorError14 = true;
_iteratorError14 = err;
@@ -1345,15 +1386,60 @@ var Client = (function () {
}
}
self.startPM(destination).then(function (pmc) {
resolve(pmc.id);
})["catch"](reject);
} else {
channId = destination;
var channel = self.getChannel("id", data.channel_id);
if (channel) {
var msg = channel.addMessage(new Message(data, channel, mentions, self.addUser(data.author)));
resolve(msg);
}
}
if (channId) resolve(channId);
});
});
}
}, {
key: "checkQueue",
value: function checkQueue(channelID) {
var _this = this;
var self = this;
if (!this.checkingQueue[channelID]) {
(function () {
var doNext = function doNext() {
if (self.messageQueue[channelID].length === 0) {
done();
return;
}
var queuedEvent = self.messageQueue[channelID][0];
switch (queuedEvent.action) {
case "sendMessage":
var msgToSend = queuedEvent;
self._sendMessage(channelID, msgToSend.content, msgToSend.mentions).then(function (msg) {
msgToSend.then[0](msg);
self.messageQueue[channelID].shift();
doNext();
})["catch"](function (err) {
msgToSend["catch"][0](err);
self.messageQueue[channelID].shift();
doNext();
});
break;
default:
done();
break;
}
};
var done = function done() {
self.checkingQueue[channelID] = false;
return;
};
//if we aren't already checking this queue.
_this.checkingQueue[channelID] = true;
doNext();
})();
}
}
}, {
key: "uptime",
get: function get() {

View File

@@ -13,7 +13,7 @@ var WebSocket = require("ws");
var fs = require("fs");
var defaultOptions = {
cache_tokens: false
queue: []
}
class Client {
@@ -25,6 +25,7 @@ class Client {
further efforts will be made to connect.
*/
this.options = options;
this.options.queue = this.options.queue || [];
this.token = token;
this.state = 0;
this.websocket = null;
@@ -50,6 +51,8 @@ class Client {
this.serverCache = [];
this.pmChannelCache = [];
this.readyTime = null;
this.checkingQueue = {};
this.messageQueue = {};
}
get uptime() {
@@ -372,8 +375,8 @@ class Client {
deleteMessage(message, timeout, callback = function (err, msg) { }) {
var self = this;
return new Promise(function (resolve, reject) {
var prom = new Promise(function (resolve, reject) {
if (timeout) {
setTimeout(remove, timeout)
} else {
@@ -395,6 +398,8 @@ class Client {
});
}
});
return prom;
}
updateMessage(message, content, callback = function (err, msg) { }) {
@@ -608,7 +613,7 @@ class Client {
var self = this;
return new Promise(function (resolve, reject) {
var prom = new Promise(function (resolve, reject) {
message = premessage + resolveMessage(message);
var mentions = resolveMentions();
@@ -620,40 +625,37 @@ class Client {
}
function send(destination) {
if (~self.options.queue.indexOf("sendMessage")) {
//we're QUEUEING messages, so sending them sequentially based on servers.
if (!self.messageQueue[destination]) {
self.messageQueue[destination] = [];
}
request
.post(`${Endpoints.CHANNELS}/${destination}/messages`)
.set("authorization", self.token)
.send({
self.messageQueue[destination].push({
action: "sendMessage",
content: message,
mentions: mentions
})
.end(function (err, res) {
if (err) {
callback(err);
reject(err);
} else {
var data = res.body;
var mentions = [];
data.mentions = data.mentions || []; //for some reason this was not defined at some point?
for (var mention of data.mentions) {
mentions.push(self.addUser(mention));
}
var channel = self.getChannel("id", data.channel_id);
if (channel) {
var msg = channel.addMessage(new Message(data, channel, mentions, self.addUser(data.author)));
callback(null, msg);
resolve(msg);
}
}
mentions: mentions,
then: [mgood],
error: [mbad]
});
self.checkQueue(destination);
} else {
self._sendMessage(destination, message, mentions).then(mgood).catch(mbad);
}
}
function mgood(msg) {
prom.message = msg;
callback(null, msg);
resolve(msg);
}
function mbad(error) {
prom.error = error;
callback(error);
reject(error);
}
function resolveMessage() {
@@ -673,6 +675,8 @@ class Client {
}
});
return prom;
}
//def createws
@@ -1114,6 +1118,87 @@ class Client {
});
}
_sendMessage(destination, content, mentions) {
var self = this;
return new Promise(function (resolve, reject) {
request
.post(`${Endpoints.CHANNELS}/${destination}/messages`)
.set("authorization", self.token)
.send({
content: content,
mentions: mentions
})
.end(function (err, res) {
if (err) {
reject(err);
} else {
var data = res.body;
var mentions = [];
data.mentions = data.mentions || []; //for some reason this was not defined at some point?
for (var mention of data.mentions) {
mentions.push(self.addUser(mention));
}
var channel = self.getChannel("id", data.channel_id);
if (channel) {
var msg = channel.addMessage(new Message(data, channel, mentions, self.addUser(data.author)));
resolve(msg);
}
}
});
});
}
checkQueue(channelID) {
var self = this;
if (!this.checkingQueue[channelID]) {
//if we aren't already checking this queue.
this.checkingQueue[channelID] = true;
doNext();
function doNext() {
if (self.messageQueue[channelID].length === 0) {
done();
return;
}
var queuedEvent = self.messageQueue[channelID][0];
switch (queuedEvent.action) {
case "sendMessage":
var msgToSend = queuedEvent;
self._sendMessage(channelID, msgToSend.content, msgToSend.mentions)
.then(function (msg) {
msgToSend.then[0](msg);
self.messageQueue[channelID].shift();
doNext();
})
.catch(function (err) {
msgToSend.catch[0](err);
self.messageQueue[channelID].shift();
doNext();
});
break;
default:
done();
break;
}
}
function done() {
self.checkingQueue[channelID] = false;
return;
}
}
}
}
function getGateway() {

27
test/bot.1.js Normal file
View File

@@ -0,0 +1,27 @@
var Discord = require("../");
var mybot = new Discord.Client({
queue : ["sendMessage"]
});
var server, channel, message, sentMessage = false;
mybot.on("message", function(message){
if( mybot.user.equals(message.sender) ){
return;
}
var action1 = mybot.sendMessage(message.channel, "this is message " + 1);
var action2 = mybot.sendMessage(message.channel, "this is message " + 2).then(log);
function log(){
mybot.sendMessage(message.channel, action1.message ? action1.message : action1.error);
}
});
function error(err){
console.log(err);
}
mybot.login(process.env["ds_email"], process.env["ds_password"]).catch(error);

0
test/msgbot.js Normal file
View File