UNPKG

detritus-client

Version:

A Typescript NodeJS library to interact with Discord's API, both Rest and Gateway.

341 lines (340 loc) 14.2 kB
import { RequestTypes } from 'detritus-client-rest'; import { ShardClient, VoiceConnectObject, VoiceConnectOptions } from '../client'; import { BaseCollection } from '../collections/basecollection'; import { BaseSet } from '../collections/baseset'; import { ChannelTypes, ChannelVideoQualityModes } from '../constants'; import { PartialBy, PermissionTools, UrlQuery } from '../utils'; import { BaseStructure, BaseStructureData } from './basestructure'; import { Guild } from './guild'; import { Member } from './member'; import { Message } from './message'; import { Overwrite } from './overwrite'; import { Role } from './role'; import { StageInstance } from './stageinstance'; import { ThreadMember, ThreadMetadata } from './thread'; import { Typing } from './typing'; import { User } from './user'; import { VoiceState } from './voicestate'; export declare type Channel = (ChannelBase | ChannelDM | ChannelGuildVoice | ChannelDMGroup | ChannelGuildType); export declare type ChannelGuildType = (ChannelGuildBase | ChannelGuildCategory | ChannelGuildText | ChannelGuildStore | ChannelGuildThread | ChannelGuildStageVoice); export declare type ChannelTextType = (ChannelDM | ChannelDMGroup | ChannelGuildText | ChannelGuildThread); export declare function createChannelFromData(client: ShardClient, data?: BaseStructureData, isClone?: boolean): Channel; /** * Basic Channel Structure * @category Structure */ export declare class ChannelBase extends BaseStructure { readonly _keys: BaseSet<string>; readonly _keysMerge: BaseSet<string>; _name: string; _nicks?: BaseCollection<string, string>; _nsfw?: boolean; _permissionOverwrites?: BaseCollection<string, Overwrite>; _recipients?: BaseCollection<string, User>; applicationId?: string; bitrate?: number; deleted: boolean; guildId?: string; id: string; icon?: null | string; isPartial: boolean; lastMessageId?: null | string; lastPinTimestampUnix?: number; member?: ThreadMember; memberCount?: number; messageCount?: number; ownerId?: string; parentId?: null | string; position?: number; rateLimitPerUser?: number; rtcRegion?: null | string; threadMetadata?: ThreadMetadata; topic: null | string; type: ChannelTypes; userLimit?: number; videoQualityMode?: ChannelVideoQualityModes; constructor(client: ShardClient, data?: BaseStructureData, isClone?: boolean); get canAddReactions(): boolean; get canAttachFiles(): boolean; get canDeafenMembers(): boolean; get canEdit(): boolean; get canEmbedLinks(): boolean; get canJoin(): boolean; get canManageMessages(): boolean; get canManageWebhooks(): boolean; get canMentionEveryone(): boolean; get canMessage(): boolean; get canManageThreads(): boolean; get canMoveMembers(): boolean; get canMuteMembers(): boolean; get canPrioritySpeaker(): boolean; get canSendTTSMessage(): boolean; get canSpeak(): boolean; get canStream(): boolean; get canReadHistory(): boolean; get canUseExternalEmojis(): boolean; get canUsePrivateThreads(): boolean; get canUsePublicThreads(): boolean; get canUseVAD(): boolean; get canView(): boolean; get children(): BaseCollection<string, ChannelGuildType>; get createdAt(): Date; get createdAtUnix(): number; get defaultIconUrl(): null | string; get guild(): Guild | null; get iconUrl(): null | string; get isDm(): boolean; get isDmGroup(): boolean; get isDmSingle(): boolean; get isGuildCategory(): boolean; get isGuildChannel(): boolean; get isGuildNews(): boolean; get isGuildStageVoice(): boolean; get isGuildStore(): boolean; get isGuildText(): boolean; get isGuildThread(): boolean; get isGuildThreadNews(): boolean; get isGuildThreadPrivate(): boolean; get isGuildThreadPublic(): boolean; get isGuildVoice(): boolean; get isLive(): boolean; get isManaged(): boolean; get isSyncedWithParent(): boolean; get isText(): boolean; get isVoice(): boolean; get joined(): boolean; get jumpLink(): string; get lastMessage(): Message | null; get lastPinTimestamp(): Date | null; get members(): BaseCollection<string, Member>; get messages(): BaseCollection<string, Message>; get mention(): string; get name(): string; get nicks(): BaseCollection<string, string>; get nsfw(): boolean; get owner(): User | null; get parent(): ChannelGuildCategory | ChannelGuildText | null; get permissionOverwrites(): BaseCollection<string, Overwrite>; get stageInstance(): StageInstance | null; get recipients(): BaseCollection<string, User>; get typing(): BaseCollection<string, Typing>; get voiceStates(): BaseCollection<string, VoiceState>; can(permissions: PermissionTools.PermissionChecks, memberOrRole?: Member | Role): boolean; iconUrlFormat(format?: null | string, query?: UrlQuery): null | string; isSyncedWith(parent: ChannelGuildCategory | null): boolean; addPinnedMessage(messageId: string): Promise<any>; addMember(userId: string): Promise<any>; addRecipient(userId: string): Promise<any>; bulkDelete(messageIds: Array<string>): Promise<any>; close(): Promise<Channel>; createInvite(options: RequestTypes.CreateChannelInvite): Promise<import("./invite").Invite>; createMessage(options?: RequestTypes.CreateMessage | string): Promise<Message>; createReaction(messageId: string, emoji: string): Promise<any>; createStageInstance(options: PartialBy<RequestTypes.CreateStageInstance, 'channelId'>): Promise<StageInstance>; createThread(options: RequestTypes.CreateChannelThread): Promise<ChannelGuildThread>; createWebhook(options: RequestTypes.CreateWebhook): Promise<import("./webhook").Webhook>; crosspostMessage(messageId: string): Promise<Message>; delete(options?: RequestTypes.DeleteChannel): Promise<Channel>; deleteMessage(messageId: string, options?: RequestTypes.DeleteMessage): Promise<any>; deleteOverwrite(overwriteId: string, options?: RequestTypes.DeleteChannelOverwrite): Promise<any>; deletePin(messageId: string): Promise<any>; deleteReaction(messageId: string, emoji: string, userId?: string): Promise<any>; deleteReactions(messageId: string): Promise<any>; deleteStageInstance(): Promise<any>; edit(options?: RequestTypes.EditChannel): Promise<Channel>; editMessage(messageId: string, options?: RequestTypes.EditMessage): Promise<Message>; editOverwrite(overwriteId: string, options?: RequestTypes.EditChannelOverwrite): Promise<any>; editStageInstance(options?: RequestTypes.EditStageInstance): Promise<any>; fetchCallStatus(): Promise<any>; fetchInvites(): Promise<BaseCollection<string, import("./invite").Invite>>; fetchMembers(): Promise<BaseCollection<string, ThreadMember>>; fetchMessage(messageId: string): Promise<Message>; fetchMessages(options?: RequestTypes.FetchMessages): Promise<BaseCollection<string, Message>>; fetchPins(): Promise<BaseCollection<string, Message>>; fetchReactions(messageId: string, emoji: string, options?: RequestTypes.FetchReactions): Promise<BaseCollection<string, User>>; fetchStageInstance(): Promise<StageInstance>; fetchStoreListing(): Promise<import("./store").StoreListing>; fetchThreadsActive(): Promise<import("../rest/types").RestResponses.FetchChannelThreadsActive>; fetchThreadsArchivedPrivate(options?: RequestTypes.FetchChannelThreadsArchivedPrivate): Promise<import("../rest/types").RestResponses.FetchChannelThreadsArchivedPrivate>; fetchThreadsArchivedPrivateJoined(options?: RequestTypes.FetchChannelThreadsArchivedPrivateJoined): Promise<import("../rest/types").RestResponses.FetchChannelThreadsArchivedPrivateJoined>; fetchThreadsArchivedPublic(options?: RequestTypes.FetchChannelThreadsArchivedPublic): Promise<import("../rest/types").RestResponses.FetchChannelThreadsArchivedPublic>; fetchWebhooks(): Promise<BaseCollection<string, import("./webhook").Webhook>>; follow(options: RequestTypes.FollowChannel): Promise<{ channelId: string; webhookId: string; }>; grantEntitlement(): Promise<void>; join(): Promise<void>; join(options?: CallOptions): Promise<VoiceConnectObject | null>; leave(): Promise<any>; removeMember(userId: string): Promise<any>; removeRecipient(userId: string): Promise<any>; search(options: RequestTypes.SearchOptions, retry?: boolean): Promise<any>; startCallRinging(recipients?: Array<string>): Promise<any>; stopCallRinging(recipients?: Array<string>): Promise<any>; triggerTyping(): Promise<any>; turnIntoNewsChannel(): Promise<Channel>; turnIntoTextChannel(): Promise<Channel>; unack(): Promise<any>; mergeValue(key: string, value: any): void; toString(): string; } export interface CallOptions extends VoiceConnectOptions { recipients?: Array<string>; verify?: boolean; } /** * Single DM Channel * @category Structure */ export declare class ChannelDM extends ChannelBase { readonly _keys: BaseSet<string>; type: ChannelTypes; lastMessageId?: null | string; constructor(client: ShardClient, data?: BaseStructureData, isClone?: boolean); get iconUrl(): null | string; get joined(): boolean; get messages(): BaseCollection<string, Message>; get name(): string; get voiceStates(): BaseCollection<string, VoiceState>; iconUrlFormat(format?: null | string, query?: UrlQuery): null | string; mergeValue(key: string, value: any): void; } /** * Group DM Channel * @category Structure */ export declare class ChannelDMGroup extends ChannelDM { readonly _keys: BaseSet<string>; type: ChannelTypes; applicationId?: string; icon: null | string; ownerId: string; constructor(client: ShardClient, data?: BaseStructureData, isClone?: boolean); get defaultIconUrl(): string; get owner(): User | null; iconUrlFormat(format?: null | string, query?: UrlQuery): string; isOwner(userId: string): boolean; } /** * Basic Guild Channel * @category Structure */ export declare class ChannelGuildBase extends ChannelBase { readonly _keys: BaseSet<string>; readonly _keysMerge: BaseSet<string>; type: ChannelTypes; guildId: string; parentId: null | string; position: number; rateLimitPerUser: number; constructor(client: ShardClient, data?: BaseStructureData, isClone?: boolean); get canAddReactions(): boolean; get canAttachFiles(): boolean; get canDeafenMembers(): boolean; get canEdit(): boolean; get canEmbedLinks(): boolean; get canJoin(): boolean; get canManageMessages(): boolean; get canManageWebhooks(): boolean; get canManageThreads(): boolean; get canMentionEveryone(): boolean; get canMessage(): boolean; get canMoveMembers(): boolean; get canMuteMembers(): boolean; get canPrioritySpeaker(): boolean; get canSendTTSMessage(): boolean; get canSpeak(): boolean; get canStream(): boolean; get canReadHistory(): boolean; get canUseExternalEmojis(): boolean; get canUsePrivateThreads(): boolean; get canUsePublicThreads(): boolean; get canUseVAD(): boolean; get canView(): boolean; get guild(): Guild | null; get jumpLink(): string; can(permissions: PermissionTools.PermissionChecks, memberOrRole?: Member | Role, { ignoreAdministrator, ignoreOwner }?: { ignoreAdministrator?: boolean; ignoreOwner?: boolean; }): boolean; isSyncedWith(parent: ChannelGuildCategory | null): boolean; mergeValue(key: string, value: any): void; } /** * Guild Category Channel * @category Structure */ export declare class ChannelGuildCategory extends ChannelGuildBase { readonly _keys: BaseSet<string>; type: ChannelTypes; constructor(client: ShardClient, data?: BaseStructureData, isClone?: boolean); get children(): BaseCollection<string, ChannelGuildType>; } /** * Guild Text Channel, it can also be a news channel. * @category Structure */ export declare class ChannelGuildText extends ChannelGuildBase { readonly _keys: BaseSet<string>; type: ChannelTypes; lastMessageId: null | string; topic: null | string; constructor(client: ShardClient, data?: BaseStructureData, isClone?: boolean); get members(): BaseCollection<string, Member>; get messages(): BaseCollection<string, Message>; mergeValue(key: string, value: any): void; } /** * Guild Voice Channel * @category Structure */ export declare class ChannelGuildVoice extends ChannelGuildBase { readonly _keys: BaseSet<string>; type: ChannelTypes; bitrate: number; rtcRegion: string | null; userLimit: number; videoQualityMode: ChannelVideoQualityModes; constructor(client: ShardClient, data?: BaseStructureData, isClone?: boolean); get joined(): boolean; get members(): BaseCollection<string, Member>; get voiceStates(): BaseCollection<string, VoiceState>; } /** * Guild Store Channel * @category Structure */ export declare class ChannelGuildStore extends ChannelGuildBase { readonly _keys: BaseSet<string>; type: ChannelTypes; bitrate: number; userLimit: number; constructor(client: ShardClient, data?: BaseStructureData, isClone?: boolean); } /** * Guild Stage Voice Channel * @category Structure */ export declare class ChannelGuildStageVoice extends ChannelGuildVoice { readonly _keys: BaseSet<string>; type: ChannelTypes; topic: null | string; constructor(client: ShardClient, data?: BaseStructureData, isClone?: boolean); } /** * Guild Thread Channel * @category Structure */ export declare class ChannelGuildThread extends ChannelGuildBase { readonly _keys: BaseSet<string>; type: ChannelTypes; member?: ThreadMember; memberCount: number; messageCount: number; ownerId: string; threadMetadata: ThreadMetadata; constructor(client: ShardClient, data?: BaseStructureData, isClone?: boolean); get nsfw(): boolean; mergeValue(key: string, value: any): void; }