UNPKG

seyfert

Version:

The most advanced framework for discord bots

42 lines (41 loc) 2.81 kB
import type { ThreadChannelStructure } from '../../client/transformers'; import { type APIThreadMember, type RESTGetAPIChannelThreadMembersQuery, type RESTGetAPIChannelThreadsArchivedQuery, type RESTPatchAPIChannelJSONBody, type RESTPostAPIChannelMessagesThreadsJSONBody } from '../../types'; import type { MakeRequired, When } from '../types/util'; import type { ThreadCreateBodyRequest } from '../types/write'; 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: ThreadCreateBodyRequest, reason?: string): Promise<ThreadChannelStructure>; fromMessage(channelId: string, messageId: string, options: RESTPostAPIChannelMessagesThreadsJSONBody & { reason?: string; }): Promise<ThreadChannelStructure>; join(threadId: string): Promise<undefined>; leave(threadId: string): Promise<undefined>; lock(threadId: string, locked?: boolean, reason?: string): Promise<ThreadChannelStructure>; edit(threadId: string, body: RESTPatchAPIChannelJSONBody, reason?: string): Promise<ThreadChannelStructure>; removeMember(threadId: string, memberId: string): Promise<undefined>; fetchMember<WithMember extends boolean = false>(threadId: string, memberId: string, with_member: WithMember): Promise<When<WithMember, Required<APIThreadMember>, GetAPIChannelThreadMemberResult>>; addMember(threadId: string, memberId: string): Promise<undefined>; listMembers<T extends RESTGetAPIChannelThreadMembersQuery = RESTGetAPIChannelThreadMembersQuery>(threadId: string, query?: T): Promise<InferWithMemberOnList<T>>; listArchived(channelId: string, type: 'public' | 'private', query?: RESTGetAPIChannelThreadsArchivedQuery): Promise<{ threads: ThreadChannelStructure[]; members: GetAPIChannelThreadMemberResult[]; hasMore: boolean; }>; listGuildActive(guildId: string, force?: boolean): Promise<ThreadChannelStructure[]>; 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 {};