seyfert
Version:
The most advanced framework for discord bots
28 lines (27 loc) • 1.56 kB
TypeScript
import type { GuildRoleStructure, GuildStructure } from '../client';
import type { UsingClient } from '../commands';
import { type MethodContext, type ObjectToLower } from '../common';
import type { APIRole, RESTPatchAPIGuildRoleJSONBody, RESTPatchAPIGuildRolePositionsJSONBody, RESTPostAPIGuildRoleJSONBody } from '../types';
import { DiscordBase } from './extra/DiscordBase';
import { PermissionsBitField } from './extra/Permissions';
export interface GuildRole extends DiscordBase, ObjectToLower<Omit<APIRole, 'permissions'>> {
}
export declare class GuildRole extends DiscordBase {
readonly guildId: string;
permissions: PermissionsBitField;
constructor(client: UsingClient, data: APIRole, guildId: string);
guild(force?: boolean): Promise<GuildStructure<'api'> | undefined>;
fetch(force?: boolean): Promise<GuildRoleStructure>;
edit(body: RESTPatchAPIGuildRoleJSONBody): Promise<GuildRoleStructure>;
delete(reason?: string): Promise<GuildRoleStructure>;
toString(): `<@&${string}>`;
static methods(ctx: MethodContext<{
guildId: string;
}>): {
create: (body: RESTPostAPIGuildRoleJSONBody) => Promise<GuildRoleStructure>;
list: (force?: boolean) => Promise<GuildRoleStructure[]>;
edit: (roleId: string, body: RESTPatchAPIGuildRoleJSONBody, reason?: string) => Promise<GuildRoleStructure>;
delete: (roleId: string, reason?: string) => Promise<GuildRoleStructure>;
editPositions: (body: RESTPatchAPIGuildRolePositionsJSONBody) => Promise<GuildRoleStructure[]>;
};
}