mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-10 00:23:30 +01:00
Removed trailing spaces, added unbanMember and kickMember
This commit is contained in:
@@ -5,13 +5,13 @@ var Cache = require("../Util/Cache.js");
|
||||
var PermissionOverwrite = require("./PermissionOverwrite.js");
|
||||
|
||||
class Channel extends Equality{
|
||||
|
||||
|
||||
constructor(data, client){
|
||||
super();
|
||||
this.id = data.id;
|
||||
this.client = client;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
module.exports = Channel;
|
||||
@@ -6,11 +6,11 @@ class ChannelPermissions{
|
||||
constructor(permissions){
|
||||
this.permissions = permissions;
|
||||
}
|
||||
|
||||
|
||||
serialise(explicit){
|
||||
|
||||
|
||||
var hp = (perm) => this.hasPermission(perm, explicit);
|
||||
|
||||
|
||||
return {
|
||||
// general
|
||||
createInstantInvite : hp( Permissions.createInstantInvite ),
|
||||
@@ -37,12 +37,12 @@ class ChannelPermissions{
|
||||
voiceUseVAD : hp( Permissions.voiceUseVAD )
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
serialize(){
|
||||
// ;n;
|
||||
return this.serialise();
|
||||
}
|
||||
|
||||
|
||||
hasPermission(perm, explicit=false){
|
||||
if( perm instanceof String || typeof perm === "string" ){
|
||||
perm = Permissions[perm];
|
||||
|
||||
@@ -17,7 +17,7 @@ class Invite{
|
||||
this.inviter = client.internal.users.get("id", data.inviter.id);
|
||||
this.xkcd = data.xkcdpass;
|
||||
}
|
||||
|
||||
|
||||
toString(){
|
||||
return `https://discord.gg/${this.code}`;
|
||||
}
|
||||
|
||||
@@ -14,18 +14,18 @@ class Message{
|
||||
this.timestamp = Date.parse(data.timestamp);
|
||||
this.everyoneMentioned = data.mention_everyone;
|
||||
this.id = data.id;
|
||||
|
||||
|
||||
if(data.edited_timestamp)
|
||||
this.editedTimestamp = Date.parse(data.edited_timestamp);
|
||||
|
||||
|
||||
if(data.author instanceof User)
|
||||
this.author = data.author;
|
||||
else
|
||||
this.author = client.internal.users.add(new User(data.author, client));
|
||||
|
||||
|
||||
this.content = data.content;
|
||||
this.mentions = new Cache();
|
||||
|
||||
|
||||
data.mentions.forEach((mention) => {
|
||||
// this is .add and not .get because it allows the bot to cache
|
||||
// users from messages from logs who may have left the server and were
|
||||
@@ -36,7 +36,7 @@ class Message{
|
||||
this.mentions.add(client.internal.users.add(new User(mention, client)));
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
toString(){
|
||||
return this.content;
|
||||
}
|
||||
|
||||
@@ -9,19 +9,19 @@ class PMChannel extends Equality{
|
||||
constructor(data, client){
|
||||
super();
|
||||
this.client = client;
|
||||
|
||||
|
||||
this.type = data.type || "text";
|
||||
this.id = data.id;
|
||||
this.lastMessageId = data.last_message_id;
|
||||
this.messages = new Cache("id", 1000);
|
||||
this.recipient = this.client.internal.users.add(new User(data.recipient, this.client));
|
||||
}
|
||||
|
||||
|
||||
/* warning! may return null */
|
||||
get lastMessage(){
|
||||
return this.messages.get("id", this.lastMessageID);
|
||||
}
|
||||
|
||||
|
||||
toString(){
|
||||
return this.recipient.toString();
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
var Permissions = require("../Constants.js").Permissions;
|
||||
|
||||
class PermissionOverwrite {
|
||||
|
||||
|
||||
constructor(data) {
|
||||
this.id = data.id;
|
||||
this.type = data.type; // member or role
|
||||
@@ -19,14 +19,14 @@ class PermissionOverwrite {
|
||||
// these permissions do not exist in overwrites.
|
||||
continue;
|
||||
}
|
||||
|
||||
|
||||
if(!!(this.allow & Permissions[permName])){
|
||||
allowed.push(permName);
|
||||
}
|
||||
}
|
||||
return allowed;
|
||||
}
|
||||
|
||||
|
||||
// returns an array of denied permissions
|
||||
get denied(){
|
||||
var denied = [];
|
||||
@@ -35,14 +35,14 @@ class PermissionOverwrite {
|
||||
// these permissions do not exist in overwrites.
|
||||
continue;
|
||||
}
|
||||
|
||||
|
||||
if(!!(this.deny & Permissions[permName])){
|
||||
denied.push(permName);
|
||||
}
|
||||
}
|
||||
return denied;
|
||||
}
|
||||
|
||||
|
||||
setAllowed(allowedArray){
|
||||
allowedArray.forEach( (permission) => {
|
||||
if(permission instanceof String || typeof permission === "string"){
|
||||
@@ -53,7 +53,7 @@ class PermissionOverwrite {
|
||||
}
|
||||
} );
|
||||
}
|
||||
|
||||
|
||||
setDenied(deniedArray){
|
||||
deniedArray.forEach( (permission) => {
|
||||
if(permission instanceof String || typeof permission === "string"){
|
||||
@@ -64,7 +64,7 @@ class PermissionOverwrite {
|
||||
}
|
||||
} );
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
module.exports = PermissionOverwrite;
|
||||
@@ -40,11 +40,11 @@ class Role{
|
||||
this.server = server;
|
||||
this.client = client;
|
||||
}
|
||||
|
||||
|
||||
serialise(explicit){
|
||||
|
||||
|
||||
var hp = (perm) => this.hasPermission(perm, explicit);
|
||||
|
||||
|
||||
return {
|
||||
// general
|
||||
createInstantInvite : hp( Permissions.createInstantInvite ),
|
||||
@@ -71,12 +71,12 @@ class Role{
|
||||
voiceUseVAD : hp( Permissions.voiceUseVAD )
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
serialize(){
|
||||
// ;n;
|
||||
return this.serialise();
|
||||
}
|
||||
|
||||
|
||||
hasPermission(perm, explicit=false){
|
||||
if( perm instanceof String || typeof perm === "string" ){
|
||||
perm = Permissions[perm];
|
||||
@@ -93,10 +93,10 @@ class Role{
|
||||
// e.g.
|
||||
// !!(36953089 & Permissions.manageRoles) = not allowed to manage roles
|
||||
// !!(36953089 & (1 << 21)) = voice speak allowed
|
||||
|
||||
|
||||
return !!(this.permissions & perm);
|
||||
}
|
||||
|
||||
|
||||
setPermission(permission, value){
|
||||
if( permission instanceof String || typeof permission === "string" ){
|
||||
permission = Permissions[permission];
|
||||
@@ -110,7 +110,7 @@ class Role{
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
setPermissions(obj){
|
||||
obj.forEach((value, permission) => {
|
||||
if( permission instanceof String || typeof permission === "string" ){
|
||||
@@ -122,7 +122,7 @@ class Role{
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
colorAsHex(){
|
||||
var val = this.color.toString();
|
||||
while(val.length < 6){
|
||||
|
||||
@@ -16,7 +16,7 @@ class ServerChannel extends Channel{
|
||||
this.permissionOverwrites.add( new PermissionOverwrite(permission) );
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
permissionsOf(user){
|
||||
user = this.client.internal.resolver.resolveUser(user);
|
||||
if(user){
|
||||
@@ -24,11 +24,11 @@ class ServerChannel extends Channel{
|
||||
return new ChannelPermissions(4294967295);
|
||||
}
|
||||
var everyoneRole = this.server.roles.get("name", "@everyone");
|
||||
|
||||
|
||||
var userRoles = [everyoneRole].concat(this.server.rolesOf(user) || []);
|
||||
var userRolesID = userRoles.map((v) => v.id);
|
||||
var roleOverwrites = [], memberOverwrites = [];
|
||||
|
||||
|
||||
this.permissionOverwrites.forEach((overwrite) => {
|
||||
if(overwrite.type === "member" && overwrite.id === user.id){
|
||||
memberOverwrites.push(overwrite);
|
||||
@@ -36,29 +36,29 @@ class ServerChannel extends Channel{
|
||||
roleOverwrites.push(overwrite);
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
var permissions = 0;
|
||||
|
||||
|
||||
for(var serverRole of userRoles){
|
||||
permissions |= serverRole.permissions;
|
||||
}
|
||||
|
||||
|
||||
for(var overwrite of roleOverwrites.concat(memberOverwrites)){
|
||||
permissions = permissions & ~overwrite.deny;
|
||||
permissions = permissions | overwrite.allow;
|
||||
}
|
||||
|
||||
|
||||
return new ChannelPermissions(permissions);
|
||||
|
||||
|
||||
}else{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
permsOf(user){
|
||||
return this.permissionsOf(user);
|
||||
}
|
||||
|
||||
|
||||
toString(){
|
||||
return this.name;
|
||||
}
|
||||
|
||||
@@ -6,14 +6,14 @@ var Cache = require("../Util/Cache.js");
|
||||
class TextChannel extends ServerChannel{
|
||||
constructor(data, client, server){
|
||||
super(data, client, server);
|
||||
|
||||
|
||||
this.name = data.name;
|
||||
this.topic = data.topic;
|
||||
this.position = data.position;
|
||||
this.lastMessageID = data.last_message_id;
|
||||
this.messages = new Cache("id", client.options.maximumMessages);
|
||||
}
|
||||
|
||||
|
||||
/* warning! may return null */
|
||||
get lastMessage(){
|
||||
return this.messages.get("id", this.lastMessageID);
|
||||
|
||||
@@ -18,7 +18,7 @@ class User extends Equality{
|
||||
channel : null
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
get avatarURL(){
|
||||
if(!this.avatar){
|
||||
return null;
|
||||
@@ -26,15 +26,15 @@ class User extends Equality{
|
||||
return Endpoints.AVATAR(this.id, this.avatar);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
mention(){
|
||||
return `<@${this.id}>`;
|
||||
}
|
||||
|
||||
|
||||
toString(){
|
||||
return this.mention();
|
||||
}
|
||||
|
||||
|
||||
equalsStrict(obj){
|
||||
if(obj instanceof User)
|
||||
return (
|
||||
|
||||
Reference in New Issue
Block a user