UNPKG

seyfert

Version:

The most advanced framework for discord bots

40 lines (39 loc) 2.75 kB
import type { ThreadChannelStructure } from '../../client/transformers'; import type { APIThreadMember, RESTGetAPIChannelThreadMembersQuery, RESTGetAPIChannelThreadsArchivedQuery, RESTPatchAPIChannelJSONBody, RESTPostAPIChannelMessagesThreadsJSONBody, RESTPostAPIChannelThreadsJSONBody, RESTPostAPIGuildForumThreadsJSONBody } from '../../types'; import type { MakeRequired, When } from '../types/util'; import { BaseShorter } from './base'; export declare class ThreadShorter extends BaseShorter { /** * Creates a new thread in the channel (only guild based channels). * @param channelId The ID of the parent channel. * @param reason The reason for unpinning the message. * @returns A promise that resolves when the thread is succesfully created. */ create(channelId: string, body: RESTPostAPIChannelThreadsJSONBody | RESTPostAPIGuildForumThreadsJSONBody, reason?: string): Promise<ThreadChannelStructure>; fromMessage(channelId: string, messageId: string, options: RESTPostAPIChannelMessagesThreadsJSONBody & { reason?: string; }): Promise<ThreadChannelStructure>; join(threadId: string): Promise<never>; leave(threadId: string): Promise<never>; lock(threadId: string, locked?: boolean, reason?: string): Promise<ThreadChannelStructure>; edit(threadId: string, body: RESTPatchAPIChannelJSONBody, reason?: string): Promise<ThreadChannelStructure>; removeMember(threadId: string, memberId: string): Promise<never>; fetchMember<WithMember extends boolean = false>(threadId: string, memberId: string, with_member: WithMember): Promise<When<WithMember, Required<APIThreadMember>, GetAPIChannelThreadMemberResult>>; addMember(threadId: string, memberId: string): Promise<never>; listMembers<T extends RESTGetAPIChannelThreadMembersQuery = RESTGetAPIChannelThreadMembersQuery>(threadId: string, query?: T): Promise<InferWithMemberOnList<T>>; listArchivedThreads(channelId: string, type: 'public' | 'private', query?: RESTGetAPIChannelThreadsArchivedQuery): Promise<{ threads: ThreadChannelStructure[]; members: GetAPIChannelThreadMemberResult[]; hasMore: boolean; }>; listJoinedArchivedPrivate(channelId: string, query?: RESTGetAPIChannelThreadsArchivedQuery): Promise<{ threads: ThreadChannelStructure[]; members: GetAPIChannelThreadMemberResult[]; hasMore: boolean; }>; } export type GetAPIChannelThreadMemberResult = MakeRequired<APIThreadMember, 'id' | 'user_id'>; type InferWithMemberOnList<T extends RESTGetAPIChannelThreadMembersQuery> = T extends { with_member: infer B; } ? B extends true ? Required<APIThreadMember>[] : GetAPIChannelThreadMemberResult[] : GetAPIChannelThreadMemberResult[]; export {};