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