UNPKG

guilded.ts

Version:

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

120 lines 4.58 kB
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