UNPKG

guilded.ts

Version:

A powerful NPM module that allows you to easily interact with the Guilded API.

82 lines 3.33 kB
import { BaseManager, FetchManyOptions, FetchOptions } from './BaseManager'; import { ForumChannel } from '../structures/channel/ForumChannel'; import { ForumTopic } from '../structures/ForumTopic'; import { APIForumTopicEditPayload, APIForumTopicFetchManyOptions, APIForumTopicPayload } from 'guilded-api-typings'; import { Collection } from '@discordjs/collection'; /** * The manager of topics that belong to a forum channel. * @example new ForumTopicManager(channel); */ export declare class ForumTopicManager extends BaseManager<number, ForumTopic> { readonly channel: ForumChannel; /** @param channel The forum channel the topics belong to. */ constructor(channel: ForumChannel); /** * Fetch a forum topic from the channel, or cache. * @param forumTopic The forum topic to fetch. * @param options The options to fetch the forum topic with. * @returns The fetched forum topic. * @example topics.fetch(forumTopic); */ fetch(forumTopic: number | ForumTopic, options?: FetchOptions): Promise<ForumTopic>; /** * Fetch forum topics from the channel. * @param options The options to fetch the forum topics with. * @returns The fetched forum topics. * @example topics.fetch(); */ fetch(options?: ForumTopicFetchManyOptions): Promise<Collection<number, ForumTopic>>; /** @ignore */ private fetchSingle; /** @ignore */ private fetchMany; /** * Create a topic in the forum channel. * @param payload The payload of the forum topic. * @returns The created forum topic. * @example topics.create({ title: 'My Topic' }); */ create(payload: APIForumTopicPayload): Promise<ForumTopic>; /** * Edit a forum topic in the channel. * @param forumTopic The forum topic to edit. * @param payload The payload of the forum topic. * @returns The edited forum topic. * @example topics.edit(forumTopic, { title: 'My Topic' }); */ edit(forumTopic: number | ForumTopic, payload: APIForumTopicEditPayload): Promise<ForumTopic>; /** * Delete a forum topic from the channel. * @param forumTopic The forum topic to delete. * @example topics.delete(forumTopic); */ delete(forumTopic: number | ForumTopic): Promise<void>; /** * Pin a forum topic in the channel. * @param forumTopic The forum topic to pin. * @example topics.pin(forumTopic); */ pin(forumTopic: number | ForumTopic): Promise<void>; /** * Unpin a forum topic from the channel. * @param forumTopic The forum topic to unpin. * @example topics.unpin(forumTopic); */ unpin(forumTopic: number | ForumTopic): Promise<void>; /** * Lock a forum topic in the channel. * @param forumTopic The forum topic to lock. * @example topics.lock(forumTopic); */ lock(forumTopic: number | ForumTopic): Promise<void>; /** * Unlock a forum topic in the channel. * @param forumTopic The forum topic to unlock. * @example topics.unlock(forumTopic); */ unlock(forumTopic: number | ForumTopic): Promise<void>; } /** The options for fetching forum topics. */ export interface ForumTopicFetchManyOptions extends FetchManyOptions, APIForumTopicFetchManyOptions { } //# sourceMappingURL=ForumTopicManager.d.ts.map