detritus-client
Version:
A Typescript NodeJS library to interact with Discord's API, both Rest and Gateway.
292 lines (291 loc) • 13.4 kB
TypeScript
import { RequestTypes } from 'detritus-client-rest';
import { ShardClient } from '../client';
import { BaseCollection } from '../collections/basecollection';
import { BaseSet } from '../collections/baseset';
import { GuildExplicitContentFilterTypes, GuildNSFWLevels, Locales, MfaLevels, PremiumGuildTiers } from '../constants';
import { PermissionTools, UrlQuery } from '../utils';
import { BaseStructure, BaseStructureData } from './basestructure';
import { Channel, ChannelGuildCategory, ChannelGuildStageVoice, ChannelGuildStore, ChannelGuildText, ChannelGuildThread, ChannelGuildVoice } from './channel';
import { Emoji } from './emoji';
import { Member } from './member';
import { Message } from './message';
import { Presence } from './presence';
import { Role } from './role';
import { StageInstance } from './stageinstance';
import { Sticker } from './sticker';
import { User } from './user';
import { VoiceRegion } from './voiceregion';
import { VoiceState } from './voicestate';
/**
* Base Guild Structure
* @category Structure
*/
export declare class BaseGuild extends BaseStructure {
readonly _keys: BaseSet<string>;
features: BaseSet<string>;
icon: null | string;
id: string;
name: string;
constructor(client: ShardClient, data?: BaseStructureData, isClone?: boolean);
get acronym(): string;
get canHaveBanner(): boolean;
get canHaveDiscoveryFeatures(): boolean;
get canHaveNews(): boolean;
get canHavePublic(): boolean;
get canHaveSplash(): boolean;
get canHaveStore(): boolean;
get canHaveVanityUrl(): boolean;
get canHaveVipRegions(): boolean;
get createdAt(): Date;
get createdAtUnix(): number;
get iconUrl(): null | string;
get isDiscoverable(): boolean;
get isPartnered(): boolean;
get isPublic(): boolean;
get isVerified(): boolean;
get jumpLink(): string;
get widgetImageUrl(): string;
get widgetUrl(): string;
hasFeature(feature: string): boolean;
iconUrlFormat(format?: null | string, query?: UrlQuery): null | string;
widgetImageUrlFormat(query?: UrlQuery): string;
widgetUrlFormat(options?: RequestTypes.RouteWidget): string;
ack(): Promise<any>;
addMember(userId: string, options: RequestTypes.AddGuildMember): Promise<any>;
addMemberRole(userId: string, roleId: string): Promise<any>;
beginPrune(options?: RequestTypes.BeginGuildPrune): Promise<any>;
createBan(userId: string, options: RequestTypes.CreateGuildBan): Promise<any>;
createChannel(options: RequestTypes.CreateGuildChannel): Promise<Channel>;
createEmoji(options: RequestTypes.CreateGuildEmoji): Promise<Emoji>;
createIntegration(options: RequestTypes.CreateGuildIntegration): Promise<any>;
createRole(options: RequestTypes.CreateGuildRole): Promise<Role>;
createSticker(options: RequestTypes.CreateGuildSticker): Promise<Sticker>;
createTemplate(options: RequestTypes.CreateGuildTemplate): Promise<import("./template").Template>;
delete(): Promise<any>;
deleteChannel(channelId: string, options?: RequestTypes.DeleteChannel): Promise<Channel>;
deleteEmoji(emojiId: string, options?: RequestTypes.DeleteGuildEmoji): Promise<any>;
deleteIntegration(integrationId: string, options?: RequestTypes.DeleteGuildIntegration): Promise<any>;
deletePremiumSubscription(subscriptionId: string): Promise<any>;
deleteRole(roleId: string, options?: RequestTypes.DeleteGuildRole): Promise<any>;
deleteSticker(stickerId: string): Promise<any>;
deleteTemplate(templateId: string): Promise<any>;
edit(options: RequestTypes.EditGuild): Promise<Guild>;
editChannel(channelId: string, options: RequestTypes.EditChannel): Promise<Channel>;
editChannelPositions(channels: RequestTypes.EditGuildChannels, options?: RequestTypes.EditGuildChannelsExtra): Promise<any>;
editEmbed(options: RequestTypes.EditGuildEmbed): Promise<any>;
editEmoji(emojiId: string, options: RequestTypes.EditGuildEmoji): Promise<Emoji>;
editIntegration(integrationId: string, options: RequestTypes.EditGuildIntegration): Promise<any>;
editMember(userId: string, options: RequestTypes.EditGuildMember): Promise<any>;
editMfaLevel(options: RequestTypes.EditGuildMfaLevel): Promise<any>;
editNick(nick: string, options?: RequestTypes.EditGuildNick): Promise<any>;
editRole(roleId: string, options: RequestTypes.EditGuildRole): Promise<Role>;
editRolePositions(roles: RequestTypes.EditGuildRolePositions, options?: RequestTypes.EditGuildRolePositionsExtra): Promise<BaseCollection<string, Role>>;
editSticker(stickerId: string, options?: RequestTypes.EditGuildSticker): Promise<Sticker>;
editVanityUrl(code: string, options?: RequestTypes.EditGuildVanity): Promise<any>;
editVoiceState(userId: string, options: RequestTypes.EditGuildVoiceState): Promise<any>;
fetchApplications(channelId?: string): Promise<any>;
fetchAuditLogs(options: RequestTypes.FetchGuildAuditLogs): Promise<BaseCollection<string, import("./auditlog").AuditLog>>;
fetchBans(): Promise<import("../rest/types").RestResponses.FetchGuildBans>;
fetchChannels(): Promise<BaseCollection<string, Channel>>;
fetchEmbed(): Promise<any>;
fetchEmoji(emojiId: string): Promise<Emoji>;
fetchEmojis(): Promise<BaseCollection<string, Emoji>>;
fetchInvites(): Promise<BaseCollection<string, import("./invite").Invite>>;
fetchIntegrations(): Promise<BaseCollection<string, import("./integration").Integration>>;
fetchMember(userId: string): Promise<Member>;
fetchMembers(options: RequestTypes.FetchGuildMembers): Promise<BaseCollection<string, Member>>;
fetchMembersSearch(options: RequestTypes.FetchGuildMembersSearch): Promise<BaseCollection<string, Member>>;
fetchPremiumSubscriptions(): Promise<BaseCollection<string, import("./premiumsubscription").PremiumSubscription>>;
fetchPruneCount(): Promise<any>;
fetchRoles(): Promise<BaseCollection<string, Role>>;
fetchSticker(stickerId: string): Promise<Sticker>;
fetchStickers(): Promise<BaseCollection<string, Sticker>>;
fetchTemplates(): Promise<BaseCollection<string, import("./template").Template>>;
fetchVanityUrl(): Promise<any>;
fetchVoiceRegions(): Promise<BaseCollection<string, VoiceRegion>>;
fetchWebhooks(): Promise<BaseCollection<string, import("./webhook").Webhook>>;
fetchWidget(): Promise<any>;
fetchWidgetJson(): Promise<any>;
fetchWidgetPng(options?: RequestTypes.FetchGuildWidgetPng): Promise<any>;
join(options: RequestTypes.JoinGuild): Promise<any>;
leave(): Promise<any>;
removeBan(userId: string, options?: RequestTypes.RemoveGuildBan): Promise<any>;
removeMember(userId: string, options?: RequestTypes.RemoveGuildMember): Promise<any>;
removeMemberRole(userId: string, roleId: string, options?: RequestTypes.RemoveGuildBan): Promise<any>;
requestMembers(options: {
limit?: number;
presences?: boolean;
query: string;
timeout?: number;
userIds?: Array<string>;
}): Promise<{
members: BaseCollection<string, Member>;
nonce: string;
notFound: BaseSet<string>;
presences: BaseCollection<string, Presence>;
}>;
search(options: RequestTypes.SearchOptions, retry?: boolean): Promise<any>;
syncIntegration(integrationId: string): Promise<any>;
mergeValue(key: string, value: any): void;
toString(): string;
}
/**
* Partial Guild Structure
* @category Structure
*/
export declare class GuildPartial extends BaseGuild {
readonly _keys: BaseSet<string>;
banner: null | string;
description: null | string;
nsfw: boolean;
nsfwLevel: GuildNSFWLevels;
splash: null | string;
vanityUrlCode: null | string;
verificationLevel: number;
welcomeScreen: GuildWelcomeScreen | null;
constructor(client: ShardClient, data?: BaseStructureData, isClone?: boolean);
get bannerUrl(): null | string;
get splashUrl(): null | string;
bannerUrlFormat(format?: null | string, query?: UrlQuery): null | string;
splashUrlFormat(format?: null | string, query?: UrlQuery): null | string;
mergeValue(key: string, value: any): void;
}
/**
* Guild Structure
* @category Structure
*/
export declare class Guild extends GuildPartial {
readonly _keys: BaseSet<string>;
readonly _keysMerge: BaseSet<string>;
readonly _keysSkipDifference: BaseSet<string>;
readonly _channelIds: BaseSet<string>;
readonly _threadIds: BaseSet<string>;
afkChannelId: null | string;
afkTimeout: number;
applicationCommandCount: number;
applicationId?: null | string;
banner: null | string;
defaultMessageNotifications: number;
description: null | string;
embedChannelId: null | string;
embedEnabled: boolean;
explicitContentFilter: GuildExplicitContentFilterTypes;
emojis: BaseCollection<string, Emoji>;
features: BaseSet<string>;
discoverySplash: null | string;
hasMetadata: boolean;
icon: null | string;
id: string;
isPartial: boolean;
isReady: boolean;
joinedAtUnix: number;
large: boolean;
lazy: boolean;
left: boolean;
maxMembers: number;
maxPresences: number;
maxVideoChannelUsers: number;
memberCount: number;
members: BaseCollection<string, Member>;
mfaLevel: MfaLevels;
name: string;
nsfw: boolean;
nsfwLevel: GuildNSFWLevels;
ownerId: string;
preferredLocale: Locales;
premiumSubscriptionCount: number;
premiumTier: PremiumGuildTiers;
publicUpdatesChannelId: null | string;
region: string;
roles: BaseCollection<string, Role>;
rulesChannelId: null | string;
splash: null | string;
stageInstances: BaseCollection<string, StageInstance>;
stickers: BaseCollection<string, Sticker>;
systemChannelFlags: number;
systemChannelId: null | string;
unavailable: boolean;
vanityUrlCode: null | string;
verificationLevel: number;
welcomeScreen: GuildWelcomeScreen | null;
widgetChannelId: null | string;
widgetEnabled: boolean;
constructor(client: ShardClient, data?: BaseStructureData, isClone?: boolean);
get afkChannel(): Channel | null;
get allTextChannels(): BaseCollection<string, ChannelGuildText>;
get allVoiceChannels(): BaseCollection<string, ChannelGuildStageVoice | ChannelGuildVoice>;
get categoryChannels(): BaseCollection<string, ChannelGuildCategory>;
get channels(): BaseCollection<string, Channel>;
get defaultRole(): null | Role;
get discoverySplashUrl(): null | string;
get hasSystemChannelSuppressJoinNotifications(): boolean;
get hasSystemChannelSuppressPremiumSubscriptions(): boolean;
get joinedAt(): Date | null;
get maxAttachmentSize(): number;
get maxBitrate(): number;
get maxEmojis(): number;
get me(): Member | null;
get messages(): BaseCollection<string, Message>;
get owner(): null | User;
get preferredLocaleText(): string;
get presences(): BaseCollection<string, Presence>;
get publicUpdatesChannel(): Channel | null;
get rulesChannel(): Channel | null;
get stageVoiceChannels(): BaseCollection<string, ChannelGuildStageVoice>;
get storeChannels(): BaseCollection<string, ChannelGuildStore>;
get systemChannel(): Channel | null;
get textChannels(): BaseCollection<string, ChannelGuildText>;
get threads(): BaseCollection<string, ChannelGuildThread>;
get voiceChannels(): BaseCollection<string, ChannelGuildVoice>;
get voiceStates(): BaseCollection<string, VoiceState>;
can(permissions: PermissionTools.PermissionChecks, member?: Member | null, options?: {
ignoreAdministrator?: boolean;
ignoreOwner?: boolean;
}): boolean;
discoverySplashUrlFormat(format?: null | string, query?: UrlQuery): null | string;
hasSystemChannelFlag(flag: number): boolean;
isOwner(userId: string): boolean;
fetchVoiceRegion(): Promise<VoiceRegion>;
mergeValue(key: string, value: any): void;
}
/**
* Guild Me Structure
* @category Structure
*/
export declare class GuildMe extends BaseGuild {
readonly _keys: BaseSet<string>;
owner: boolean;
permissions: bigint;
constructor(client: ShardClient, data?: BaseStructureData, isClone?: boolean);
can(permissions: PermissionTools.PermissionChecks, options?: {
ignoreAdministrator?: boolean;
ignoreOwner?: boolean;
}): boolean;
mergeValue(key: string, value: any): void;
}
/**
* Guild Welcome Screen, used in [[Guild]]
* @category Structure
*/
export declare class GuildWelcomeScreen extends BaseStructure {
readonly _uncloneable = true;
readonly _keys: BaseSet<string>;
description: string;
welcomeChannels: BaseCollection<string, GuildWelcomeScreenChannel>;
constructor(client: ShardClient, data?: BaseStructureData, isClone?: boolean);
mergeValue(key: string, value: any): void;
}
/**
* Guild Welcome Screen Channel, used in [[GuildWelcomeScreen]]
* @category Structure
*/
export declare class GuildWelcomeScreenChannel extends BaseStructure {
readonly _uncloneable = true;
readonly _keys: BaseSet<string>;
readonly guildWelcomeScreen: GuildWelcomeScreen;
channelId: string;
description: string;
emojiId?: string;
emojiName: string | null;
constructor(guildWelcomeScreen: GuildWelcomeScreen, data: BaseStructureData);
}