mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-17 12:03:31 +01:00
Add ability to ban non-members from guilds (#638)
This commit is contained in:
committed by
GitHub
parent
e1bda864f7
commit
9d694d2b67
@@ -331,14 +331,15 @@ class RESTMethods {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
banGuildMember(member, deleteDays) {
|
banGuildMember(guild, member, deleteDays) {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
const data = {
|
const user = this.rest.client.resolver.resolveUser(member);
|
||||||
|
if (!user) throw new Error('cannot ban a user that is not a user resolvable');
|
||||||
|
this.rest.makeRequest('put', `${Constants.Endpoints.guildBans(guild.id)}/${user.id}`, true, {
|
||||||
'delete-message-days': deleteDays,
|
'delete-message-days': deleteDays,
|
||||||
};
|
}).then(() => {
|
||||||
this.rest.makeRequest('put', `${Constants.Endpoints.guildBans(member.guild.id)}/${member.id}`, true, data)
|
resolve(member instanceof GuildMember ? member : user);
|
||||||
.then(() => resolve(member))
|
}).catch(reject);
|
||||||
.catch(reject);
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -146,7 +146,7 @@ class Guild {
|
|||||||
/**
|
/**
|
||||||
* Returns the GuildMember form of a User object, if the User is present in the guild.
|
* Returns the GuildMember form of a User object, if the User is present in the guild.
|
||||||
* @param {UserResolvable} user The user that you want to obtain the GuildMember of
|
* @param {UserResolvable} user The user that you want to obtain the GuildMember of
|
||||||
* @returns {GuildMember|null}
|
* @returns {?GuildMember}
|
||||||
* @example
|
* @example
|
||||||
* // get the guild member of a user
|
* // get the guild member of a user
|
||||||
* const member = guild.member(message.author);
|
* const member = guild.member(message.author);
|
||||||
@@ -533,17 +533,31 @@ class Guild {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Unbans a member from the Guild
|
* Bans a user from the guild.
|
||||||
* @param {UserResolvable} member The member to unban
|
* @param {UserResolvable} user The user to ban
|
||||||
|
* @param {number} [deleteDays=0] The amount of days worth of messages from this user that should
|
||||||
|
* also be deleted. Between `0` and `7`.
|
||||||
|
* @returns {Promise<GuildMember|User>}
|
||||||
|
* @example
|
||||||
|
* // ban a user
|
||||||
|
* guild.ban('123123123123');
|
||||||
|
*/
|
||||||
|
ban(user, deleteDays = 0) {
|
||||||
|
return this.client.rest.methods.banGuildMember(this, user, deleteDays);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Unbans a user from the Guild.
|
||||||
|
* @param {UserResolvable} user The user to unban
|
||||||
* @returns {Promise<User>}
|
* @returns {Promise<User>}
|
||||||
* @example
|
* @example
|
||||||
* // unban a member
|
* // unban a user
|
||||||
* guild.unban('123123123123')
|
* guild.unban('123123123123')
|
||||||
* .then(user => console.log(`Unbanned ${user.username} from ${guild.name}`))
|
* .then(user => console.log(`Unbanned ${user.username} from ${guild.name}`))
|
||||||
* .catch(reject);
|
* .catch(reject);
|
||||||
*/
|
*/
|
||||||
unban(member) {
|
unban(user) {
|
||||||
return this.client.rest.methods.unbanGuildMember(this, member);
|
return this.client.rest.methods.unbanGuildMember(this, user);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -271,7 +271,7 @@ class GuildMember {
|
|||||||
* guildMember.ban(7);
|
* guildMember.ban(7);
|
||||||
*/
|
*/
|
||||||
ban(deleteDays = 0) {
|
ban(deleteDays = 0) {
|
||||||
return this.client.rest.methods.banGuildMember(this, deleteDays);
|
return this.client.rest.methods.banGuildMember(this.guild, this, deleteDays);
|
||||||
}
|
}
|
||||||
|
|
||||||
sendMessage() {
|
sendMessage() {
|
||||||
|
|||||||
Reference in New Issue
Block a user