mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-09 16:13:31 +01:00
Added overwrite shortcut
This commit is contained in:
@@ -1,5 +1,7 @@
|
||||
"use strict";
|
||||
|
||||
var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();
|
||||
|
||||
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
||||
|
||||
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
|
||||
@@ -439,6 +441,28 @@ var Client = (function (_EventEmitter) {
|
||||
});
|
||||
};
|
||||
|
||||
_createClass(Client, [{
|
||||
key: "users",
|
||||
get: function get() {
|
||||
return this.internal.users;
|
||||
}
|
||||
}, {
|
||||
key: "channels",
|
||||
get: function get() {
|
||||
return this.internal.channels;
|
||||
}
|
||||
}, {
|
||||
key: "servers",
|
||||
get: function get() {
|
||||
return this.internal.servers;
|
||||
}
|
||||
}, {
|
||||
key: "privateChannels",
|
||||
get: function get() {
|
||||
return this.internal.private_channels;
|
||||
}
|
||||
}]);
|
||||
|
||||
return Client;
|
||||
})(EventEmitter);
|
||||
|
||||
|
||||
@@ -670,6 +670,86 @@ var InternalClient = (function () {
|
||||
});
|
||||
};
|
||||
|
||||
//def overwritePermissions
|
||||
|
||||
InternalClient.prototype.overwritePermissions = function overwritePermissions(channel, role, updated) {
|
||||
var self = this;
|
||||
return new Promise(function (resolve, reject) {
|
||||
channel = self.resolver.resolveChannel(channel)["catch"](reject).then(next);
|
||||
function next(channel) {
|
||||
var user = self.resolver.resolverUser(role);
|
||||
|
||||
var data = {};
|
||||
data.allow = 0;
|
||||
data.deny = 0;
|
||||
|
||||
updated.allow = updated.allow || [];
|
||||
updated.deny = updated.deny || [];
|
||||
|
||||
if (role instanceof Role) {
|
||||
data.id = role.id;
|
||||
data.type = "role";
|
||||
} else if (user) {
|
||||
data.id = user.id;
|
||||
data.type = "member";
|
||||
} else {
|
||||
reject(new Error("role incorrect"));
|
||||
return;
|
||||
}
|
||||
|
||||
for (var _iterator3 = updated.allow, _isArray3 = Array.isArray(_iterator3), _i3 = 0, _iterator3 = _isArray3 ? _iterator3 : _iterator3[Symbol.iterator]();;) {
|
||||
var _ref3;
|
||||
|
||||
if (_isArray3) {
|
||||
if (_i3 >= _iterator3.length) break;
|
||||
_ref3 = _iterator3[_i3++];
|
||||
} else {
|
||||
_i3 = _iterator3.next();
|
||||
if (_i3.done) break;
|
||||
_ref3 = _i3.value;
|
||||
}
|
||||
|
||||
var perm = _ref3;
|
||||
|
||||
if (perm instanceof String || typeof perm === "string") {
|
||||
data.allow |= Constants.Permissions[perm] || 0;
|
||||
} else {
|
||||
data.allow |= perm;
|
||||
}
|
||||
}
|
||||
|
||||
for (var _iterator4 = updated.deny, _isArray4 = Array.isArray(_iterator4), _i4 = 0, _iterator4 = _isArray4 ? _iterator4 : _iterator4[Symbol.iterator]();;) {
|
||||
var _ref4;
|
||||
|
||||
if (_isArray4) {
|
||||
if (_i4 >= _iterator4.length) break;
|
||||
_ref4 = _iterator4[_i4++];
|
||||
} else {
|
||||
_i4 = _iterator4.next();
|
||||
if (_i4.done) break;
|
||||
_ref4 = _i4.value;
|
||||
}
|
||||
|
||||
var perm = _ref4;
|
||||
|
||||
if (perm instanceof String || typeof perm === "string") {
|
||||
data.deny |= Constants.Permissions[perm] || 0;
|
||||
} else {
|
||||
data.deny |= perm;
|
||||
}
|
||||
}
|
||||
|
||||
request.put(Endpoints.CHANNEL_PERMISSIONS(channel) + "/" + data.id).set("authorization", self.token).send(data).end(function (err) {
|
||||
if (err) {
|
||||
reject(err);
|
||||
} else {
|
||||
resolve();
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
InternalClient.prototype.sendWS = function sendWS(object) {
|
||||
if (this.websocket) this.websocket.send(JSON.stringify(object));
|
||||
};
|
||||
@@ -807,19 +887,19 @@ var InternalClient = (function () {
|
||||
var server = self.servers.get("id", data.id);
|
||||
if (server) {
|
||||
|
||||
for (var _iterator3 = server.channels, _isArray3 = Array.isArray(_iterator3), _i3 = 0, _iterator3 = _isArray3 ? _iterator3 : _iterator3[Symbol.iterator]();;) {
|
||||
var _ref3;
|
||||
for (var _iterator5 = server.channels, _isArray5 = Array.isArray(_iterator5), _i5 = 0, _iterator5 = _isArray5 ? _iterator5 : _iterator5[Symbol.iterator]();;) {
|
||||
var _ref5;
|
||||
|
||||
if (_isArray3) {
|
||||
if (_i3 >= _iterator3.length) break;
|
||||
_ref3 = _iterator3[_i3++];
|
||||
if (_isArray5) {
|
||||
if (_i5 >= _iterator5.length) break;
|
||||
_ref5 = _iterator5[_i5++];
|
||||
} else {
|
||||
_i3 = _iterator3.next();
|
||||
if (_i3.done) break;
|
||||
_ref3 = _i3.value;
|
||||
_i5 = _iterator5.next();
|
||||
if (_i5.done) break;
|
||||
_ref5 = _i5.value;
|
||||
}
|
||||
|
||||
var channel = _ref3;
|
||||
var channel = _ref5;
|
||||
|
||||
self.channels.remove(channel);
|
||||
}
|
||||
|
||||
42
lib/index.js
42
lib/index.js
@@ -11,14 +11,19 @@ a.on("debug", function (m) {
|
||||
a.on("warn", function (m) {
|
||||
return console.log("[warn]", m);
|
||||
});
|
||||
|
||||
var start = Date.now();
|
||||
a.on("message", function (m) {
|
||||
console.log("msgmsgmsg");
|
||||
if (m.content === "$$$") {
|
||||
a.createInvite(m.channel).then(function (invite) {
|
||||
return a.reply(m, invite);
|
||||
})["catch"](function (e) {
|
||||
return console.log(e.stack);
|
||||
});
|
||||
a.createServer("pongping", "london").then(function (server) {
|
||||
a.createChannel(server, "pingpong", "text").then(function (channel) {
|
||||
a.sendMessage(channel, "$$$").then(function (msg) {
|
||||
a.leaveServer(msg.channel.server).then(function () {
|
||||
console.log("!!! " + (Date.now() - start));
|
||||
});
|
||||
})["catch"](error);
|
||||
})["catch"](error);
|
||||
})["catch"](error);
|
||||
}
|
||||
});
|
||||
a.on("userTypingStart", function (user, chan) {
|
||||
@@ -27,6 +32,31 @@ a.on("userTypingStart", function (user, chan) {
|
||||
a.on("userTypingStop", function (user, chan) {
|
||||
console.log(user.username + " stopped typing");
|
||||
});
|
||||
a.on("ready", function () {
|
||||
for (var _iterator = a.internal.servers, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {
|
||||
var _ref;
|
||||
|
||||
if (_isArray) {
|
||||
if (_i >= _iterator.length) break;
|
||||
_ref = _iterator[_i++];
|
||||
} else {
|
||||
_i = _iterator.next();
|
||||
if (_i.done) break;
|
||||
_ref = _i.value;
|
||||
}
|
||||
|
||||
var server = _ref;
|
||||
|
||||
if (server.name === "craptown") {
|
||||
a.leaveServer(server);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
function error(e) {
|
||||
throw e;
|
||||
process.exit(0);
|
||||
}
|
||||
|
||||
a.login(process.env["discordEmail"], process.env["discordPass"])["catch"](function (e) {
|
||||
return console.log(e);
|
||||
|
||||
@@ -14,6 +14,22 @@ class Client extends EventEmitter {
|
||||
this.internal = new InternalClient(this);
|
||||
}
|
||||
|
||||
get users(){
|
||||
return this.internal.users;
|
||||
}
|
||||
|
||||
get channels(){
|
||||
return this.internal.channels;
|
||||
}
|
||||
|
||||
get servers(){
|
||||
return this.internal.servers;
|
||||
}
|
||||
|
||||
get privateChannels(){
|
||||
return this.internal.private_channels;
|
||||
}
|
||||
|
||||
// def login
|
||||
login(email, password, cb = function (err, token) { }) {
|
||||
var self = this;
|
||||
|
||||
@@ -714,6 +714,63 @@ class InternalClient {
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
//def overwritePermissions
|
||||
overwritePermissions(channel, role, updated){
|
||||
var self = this;
|
||||
return new Promise((resolve, reject) => {
|
||||
channel = self.resolver.resolveChannel(channel).catch(reject).then(next);
|
||||
function next(channel){
|
||||
var user = self.resolver.resolverUser(role);
|
||||
|
||||
var data = {};
|
||||
data.allow = 0;
|
||||
data.deny = 0;
|
||||
|
||||
updated.allow = updated.allow || [];
|
||||
updated.deny = updated.deny || [];
|
||||
|
||||
if(role instanceof Role){
|
||||
data.id = role.id;
|
||||
data.type = "role";
|
||||
}else if(user){
|
||||
data.id = user.id;
|
||||
data.type = "member";
|
||||
}else{
|
||||
reject(new Error("role incorrect"));
|
||||
return;
|
||||
}
|
||||
|
||||
for(var perm of updated.allow){
|
||||
if(perm instanceof String || typeof perm === "string"){
|
||||
data.allow |= (Constants.Permissions[perm] || 0);
|
||||
}else{
|
||||
data.allow |= perm;
|
||||
}
|
||||
}
|
||||
|
||||
for(var perm of updated.deny){
|
||||
if(perm instanceof String || typeof perm === "string"){
|
||||
data.deny |= (Constants.Permissions[perm] || 0);
|
||||
}else{
|
||||
data.deny |= perm;
|
||||
}
|
||||
}
|
||||
|
||||
request
|
||||
.put(Endpoints.CHANNEL_PERMISSIONS(channel)+"/"+data.id)
|
||||
.set("authorization", self.token)
|
||||
.send(data)
|
||||
.end(function (err) {
|
||||
if (err) {
|
||||
reject(err);
|
||||
} else {
|
||||
resolve();
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
sendWS(object) {
|
||||
if (this.websocket)
|
||||
|
||||
32
src/index.js
32
src/index.js
@@ -5,10 +5,26 @@ module.exports = {
|
||||
var a = new module.exports.Client();
|
||||
a.on("debug", (m) => console.log("[debug]",m));
|
||||
a.on("warn", (m) => console.log("[warn]", m));
|
||||
|
||||
var start = Date.now();
|
||||
a.on("message", m => {
|
||||
console.log("msgmsgmsg");
|
||||
if(m.content === "$$$"){
|
||||
a.createInvite(m.channel).then(invite => a.reply(m, invite)).catch(e => console.log(e.stack));
|
||||
a.createServer("pongping", "london")
|
||||
.then( server => {
|
||||
a.createChannel(server, "pingpong", "text")
|
||||
.then( channel => {
|
||||
a.sendMessage(channel, "$$$")
|
||||
.then( msg => {
|
||||
a.leaveServer(msg.channel.server)
|
||||
.then(() => {
|
||||
console.log("!!! " + (Date.now() - start));
|
||||
});
|
||||
})
|
||||
.catch(error);
|
||||
})
|
||||
.catch(error);
|
||||
})
|
||||
.catch(error)
|
||||
}
|
||||
});
|
||||
a.on("userTypingStart", (user, chan) => {
|
||||
@@ -17,6 +33,18 @@ a.on("userTypingStart", (user, chan) => {
|
||||
a.on("userTypingStop", (user, chan) => {
|
||||
console.log(user.username + " stopped typing");
|
||||
});
|
||||
a.on("ready", () => {
|
||||
for(var server of a.internal.servers){
|
||||
if(server.name === "craptown"){
|
||||
a.leaveServer(server);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
function error(e){
|
||||
throw e;
|
||||
process.exit(0);
|
||||
}
|
||||
|
||||
|
||||
a.login(process.env["discordEmail"], process.env["discordPass"]).catch((e)=>console.log(e));
|
||||
Reference in New Issue
Block a user