seyfert
Version:
The most advanced framework for discord bots
30 lines (29 loc) • 1.66 kB
TypeScript
import type { ReturnCache } from '../cache';
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(mode?: 'rest' | 'flow'): Promise<GuildStructure<'cached' | 'api'>>;
guild(mode: 'cache'): ReturnCache<GuildStructure<'cached'> | undefined>;
fetch(force?: boolean): Promise<GuildRoleStructure>;
edit(body: RESTPatchAPIGuildRoleJSONBody): Promise<GuildRoleStructure>;
delete(reason?: string): Promise<void>;
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<void>;
editPositions: (body: RESTPatchAPIGuildRolePositionsJSONBody) => Promise<GuildRoleStructure[]>;
};
}