guilded.ts
Version:
A powerful NPM module that allows you to easily interact with the Guilded API.
120 lines • 4.58 kB
TypeScript
import { APIForumTopic, APIForumTopicEditPayload, APIForumTopicSummary, APIMentions } from 'guilded-api-typings';
import { FetchOptions } from '../managers/BaseManager';
import { Base } from './Base';
import { ForumChannel } from './channel/ForumChannel';
/**
* Represents a topic on Guilded.
* @example new ForumTopic(channel, rawForumTopic);
*/
export declare class ForumTopic extends Base<number> {
readonly channel: ForumChannel;
readonly raw: APIForumTopic | APIForumTopicSummary;
/** The ID of the server the forum topic belongs to. */
readonly serverId: string;
/** The ID of the channel the forum topic belongs to. */
readonly channelId: string;
/** The title of the forum topic. */
readonly title: string;
/** The date the forum topic was created. */
readonly createdAt: Date;
/** The ID of the user that created the forum topic. */
readonly createdBy: string;
/** The ID of the webhook that created the forum topic. */
readonly createdByWebhookId?: string;
/** The date the forum topic was edited. */
readonly editedAt?: Date;
/** The date the forum topic was bumped. */
readonly bumpedAt?: Date;
/** The content of the forum topic. */
readonly content?: string;
/** The mentions of the forum topic. */
readonly mentions?: APIMentions;
/**
* @param channel The forum channel the topic belongs to.
* @param raw The raw data of the forum topic.
* @param cache Whether to cache the forum topic.
*/
constructor(channel: ForumChannel, raw: APIForumTopic | APIForumTopicSummary, cache?: boolean);
/** Whether the forum topic is cached. */
get isCached(): boolean;
/** The server the forum topic belongs to. */
get server(): import("..").Server | undefined;
/** The timestamp the forum topic was created. */
get createdTimestamp(): number;
/** The server member that created the forum topic. */
get author(): import("..").ServerMember | undefined;
/** The webhook that created the forun topic. */
get webhook(): import("./Webhook").Webhook | undefined;
/** The ID of the user that created the forum topic. */
get authorId(): string;
/** The timestamp the forum topic was edited. */
get editedTimestamp(): number | undefined;
/** The timestamp the forum topic was bumped. */
get bumpedTimestamp(): number | undefined;
/**
* Fetch the forum topic.
* @param options The options to fetch the forum topic with.
* @returns The fetched forum topic.
* @example forumTopic.fetch();
*/
fetch(options?: FetchOptions): Promise<ForumTopic>;
/**
* Fetch the server the forum topic belongs to.
* @param options The options to fetch the server with.
* @returns The fetched server.
* @example forumTopic.fetchServer();
*/
fetchServer(options?: FetchOptions): Promise<import("..").Server>;
/**
* Fetch the server member that created the forum topic.
* @param options The options to fetch the server member with.
* @returns The fetched server member.
* @example forumTopic.fetchAuthor();
*/
fetchAuthor(options?: FetchOptions): Promise<import("..").ServerMember>;
/**
* Fetch the webhook that created the forum topic.
* @param options The options to fetch the webhook with.
* @returns The fetched webhook.
* @example forumTopic.fetchWebhook();
*/
fetchWebhook(options?: FetchOptions): Promise<import("./Webhook").Webhook> | undefined;
/**
* Edit the forum topic.
* @param payload The payload of the forum topic.
* @returns The edited forum topic.
* @example forumTopic.edit({ title: 'New title' });
*/
edit(payload: APIForumTopicEditPayload): Promise<this>;
/**
* Delete the forum topic.
* @returns The deleted forum topic.
* @example forumTopic.delete();
*/
delete(): Promise<this>;
/**
* Pin the forum topic.
* @returns The pinned forum topic.
* @example forumTopic.pin();
*/
pin(): Promise<this>;
/**
* Unpin the forum topic.
* @returns The unpinned forum topic.
* @example forumTopic.unpin();
*/
unpin(): Promise<this>;
/**
* Lock the forum topic.
* @returns The locked forum topic.
* @example forumTopic.lock();
*/
lock(): Promise<this>;
/**
* Unlock the forum topic.
* @returns The unlocked forum topic.
* @example forumTopic.unlock();
*/
unlock(): Promise<this>;
}
//# sourceMappingURL=ForumTopic.d.ts.map