UNPKG

seyfert

Version:

The most advanced framework for discord bots

92 lines (91 loc) 6.89 kB
import type { GuildMemberStructure } from '../client'; import type { UsingClient } from '../commands'; import type { ObjectToLower, StructPropState, StructStates, ToClass } from '../common/types/util'; import type { APIGuild, APIPartialGuild, GatewayGuildCreateDispatchData, RESTPatchAPIGuildJSONBody } from '../types'; import { BaseGuild } from './extra/BaseGuild'; import type { DiscordBase } from './extra/DiscordBase'; export interface Guild extends ObjectToLower<Omit<APIGuild, 'stickers' | 'emojis' | 'roles'>>, DiscordBase { } declare const Guild_base: ToClass<Omit<BaseGuild, keyof ObjectToLower<APIPartialGuild>>, Guild>; export declare class Guild<State extends StructStates = 'api'> extends Guild_base { joinedAt: StructPropState<number, State, 'create'>; memberCount: StructPropState<number, State, 'create'>; large: StructPropState<boolean, State, 'create'>; unavailable?: StructPropState<boolean, State, 'create'>; constructor(client: UsingClient, data: APIGuild | GatewayGuildCreateDispatchData); webhooks: { list: () => Promise<import("../client").WebhookStructure[]>; }; get maxStickers(): MaxStickers; get maxEmojis(): MaxEmojis; fetchOwner(force?: boolean): Promise<GuildMemberStructure | null>; templates: { fetch: (code: string) => Promise<import("../client").GuildTemplateStructure>; list: () => Promise<import("../client").GuildTemplateStructure[]>; create: (body: import("../types").RESTPostAPIGuildTemplatesJSONBody) => Promise<import("../client").GuildTemplateStructure>; sync: (code: string) => Promise<import("../client").GuildTemplateStructure>; edit: (code: string, body: import("../types").RESTPatchAPIGuildTemplateJSONBody) => Promise<import("../client").GuildTemplateStructure>; delete: (code: string) => Promise<import("../client").GuildTemplateStructure>; }; stickers: { list: () => Promise<import("../client").StickerStructure[]>; create: (payload: import("./Sticker").CreateStickerBodyRequest, reason?: string) => Promise<import("../client").StickerStructure>; edit: (stickerId: string, body: import("../types").RESTPatchAPIGuildStickerJSONBody, reason?: string) => Promise<import("../client").StickerStructure>; fetch: (stickerId: string, force?: boolean) => Promise<import("../client").StickerStructure>; delete: (stickerId: string, reason?: string) => Promise<void>; }; members: { resolve: (resolve: import("../common").GuildMemberResolvable) => Promise<GuildMemberStructure | undefined>; search: (query?: import("../types").RESTGetAPIGuildMembersSearchQuery) => Promise<GuildMemberStructure[]>; unban: (id: string, reason?: string) => Promise<never>; ban: (id: string, body?: import("../types").RESTPutAPIGuildBanJSONBody, reason?: string) => Promise<void>; kick: (id: string, reason?: string) => Promise<void>; edit: (id: string, body: import("../types").RESTPatchAPIGuildMemberJSONBody, reason?: string) => Promise<GuildMemberStructure>; add: (id: string, body: import("../types").RESTPutAPIGuildMemberJSONBody) => Promise<GuildMemberStructure | undefined>; addRole: (memberId: string, id: string) => Promise<never>; removeRole: (memberId: string, id: string) => Promise<never>; fetch: (memberId: string, force?: boolean) => Promise<GuildMemberStructure>; list: (query?: import("../types").RESTGetAPIGuildMembersQuery, force?: boolean) => Promise<GuildMemberStructure[]>; }; moderationRules: { list: () => Promise<import("../client").AutoModerationRuleStructure[]>; create: (body: import("../types").RESTPostAPIAutoModerationRuleJSONBody) => Promise<import("../client").AutoModerationRuleStructure>; delete: (ruleId: string, reason?: string) => Promise<never>; fetch: (ruleId: string) => Promise<import("../client").AutoModerationRuleStructure>; edit: (ruleId: string, body: import("../types").RESTPatchAPIAutoModerationRuleJSONBody, reason?: string) => Promise<import("../client").AutoModerationRuleStructure>; }; roles: { create: (body: import("../types").RESTPostAPIGuildRoleJSONBody) => Promise<import("../client").GuildRoleStructure>; list: (force?: boolean) => Promise<import("../client").GuildRoleStructure[]>; edit: (roleId: string, body: import("../types").RESTPatchAPIGuildRoleJSONBody, reason?: string) => Promise<import("../client").GuildRoleStructure>; delete: (roleId: string, reason?: string) => Promise<import("../client").GuildRoleStructure>; editPositions: (body: import("../types").RESTPatchAPIGuildRolePositionsJSONBody) => Promise<import("../client").GuildRoleStructure[]>; }; channels: { list: (force?: boolean) => Promise<import("./channels").AllChannels[]>; fetch: (id: string, force?: boolean) => Promise<import("./channels").AllChannels>; create: (body: import("../types").RESTPostAPIGuildChannelJSONBody) => Promise<import("./channels").AllChannels>; delete: (id: string, reason?: string) => Promise<import("./channels").AllChannels>; edit: (id: string, body: import("../types").RESTPatchAPIChannelJSONBody, reason?: string) => Promise<import("./channels").AllChannels>; editPositions: (body: import("../types").RESTPatchAPIGuildChannelPositionsJSONBody) => Promise<never>; }; emojis: { edit: (emojiId: string, body: import("../types").RESTPatchAPIGuildEmojiJSONBody, reason?: string) => Promise<import("../client").GuildEmojiStructure>; create: (body: Parameters<import("../common").EmojiShorter["create"]>[1]) => Promise<import("../client").GuildEmojiStructure>; fetch: (emojiId: string, force?: boolean) => Promise<import("../client").GuildEmojiStructure>; list: (force?: boolean) => Promise<import("../client").GuildEmojiStructure[]>; }; bans: { fetch: (userId: string, force?: boolean) => Promise<import("../client").GuildBanStructure>; list: (query?: import("../types").RESTGetAPIGuildBansQuery, force?: boolean) => Promise<import("../client").GuildBanStructure[]>; create: (memberId: string, body?: Parameters<import("../common/shorters/bans").BanShorter["create"]>[2], reason?: string) => Promise<void>; remove: (memberId: string, reason?: string) => Promise<never>; bulkCreate: (body: Parameters<import("../common/shorters/bans").BanShorter["bulkCreate"]>[1], reason?: string) => Promise<import("../types").RESTPostAPIGuildBulkBanResult>; }; edit(body: RESTPatchAPIGuildJSONBody, reason?: string): Promise<Guild<"api">>; } /** Maximun custom guild emojis per level */ export type MaxEmojis = 50 | 100 | 150 | 250; /** Maximun custom guild stickers per level */ export type MaxStickers = 5 | 15 | 30 | 60; export {};