support role ids for pruning

This commit is contained in:
Skillz
2020-07-14 14:55:24 -04:00
parent d57a28c3d9
commit 2aecacde47
2 changed files with 14 additions and 7 deletions

View File

@@ -21,12 +21,12 @@ import {
PositionSwap,
EditEmojisOptions,
CreateRoleOptions,
PrunePayload,
FetchMembersOptions,
GetAuditLogsOptions,
EditIntegrationOptions,
BanOptions,
GuildEditOptions,
PruneOptions,
} from "../types/guild.ts";
import { RoleData } from "../types/role.ts";
import { createRole } from "../structures/role.ts";
@@ -281,8 +281,8 @@ export function swapRoles(guildID: string, rolePositons: PositionSwap) {
}
/** Check how many members would be removed from the server in a prune operation. Requires the KICK_MEMBERS permission */
export async function getPruneCount(guildID: string, days: number) {
if (days < 1) {
export async function getPruneCount(guildID: string, options: PruneOptions) {
if (options.days < 1) {
throw new Error(Errors.PRUNE_MIN_DAYS);
}
if (
@@ -290,11 +290,11 @@ export async function getPruneCount(guildID: string, days: number) {
) {
throw new Error(Errors.MISSING_KICK_MEMBERS);
}
const result = (await RequestManager.get(
RequestManager.get(
endpoints.GUILD_PRUNE(guildID),
{ days },
)) as PrunePayload;
return result.pruned;
options,
);
}
/** Begin pruning all members in the given time period */

View File

@@ -525,6 +525,13 @@ export interface PrunePayload {
pruned: number;
}
export interface PruneOptions {
/** number of days to count prune for (1 or more). Defaults to 7 days. */
days: number;
/** comma-delimited array of role ids */
include_roles: string;
}
export interface Voice_State {
/** the guild id this voice state is for */
guild_id?: string;