mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-09 16:13:31 +01:00
added updating roles
This commit is contained in:
@@ -12,7 +12,7 @@ var Channel = require("./channel.js");
|
||||
var Message = require("./message.js");
|
||||
var Invite = require("./invite.js");
|
||||
var PMChannel = require("./PMChannel.js");
|
||||
|
||||
var ServerPermissions = require("./ServerPermissions.js");
|
||||
var gameMap = require("../ref/gameMap.json");
|
||||
|
||||
//node modules
|
||||
@@ -712,23 +712,52 @@ var Client = (function () {
|
||||
return prom;
|
||||
};
|
||||
|
||||
Client.prototype.createRole = function createRole(server) {
|
||||
Client.prototype.createRole = function createRole(dest) {
|
||||
var cb = arguments.length <= 1 || arguments[1] === undefined ? function (err, perm) {} : arguments[1];
|
||||
|
||||
var self = this;
|
||||
|
||||
return new Promise(function (resolve, reject) {
|
||||
|
||||
var ddest = self.resolveServerID(dest);
|
||||
|
||||
request.post(Endpoints.SERVERS + "/" + ddest + "/roles").set("authorization", self.token).end(function (err, res) {
|
||||
|
||||
if (err) {
|
||||
cb(err);
|
||||
reject(err);
|
||||
} else {
|
||||
|
||||
var perms = self.getServer("id", ddest).addRole(res.body);
|
||||
|
||||
resolve(perms);
|
||||
cb(null, perms);
|
||||
}
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
Client.prototype.updateRole = function updateRole(server, role) {
|
||||
var cb = arguments.length <= 2 || arguments[2] === undefined ? function (err, perm) {} : arguments[2];
|
||||
|
||||
var self = this;
|
||||
|
||||
return new Promise(function (resolve, reject) {
|
||||
|
||||
server = self.resolveServerID(server);
|
||||
|
||||
request.post(Endpoints.SERVERS + "/" + server + "/roles").set("authorization", self.token).end(function (err, res) {
|
||||
|
||||
request.patch(Endpoints.SERVERS + "/" + server + "/roles/" + role.id).set("authorization", self.token).send({
|
||||
color: role.color,
|
||||
hoist: role.hoist,
|
||||
name: role.name,
|
||||
permissions: role.packed
|
||||
}).end(function (err, res) {
|
||||
if (err) {
|
||||
cb(err);
|
||||
reject(err);
|
||||
} else {
|
||||
|
||||
var data = self.getServer("id", server).addRole(res.body);
|
||||
var data = self.getServer("id", server).updateRole(res.body);
|
||||
resolve(data);
|
||||
cb(null, data);
|
||||
}
|
||||
@@ -1120,8 +1149,6 @@ var Client = (function () {
|
||||
|
||||
self.trigger("serverRoleCreate", server, server.addRole(role));
|
||||
|
||||
server.removeRole(role.id);
|
||||
|
||||
break;
|
||||
|
||||
case "GUILD_ROLE_DELETE":
|
||||
|
||||
@@ -86,7 +86,7 @@ var Server = (function () {
|
||||
|
||||
var role = _ref3;
|
||||
|
||||
if (role.id === id) {
|
||||
if (role.id == id) {
|
||||
return role;
|
||||
}
|
||||
}
|
||||
@@ -110,7 +110,6 @@ var Server = (function () {
|
||||
var oldRole = this.getRole(data.id);
|
||||
|
||||
if (oldRole) {
|
||||
|
||||
var index = this.roles.indexOf(oldRole);
|
||||
this.roles[index] = new ServerPermissions(data);
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ var Channel = require("./channel.js");
|
||||
var Message = require("./message.js");
|
||||
var Invite = require("./invite.js");
|
||||
var PMChannel = require("./PMChannel.js");
|
||||
|
||||
var ServerPermissions = require("./ServerPermissions.js");
|
||||
var gameMap = require("../ref/gameMap.json");
|
||||
|
||||
//node modules
|
||||
@@ -757,16 +757,16 @@ class Client {
|
||||
return prom;
|
||||
}
|
||||
|
||||
createRole(server, cb = function (err, perm) { }) {
|
||||
createRole(dest, cb = function (err, perm) { }) {
|
||||
|
||||
var self = this;
|
||||
|
||||
return new Promise(function (resolve, reject) {
|
||||
|
||||
server = self.resolveServerID(server);
|
||||
var ddest = self.resolveServerID(dest);
|
||||
|
||||
request
|
||||
.post(`${Endpoints.SERVERS}/${server}/roles`)
|
||||
.post(`${Endpoints.SERVERS}/${ddest}/roles`)
|
||||
.set("authorization", self.token)
|
||||
.end(function (err, res) {
|
||||
|
||||
@@ -775,9 +775,10 @@ class Client {
|
||||
reject(err);
|
||||
} else {
|
||||
|
||||
var data = self.getServer("id", server).addRole(res.body);
|
||||
resolve(data);
|
||||
cb(null, data);
|
||||
var perms = self.getServer("id", ddest).addRole(res.body);
|
||||
|
||||
resolve(perms);
|
||||
cb(null, perms);
|
||||
|
||||
}
|
||||
|
||||
@@ -787,6 +788,40 @@ class Client {
|
||||
|
||||
}
|
||||
|
||||
updateRole(server, role, cb=function(err,perm){}){
|
||||
|
||||
var self = this;
|
||||
|
||||
return new Promise(function(resolve, reject){
|
||||
|
||||
server = self.resolveServerID(server);
|
||||
|
||||
request
|
||||
.patch(`${Endpoints.SERVERS}/${server}/roles/${role.id}`)
|
||||
.set("authorization", self.token)
|
||||
.send({
|
||||
color : role.color,
|
||||
hoist : role.hoist,
|
||||
name : role.name,
|
||||
permissions : role.packed
|
||||
})
|
||||
.end(function(err, res){
|
||||
if (err) {
|
||||
cb(err);
|
||||
reject(err);
|
||||
} else {
|
||||
|
||||
var data = self.getServer("id", server).updateRole(res.body);
|
||||
resolve(data);
|
||||
cb(null, data);
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
//def createws
|
||||
createws(url) {
|
||||
if (this.websocket)
|
||||
@@ -1125,8 +1160,6 @@ class Client {
|
||||
|
||||
self.trigger("serverRoleCreate", server, server.addRole(role));
|
||||
|
||||
server.removeRole(role.id);
|
||||
|
||||
break;
|
||||
|
||||
case "GUILD_ROLE_DELETE":
|
||||
|
||||
@@ -75,11 +75,11 @@ class Server {
|
||||
|
||||
getRole(id){
|
||||
for (var role of this.roles) {
|
||||
if (role.id === id) {
|
||||
if (role.id == id) {
|
||||
return role;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -96,15 +96,13 @@ class Server {
|
||||
}
|
||||
|
||||
updateRole(data){
|
||||
|
||||
|
||||
var oldRole = this.getRole(data.id);
|
||||
|
||||
if(oldRole){
|
||||
|
||||
var index = this.roles.indexOf(oldRole);
|
||||
this.roles[index] = new ServerPermissions(data);
|
||||
|
||||
|
||||
return this.roles[index];
|
||||
|
||||
}else{
|
||||
|
||||
@@ -10,66 +10,73 @@ var server, channel, message, sentMessage = false;
|
||||
counter = 1;
|
||||
|
||||
mybot.on("message", function (message) {
|
||||
|
||||
|
||||
console.log("Everyone mentioned? " + message.everyoneMentioned);
|
||||
if (message.content.substr(0,3) !== "$$$") {
|
||||
if (message.content.substr(0, 3) !== "$$$") {
|
||||
return;
|
||||
}
|
||||
|
||||
// we can go ahead :)
|
||||
|
||||
var user;
|
||||
if(message.mentions.length > 0){
|
||||
if (message.mentions.length > 0) {
|
||||
user = message.mentions[0];
|
||||
}else{
|
||||
} else {
|
||||
user = message.sender;
|
||||
}
|
||||
|
||||
console.log( mybot.getUser("username", "meew0") );
|
||||
|
||||
|
||||
console.log(mybot.getUser("username", "meew0"));
|
||||
|
||||
var perms = JSON.stringify(message.channel.permissionsOf(user).serialise(), null, 4);
|
||||
perms = JSON.parse(perms);
|
||||
|
||||
this.createRole(message.channel.server).catch(error).then((data) => {
|
||||
data.manageRoles = true;
|
||||
mybot.reply(message, JSON.stringify(data.serialise(), null, 4));
|
||||
|
||||
mybot.updateRole(message.channel.server, data).catch(error).then(console.log)
|
||||
|
||||
|
||||
this.createRole(message.channel.server).catch(error).then((permission) => {
|
||||
mybot.reply(message, JSON.stringify(permission.serialise(), null, 4));
|
||||
|
||||
setTimeout(() => {
|
||||
permission.manageRoles = true;
|
||||
permission.name="asdfasdf";
|
||||
|
||||
mybot.updateRole(message.channel.server, permission).then((perm) => {
|
||||
mybot.reply(message, JSON.stringify(perm.serialise(), null, 4));
|
||||
});
|
||||
}, 3000);
|
||||
|
||||
|
||||
});
|
||||
|
||||
|
||||
});
|
||||
|
||||
mybot.on("ready", function () {
|
||||
console.log("im ready");
|
||||
|
||||
for(var server of mybot.servers){
|
||||
if(server.name === "test-server"){
|
||||
|
||||
for (var server of mybot.servers) {
|
||||
if (server.name === "test-server") {
|
||||
mybot.leaveServer(server);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
});
|
||||
|
||||
mybot.on("debug", function(info){
|
||||
|
||||
mybot.on("debug", function (info) {
|
||||
|
||||
})
|
||||
|
||||
mybot.on("unknown", function(info){
|
||||
mybot.on("unknown", function (info) {
|
||||
console.log("warning!", info);
|
||||
})
|
||||
|
||||
mybot.on("channelUpdate", function(oldChan, newChan){
|
||||
|
||||
mybot.on("channelUpdate", function (oldChan, newChan) {
|
||||
|
||||
});
|
||||
|
||||
|
||||
function dump(msg) {
|
||||
console.log(msg);
|
||||
console.log("dump", msg);
|
||||
}
|
||||
|
||||
function error(err) {
|
||||
console.log(err);
|
||||
console.log("error", err);
|
||||
}
|
||||
|
||||
mybot.login(process.env["ds_email"], process.env["ds_password"]).catch(error);
|
||||
Reference in New Issue
Block a user