guilded.ts
Version:
A powerful NPM module that allows you to easily interact with the Guilded API.
82 lines • 3.33 kB
TypeScript
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