swc/crates/swc_bundler/tests/.cache/deno/d3ba4b8fd26ecaedc2406d7fe318a8945fb438ff.ts
2021-11-09 20:42:49 +09:00

63 lines
2.8 KiB
TypeScript

// Loaded from https://deno.land/x/discordeno@11.0.0-rc.2/src/types/channels/channel.ts
import { User } from "../users/user.ts";
import { DiscordChannelTypes } from "./channel_types.ts";
import { DiscordOverwrite } from "./overwrite.ts";
import { ThreadMember } from "./threads/thread_member.ts";
import { ThreadMetadata } from "./threads/thread_metadata.ts";
import { DiscordVideoQualityModes } from "./video_quality_modes.ts";
/** https://discord.com/developers/docs/resources/channel#channel-object */
export interface Channel {
/** The id of the channel */
id: string;
/** The type of channel */
type: DiscordChannelTypes;
/** The id of the guild */
guildId?: string;
/** Sorting position of the channel */
position?: number;
/** Explicit permission overwrites for members and roles */
permissionOverwrites?: DiscordOverwrite[];
/** The name of the channel (2-100 characters) */
name?: string;
/** The channel topic (0-1024 characters) */
topic?: string | null;
/** Whether the channel is nsfw */
nsfw?: boolean;
/** The id of the last message sent in this channel (may not point to an existing or valid message) */
lastMessageId?: string | null;
/** The bitrate (in bits) of the voice channel */
bitrate?: number;
/** The user limit of the voice channel */
userLimit?: number;
/** Amount of seconds a user has to wait before sending another message (0-21600); bots, as well as users with the permission `manage_messages` or `manage_channel`, are unaffected */
rateLimitPerUser?: number;
/** The recipients of the DM */
recipients?: User[];
/** Icon hash */
icon?: string | null;
/** Id of the creator of the group DM or thread */
ownerId?: string;
/** Application id of the group DM creator if it is bot-created */
applicationId?: string;
/** For guild channels: Id of the parent category for a channel (each parent category can contain up to 50 channels), for threads: id of the text channel this thread was created */
parentId?: string | null;
/** When the last pinned message was pinned. This may be null in events such as GUILD_CREATE when a message is not pinned. */
lastPinTimestamp?: string | null;
/** Voice region id for the voice channel, automatic when set to null */
rtcRegion?: string | null;
/** The camera video quality mode of the voice channel, 1 when not present */
videoQualityMode?: DiscordVideoQualityModes;
// TODO(threads): consider a ThreadChannel object
/** An approximate count of messages in a thread, stops counting at 50 */
messageCount?: number;
/** An approximate count of users in a thread, stops counting at 50 */
memberCount?: number;
/** Thread-specifig fields not needed by other channels */
threadMetadata?: ThreadMetadata;
/** Thread member object for the current user, if they have joined the thread, only included on certain API endpoints */
member?: ThreadMember;
}