From c89633b72f4421d704361f4827b34fd0be114e05 Mon Sep 17 00:00:00 2001 From: hydrabolt Date: Mon, 26 Oct 2015 19:59:49 +0000 Subject: [PATCH] Added banning abilities --- lib/Client.js | 28 ++++++++++++++++++++++++++++ src/Client.js | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 60 insertions(+) diff --git a/lib/Client.js b/lib/Client.js index cf86c3b2f..5aa5fce5d 100644 --- a/lib/Client.js +++ b/lib/Client.js @@ -162,6 +162,27 @@ var Client = (function () { }); }; + Client.prototype.banMember = function banMember(user, server, daysToDeleteMessage) { + var cb = arguments.length <= 3 || arguments[3] === undefined ? function (err) {} : arguments[3]; + + var self = this; + + return new Promise(function (resolve, reject) { + + var serverID = self.resolveServerID(server); + var memberID = self.resolveUserID(user); + + request.put(Endpoints.SERVERS + "/" + serverID + "/bans/" + memberID + "?delete-message-days=" + daysToDeleteMessage).set("authorization", self.token).end(function (err, res) { + cb(err); + if (err) { + reject(err); + } else { + resolve(err); + } + }); + }); + }; + Client.prototype.logout = function logout() { var callback = arguments.length <= 0 || arguments[0] === undefined ? function (err) {} : arguments[0]; @@ -1174,6 +1195,13 @@ var Client = (function () { break; + case "GUILD_BAN_ADD": + + var bannedUser = self.addUser(data.user); + var server = self.getServer("id", data.guild_id); + + self.trigger("userBanned", bannedUser, server); + case "CHANNEL_DELETE": var channel = self.getChannel("id", data.id); diff --git a/src/Client.js b/src/Client.js index ba20b7f46..25581f17f 100644 --- a/src/Client.js +++ b/src/Client.js @@ -187,6 +187,31 @@ class Client { }); } + + banMember(user, server, daysToDeleteMessage, cb=function(err){}){ + + var self = this; + + return new Promise(function(resolve, reject){ + + var serverID = self.resolveServerID(server); + var memberID = self.resolveUserID(user); + + request + .put(`${Endpoints.SERVERS}/${serverID}/bans/${memberID}?delete-message-days=${daysToDeleteMessage}`) + .set("authorization", self.token) + .end(function(err, res){ + cb(err); + if(err){ + reject(err); + }else{ + resolve(err); + } + }); + + }); + + } logout(callback = function (err) { }) { @@ -1210,6 +1235,13 @@ class Client { } break; + + case "GUILD_BAN_ADD": + + var bannedUser = self.addUser(data.user); + var server = self.getServer("id", data.guild_id); + + self.trigger("userBanned", bannedUser, server); case "CHANNEL_DELETE":