guilded.ts
Version:
A powerful NPM module that allows you to easily interact with the Guilded API.
166 lines • 6.46 kB
TypeScript
import { APIChannel, APIChannelEditPayload, ChannelType } from 'guilded-api-typings';
import { Base } from '../Base';
import { Client } from '../Client';
import { ChannelWebhookManager } from '../../managers/channel/ChannelWebhookManager';
import { FetchOptions } from '../../managers/BaseManager';
/**
* Represents a channel on Guilded.
* @example new Channel(client, rawChannel);
*/
export declare class Channel extends Base {
readonly raw: APIChannel;
/** The type of the channel. */
readonly type: ChannelType;
/** The name of the channel. */
readonly name: string;
/** The topic of the channel. */
readonly topic?: string;
/** The date the channel was created. */
readonly createdAt: Date;
/** The ID of the user that created the channel. */
readonly createdBy: string;
/** The date the channel was edited. */
readonly editedAt?: Date;
/** The ID of the server the channel belongs to. */
readonly serverId: string;
/** The ID of the parent channel the channel belongs to. */
readonly parantId?: string;
/** The ID of the category the channel belongs to. */
readonly categoryId?: number;
/** The ID of the group the channel belongs to. */
readonly groupId: string;
/** Whether the channel is public. */
readonly isPublic?: boolean;
/** The ID of the user that archived the channel. */
readonly archivedBy?: string;
/** The date the channel was archived. */
readonly archivedAt?: Date;
/** The manager of webhooks that belong to the channel. */
readonly webhooks: ChannelWebhookManager;
/**
* @param client The client the channel belongs to.
* @param raw The raw data of the channel.
* @param cache Whether to cache the channel.
*/
constructor(client: Client, raw: APIChannel, cache?: boolean);
/** Whether the channel is cached. */
get isCached(): boolean;
/** The timestamp the channel was created. */
get createdTimestamp(): number;
/** The server member that created the channel. */
get creator(): import("../..").ServerMember | undefined;
/** The timestamp the channel was edited. */
get editedTimestamp(): number | undefined;
/** The server the channel belongs to. */
get server(): import("../..").Server | undefined;
/** The parent channel the channel belongs to. */
get parent(): Channel | undefined;
/** The group the channel belongs to. */
get group(): import("../Group").Group | undefined;
/** The server member that archived the channel. */
get archiver(): import("../..").ServerMember | undefined;
/** The timestamp the channel was archived. */
get archivedTimestamp(): number | undefined;
/** Whether the channel is archived. */
get isArchived(): boolean;
/** Whether the channel is a announcement channel. */
get isAnnouncement(): boolean;
/** Whther the channel is a chat channel. */
get isChat(): boolean;
/** Whether the channel is chat based. */
get isChatBased(): boolean;
/** Whther the channel is a calendar channel. */
get isCalendar(): boolean;
/** Whther the channel is a forum channel. */
get isForum(): boolean;
/** Whther the channel is a media channel. */
get isMedia(): boolean;
/** Whther the channel is a doc channel. */
get isDoc(): boolean;
/** Whther the channel is a voice channel. */
get isVoice(): boolean;
/** Whther the channel is a list channel. */
get isList(): boolean;
/** Whther the channel is a schedule channel. */
get isSchedule(): boolean;
/** Whther the channel is a stream channel. */
get isStream(): boolean;
/**
* Fetch the channel.
* @param options The options to fetch the channel with.
* @returns The fetched channel.
* @example channel.fetch();
*/
fetch(options?: FetchOptions): Promise<this>;
/**
* Fetch the server member that created the channel.
* @param options The options to fetch the server member with.
* @returns The fetched server member.
* @example channel.fetchCreator();
*/
fetchCreator(options?: FetchOptions): Promise<import("../..").ServerMember>;
/**
* Fetch the server the channel belongs to.
* @param options The options to fetch the server with.
* @returns The fetched server.
* @example channel.fetchServer();
*/
fetchServer(options?: FetchOptions): Promise<import("../..").Server>;
/**
* Fetch the parent channel the channel belongs to.
* @param options The options to fetch the channel with.
* @returns The fetched channel.
* @example channel.fetchParent();
*/
fetchParent(options?: FetchOptions): Promise<Channel> | undefined;
/**
* Fetch the group the channel belongs to.
* @param options The options to fetch the group with.
* @returns The fetched group.
* @example channel.fetchGroup();
*/
fetchGroup(options?: FetchOptions): import("../Group").Group;
/**
* Fetch the server member that archived the channel.
* @param options The options to fetch the server member with.
* @returns The fetched server member.
* @example channel.fetchArchiver();
*/
fetchArchiver(options?: FetchOptions): Promise<import("../..").ServerMember | undefined>;
/**
* Edit the channel.
* @param payload The payload of the channel.
* @returns The edited channel.
* @example channel.edit({ name: 'Chat' });
*/
edit(payload: APIChannelEditPayload): Promise<this>;
/**
* Set the name of the channel.
* @param name The name of the channel.
* @returns The edited channel.
* @example channel.setName('Chat');
*/
setName(name: string): Promise<this>;
/**
* Set the topic of the channel.
* @param topic The topic of the channel.
* @returns The edited channel.
* @example channel.setTopic('This is a topic');
*/
setTopic(topic: string): Promise<this>;
/**
* Set whether the channel is public.
* @param isPublic Whether the channel is public.
* @returns The edited channel.
* @example channel.setPublic(true);
*/
setPublic(isPublic: boolean): Promise<this>;
/**
* Delete the channel.
* @returns The deleted channel.
* @example channel.delete();
*/
delete(): Promise<this>;
}
export { ChannelType };
//# sourceMappingURL=Channel.d.ts.map