mirror of
https://github.com/tiramisulabs/seyfert.git
synced 2025-07-02 21:16:09 +00:00
fix: fmt
This commit is contained in:
parent
dca91be86e
commit
c76982541e
@ -6,7 +6,7 @@ import type { DiscordAttachment } from "../vendor/external.ts";
|
|||||||
/**
|
/**
|
||||||
* Represents an attachment
|
* Represents an attachment
|
||||||
* @link https://discord.com/developers/docs/resources/channel#attachment-object
|
* @link https://discord.com/developers/docs/resources/channel#attachment-object
|
||||||
* */
|
*/
|
||||||
export class Attachment implements Model {
|
export class Attachment implements Model {
|
||||||
constructor(session: Session, data: DiscordAttachment) {
|
constructor(session: Session, data: DiscordAttachment) {
|
||||||
this.session = session;
|
this.session = session;
|
||||||
@ -19,7 +19,7 @@ export class Attachment implements Model {
|
|||||||
this.size = data.size;
|
this.size = data.size;
|
||||||
this.height = data.height ? data.height : undefined;
|
this.height = data.height ? data.height : undefined;
|
||||||
this.width = data.width ? data.width : undefined;
|
this.width = data.width ? data.width : undefined;
|
||||||
this.ephemeral = !!data.ephemeral
|
this.ephemeral = !!data.ephemeral;
|
||||||
}
|
}
|
||||||
|
|
||||||
readonly session: Session;
|
readonly session: Session;
|
||||||
|
@ -6,7 +6,7 @@ import { iconHashToBigInt } from "../util/hash.ts";
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Class for {@link Guild} and {@link AnonymousGuild}
|
* Class for {@link Guild} and {@link AnonymousGuild}
|
||||||
* */
|
*/
|
||||||
export abstract class BaseGuild implements Model {
|
export abstract class BaseGuild implements Model {
|
||||||
constructor(session: Session, data: DiscordGuild) {
|
constructor(session: Session, data: DiscordGuild) {
|
||||||
this.session = session;
|
this.session = session;
|
||||||
@ -37,4 +37,3 @@ export abstract class BaseGuild implements Model {
|
|||||||
return this.name;
|
return this.name;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import type { Model } from "./Base.ts";
|
import type { Model } from "./Base.ts";
|
||||||
import { Snowflake, Session, DiscordChannel, ChannelTypes } from "../mod.ts";
|
import { ChannelTypes, DiscordChannel, Session, Snowflake } from "../mod.ts";
|
||||||
|
|
||||||
export abstract class Channel implements Model {
|
export abstract class Channel implements Model {
|
||||||
constructor(session: Session, data: DiscordChannel) {
|
constructor(session: Session, data: DiscordChannel) {
|
||||||
@ -12,5 +12,4 @@ export abstract class Channel implements Model {
|
|||||||
readonly session: Session;
|
readonly session: Session;
|
||||||
readonly name: string | undefined;
|
readonly name: string | undefined;
|
||||||
readonly type: ChannelTypes;
|
readonly type: ChannelTypes;
|
||||||
|
}
|
||||||
}
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
import { Channel } from "./Channel.ts";
|
import { Channel } from "./Channel.ts";
|
||||||
//import { User } from "./User.ts";
|
//import { User } from "./User.ts";
|
||||||
import { Session, DiscordChannel, Snowflake, Routes } from "../mod.ts";
|
import { DiscordChannel, Routes, Session, Snowflake } from "../mod.ts";
|
||||||
|
|
||||||
export class DMChannel extends Channel {
|
export class DMChannel extends Channel {
|
||||||
constructor(session: Session, data: DiscordChannel) {
|
constructor(session: Session, data: DiscordChannel) {
|
||||||
@ -15,8 +15,8 @@ export class DMChannel extends Channel {
|
|||||||
const channel = await this.session.rest.runMethod<DiscordChannel>(
|
const channel = await this.session.rest.runMethod<DiscordChannel>(
|
||||||
this.session.rest,
|
this.session.rest,
|
||||||
"DELETE",
|
"DELETE",
|
||||||
Routes.CHANNEL(this.id)
|
Routes.CHANNEL(this.id),
|
||||||
)
|
);
|
||||||
return new DMChannel(this.session, channel);
|
return new DMChannel(this.session, channel);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2,8 +2,12 @@ import type { Model } from "./Base.ts";
|
|||||||
import type { Snowflake } from "../util/Snowflake.ts";
|
import type { Snowflake } from "../util/Snowflake.ts";
|
||||||
import type { Session } from "../session/Session.ts";
|
import type { Session } from "../session/Session.ts";
|
||||||
import type { DiscordGuild, DiscordRole } from "../vendor/external.ts";
|
import type { DiscordGuild, DiscordRole } from "../vendor/external.ts";
|
||||||
import { DefaultMessageNotificationLevels, ExplicitContentFilterLevels, VerificationLevels } from "../vendor/external.ts";
|
import {
|
||||||
import { iconHashToBigInt, iconBigintToHash } from "../util/hash.ts";
|
DefaultMessageNotificationLevels,
|
||||||
|
ExplicitContentFilterLevels,
|
||||||
|
VerificationLevels,
|
||||||
|
} from "../vendor/external.ts";
|
||||||
|
import { iconBigintToHash, iconHashToBigInt } from "../util/hash.ts";
|
||||||
import { Member } from "./Member.ts";
|
import { Member } from "./Member.ts";
|
||||||
import { BaseGuild } from "./BaseGuild.ts";
|
import { BaseGuild } from "./BaseGuild.ts";
|
||||||
import { Role } from "./Role.ts";
|
import { Role } from "./Role.ts";
|
||||||
@ -21,7 +25,7 @@ export interface CreateRole {
|
|||||||
/**
|
/**
|
||||||
* Represents a guild
|
* Represents a guild
|
||||||
* @link https://discord.com/developers/docs/resources/guild#guild-object
|
* @link https://discord.com/developers/docs/resources/guild#guild-object
|
||||||
* */
|
*/
|
||||||
export class Guild extends BaseGuild implements Model {
|
export class Guild extends BaseGuild implements Model {
|
||||||
constructor(session: Session, data: DiscordGuild) {
|
constructor(session: Session, data: DiscordGuild) {
|
||||||
super(session, data);
|
super(session, data);
|
||||||
@ -55,8 +59,7 @@ export class Guild extends BaseGuild implements Model {
|
|||||||
if (options.iconHash) {
|
if (options.iconHash) {
|
||||||
if (typeof options.iconHash === "string") {
|
if (typeof options.iconHash === "string") {
|
||||||
icon = options.iconHash;
|
icon = options.iconHash;
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
icon = iconBigintToHash(options.iconHash);
|
icon = iconBigintToHash(options.iconHash);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -72,7 +75,7 @@ export class Guild extends BaseGuild implements Model {
|
|||||||
unicode_emoji: options.unicodeEmoji,
|
unicode_emoji: options.unicodeEmoji,
|
||||||
hoist: options.hoist,
|
hoist: options.hoist,
|
||||||
mentionable: options.mentionable,
|
mentionable: options.mentionable,
|
||||||
}
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
return new Role(this.session, this, role);
|
return new Role(this.session, this, role);
|
||||||
|
@ -2,29 +2,28 @@ import { Channel } from "./Channel.ts";
|
|||||||
import { Guild } from "./Guild.ts";
|
import { Guild } from "./Guild.ts";
|
||||||
import { DiscordChannel, Routes, Session, Snowflake } from "../mod.ts";
|
import { DiscordChannel, Routes, Session, Snowflake } from "../mod.ts";
|
||||||
|
|
||||||
|
|
||||||
export class GuildChannel extends Channel {
|
export class GuildChannel extends Channel {
|
||||||
constructor(session: Session, data: DiscordChannel, guildId: Guild["id"]) {
|
constructor(session: Session, data: DiscordChannel, guildId: Guild["id"]) {
|
||||||
super(session, data);
|
super(session, data);
|
||||||
this.guildId = guildId;
|
this.guildId = guildId;
|
||||||
this.position = data.position;
|
this.position = data.position;
|
||||||
data.topic ? this.topic = data.topic : null;
|
data.topic ? this.topic = data.topic : null;
|
||||||
data.parent_id ? this.parentId = data.parent_id : undefined;
|
data.parent_id ? this.parentId = data.parent_id : undefined;
|
||||||
}
|
}
|
||||||
|
|
||||||
guildId: Snowflake;
|
guildId: Snowflake;
|
||||||
topic?: string;
|
topic?: string;
|
||||||
position?: number;
|
position?: number;
|
||||||
parentId?: Snowflake;
|
parentId?: Snowflake;
|
||||||
|
|
||||||
delete(reason?: string) {
|
delete(reason?: string) {
|
||||||
return this.session.rest.runMethod<DiscordChannel>(
|
return this.session.rest.runMethod<DiscordChannel>(
|
||||||
this.session.rest,
|
this.session.rest,
|
||||||
"DELETE",
|
"DELETE",
|
||||||
Routes.CHANNEL(this.id),
|
Routes.CHANNEL(this.id),
|
||||||
{
|
{
|
||||||
reason,
|
reason,
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -9,19 +9,19 @@ import { User } from "./User.ts";
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @link https://discord.com/developers/docs/resources/guild#create-guild-ban
|
* @link https://discord.com/developers/docs/resources/guild#create-guild-ban
|
||||||
* */
|
*/
|
||||||
export interface CreateGuildBan {
|
export interface CreateGuildBan {
|
||||||
/** Number of days to delete messages for (0-7) */
|
/** Number of days to delete messages for (0-7) */
|
||||||
deleteMessageDays?: 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7;
|
deleteMessageDays?: 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7;
|
||||||
/** Reason for the ban */
|
/** Reason for the ban */
|
||||||
reason?: string;
|
reason?: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Represents a guild member
|
* Represents a guild member
|
||||||
* TODO: add a `guild` property somehow
|
* TODO: add a `guild` property somehow
|
||||||
* @link https://discord.com/developers/docs/resources/guild#guild-member-object
|
* @link https://discord.com/developers/docs/resources/guild#guild-member-object
|
||||||
* */
|
*/
|
||||||
export class Member implements Model {
|
export class Member implements Model {
|
||||||
constructor(session: Session, data: MakeRequired<DiscordMember, "user">) {
|
constructor(session: Session, data: MakeRequired<DiscordMember, "user">) {
|
||||||
this.session = session;
|
this.session = session;
|
||||||
@ -33,7 +33,9 @@ export class Member implements Model {
|
|||||||
this.deaf = !!data.deaf;
|
this.deaf = !!data.deaf;
|
||||||
this.mute = !!data.mute;
|
this.mute = !!data.mute;
|
||||||
this.pending = !!data.pending;
|
this.pending = !!data.pending;
|
||||||
this.communicationDisabledUntilTimestamp = data.communication_disabled_until ? Number.parseInt(data.communication_disabled_until) : undefined;
|
this.communicationDisabledUntilTimestamp = data.communication_disabled_until
|
||||||
|
? Number.parseInt(data.communication_disabled_until)
|
||||||
|
: undefined;
|
||||||
}
|
}
|
||||||
|
|
||||||
readonly session: Session;
|
readonly session: Session;
|
||||||
@ -63,16 +65,18 @@ export class Member implements Model {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Bans the member
|
* Bans the member
|
||||||
* */
|
*/
|
||||||
async ban(guildId: Snowflake, options: CreateGuildBan): Promise<Member> {
|
async ban(guildId: Snowflake, options: CreateGuildBan): Promise<Member> {
|
||||||
await this.session.rest.runMethod<undefined>(
|
await this.session.rest.runMethod<undefined>(
|
||||||
this.session.rest,
|
this.session.rest,
|
||||||
"PUT",
|
"PUT",
|
||||||
Routes.GUILD_BAN(guildId, this.id),
|
Routes.GUILD_BAN(guildId, this.id),
|
||||||
options ? {
|
options
|
||||||
delete_message_days: options.deleteMessageDays,
|
? {
|
||||||
reason: options.reason
|
delete_message_days: options.deleteMessageDays,
|
||||||
} : {}
|
reason: options.reason,
|
||||||
|
}
|
||||||
|
: {},
|
||||||
);
|
);
|
||||||
|
|
||||||
return this;
|
return this;
|
||||||
@ -80,13 +84,13 @@ export class Member implements Model {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Kicks the member
|
* Kicks the member
|
||||||
* */
|
*/
|
||||||
async kick(guildId: Snowflake, { reason }: { reason?: string }): Promise<Member> {
|
async kick(guildId: Snowflake, { reason }: { reason?: string }): Promise<Member> {
|
||||||
await this.session.rest.runMethod<undefined>(
|
await this.session.rest.runMethod<undefined>(
|
||||||
this.session.rest,
|
this.session.rest,
|
||||||
"DELETE",
|
"DELETE",
|
||||||
Routes.GUILD_MEMBER(guildId, this.id),
|
Routes.GUILD_MEMBER(guildId, this.id),
|
||||||
{ reason }
|
{ reason },
|
||||||
);
|
);
|
||||||
|
|
||||||
return this;
|
return this;
|
||||||
|
@ -55,10 +55,12 @@ export class Message implements Model {
|
|||||||
this.attachments = data.attachments.map((attachment) => new Attachment(session, attachment));
|
this.attachments = data.attachments.map((attachment) => new Attachment(session, attachment));
|
||||||
|
|
||||||
// user is always null on MessageCreate and its replaced with author
|
// user is always null on MessageCreate and its replaced with author
|
||||||
this.member = data.member ? new Member(session, {
|
this.member = data.member
|
||||||
...data.member,
|
? new Member(session, {
|
||||||
user: data.author,
|
...data.member,
|
||||||
}) : undefined;
|
user: data.author,
|
||||||
|
})
|
||||||
|
: undefined;
|
||||||
}
|
}
|
||||||
|
|
||||||
readonly session: Session;
|
readonly session: Session;
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
import { Guild } from "./Guild.ts";
|
import { Guild } from "./Guild.ts";
|
||||||
import { TextChannel } from "./TextChannel.ts"
|
import { TextChannel } from "./TextChannel.ts";
|
||||||
import { Session, DiscordChannel } from "../mod.ts";
|
import { DiscordChannel, Session } from "../mod.ts";
|
||||||
|
|
||||||
export class NewsChannel extends TextChannel {
|
export class NewsChannel extends TextChannel {
|
||||||
constructor(session: Session, data: DiscordChannel , guildId: Guild["id"]) {
|
constructor(session: Session, data: DiscordChannel, guildId: Guild["id"]) {
|
||||||
super(session, data, guildId);
|
super(session, data, guildId);
|
||||||
this.defaultAutoArchiveDuration = data.default_auto_archive_duration;
|
this.defaultAutoArchiveDuration = data.default_auto_archive_duration;
|
||||||
}
|
}
|
||||||
defaultAutoArchiveDuration?: number;
|
defaultAutoArchiveDuration?: number;
|
||||||
}
|
}
|
||||||
|
@ -39,7 +39,7 @@ export class Role implements Model {
|
|||||||
}
|
}
|
||||||
|
|
||||||
get hexColor() {
|
get hexColor() {
|
||||||
return `#${this.color.toString(16).padStart(6, '0')}`;
|
return `#${this.color.toString(16).padStart(6, "0")}`;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -2,15 +2,8 @@ import { GuildChannel } from "./GuildChannel.ts";
|
|||||||
import { Guild } from "./Guild.ts";
|
import { Guild } from "./Guild.ts";
|
||||||
import { ThreadChannel } from "./ThreadChannel.ts";
|
import { ThreadChannel } from "./ThreadChannel.ts";
|
||||||
import { Message } from "./Message.ts";
|
import { Message } from "./Message.ts";
|
||||||
import {
|
import { DiscordChannel, DiscordInviteCreate, DiscordMessage, Routes, Session, Snowflake } from "../mod.ts";
|
||||||
DiscordChannel,
|
import { GetMessagesOptions } from "../util/Routes.ts";
|
||||||
DiscordInviteCreate,
|
|
||||||
Routes,
|
|
||||||
Session,
|
|
||||||
Snowflake,
|
|
||||||
DiscordMessage
|
|
||||||
} from "../mod.ts";
|
|
||||||
import { GetMessagesOptions } from "../util/Routes.ts"
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Represents the options object to create an invitation
|
* Represents the options object to create an invitation
|
||||||
@ -18,11 +11,11 @@ import { GetMessagesOptions } from "../util/Routes.ts"
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
export interface DiscordInvite {
|
export interface DiscordInvite {
|
||||||
max_age?: number;
|
max_age?: number;
|
||||||
max_uses?: number;
|
max_uses?: number;
|
||||||
unique?: boolean;
|
unique?: boolean;
|
||||||
temporary: boolean;
|
temporary: boolean;
|
||||||
reason?: string;
|
reason?: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -31,70 +24,70 @@ export interface DiscordInvite {
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
export interface ThreadCreateOptions {
|
export interface ThreadCreateOptions {
|
||||||
name: string;
|
name: string;
|
||||||
autoArchiveDuration: 60 | 1440 | 4320 | 10080;
|
autoArchiveDuration: 60 | 1440 | 4320 | 10080;
|
||||||
type: 10 | 11 | 12;
|
type: 10 | 11 | 12;
|
||||||
invitable?: boolean;
|
invitable?: boolean;
|
||||||
reason?: string;
|
reason?: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
export class TextChannel extends GuildChannel {
|
export class TextChannel extends GuildChannel {
|
||||||
constructor(session: Session, data: DiscordChannel, guildId: Guild["id"]) {
|
constructor(session: Session, data: DiscordChannel, guildId: Guild["id"]) {
|
||||||
super(session, data, guildId);
|
super(session, data, guildId);
|
||||||
data.last_message_id ? this.lastMessageId = data.last_message_id : undefined;
|
data.last_message_id ? this.lastMessageId = data.last_message_id : undefined;
|
||||||
data.last_pin_timestamp ? this.lastPinTimestamp = data.last_pin_timestamp : undefined;
|
data.last_pin_timestamp ? this.lastPinTimestamp = data.last_pin_timestamp : undefined;
|
||||||
this.rateLimitPerUser = data.rate_limit_per_user ?? 0;
|
this.rateLimitPerUser = data.rate_limit_per_user ?? 0;
|
||||||
this.nsfw = !!data.nsfw ?? false;
|
this.nsfw = !!data.nsfw ?? false;
|
||||||
}
|
}
|
||||||
|
|
||||||
lastMessageId?: Snowflake;
|
lastMessageId?: Snowflake;
|
||||||
lastPinTimestamp?: string;
|
lastPinTimestamp?: string;
|
||||||
rateLimitPerUser: number;
|
rateLimitPerUser: number;
|
||||||
nsfw: boolean;
|
nsfw: boolean;
|
||||||
|
|
||||||
async fetchPins(): Promise<Message[] | []> {
|
async fetchPins(): Promise<Message[] | []> {
|
||||||
const messages = await this.session.rest.runMethod<DiscordMessage[]>(
|
const messages = await this.session.rest.runMethod<DiscordMessage[]>(
|
||||||
this.session.rest,
|
this.session.rest,
|
||||||
"GET",
|
"GET",
|
||||||
Routes.CHANNEL_PINS(this.id),
|
Routes.CHANNEL_PINS(this.id),
|
||||||
);
|
);
|
||||||
return messages[0] ? messages.map((x: DiscordMessage) => new Message(this.session, x)) : [];
|
return messages[0] ? messages.map((x: DiscordMessage) => new Message(this.session, x)) : [];
|
||||||
}
|
}
|
||||||
// TODO return Invite Class
|
// TODO return Invite Class
|
||||||
createInvite(options?: DiscordInvite) {
|
createInvite(options?: DiscordInvite) {
|
||||||
return this.session.rest.runMethod<DiscordInviteCreate>(
|
return this.session.rest.runMethod<DiscordInviteCreate>(
|
||||||
this.session.rest,
|
this.session.rest,
|
||||||
"POST",
|
"POST",
|
||||||
Routes.CHANNEL_INVITES(this.id),
|
Routes.CHANNEL_INVITES(this.id),
|
||||||
options,
|
options,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
async createThread(options: ThreadCreateOptions): Promise<ThreadChannel> {
|
async createThread(options: ThreadCreateOptions): Promise<ThreadChannel> {
|
||||||
const thread = await this.session.rest.runMethod<DiscordChannel>(
|
const thread = await this.session.rest.runMethod<DiscordChannel>(
|
||||||
this.session.rest,
|
this.session.rest,
|
||||||
"POST",
|
"POST",
|
||||||
Routes.CHANNEL_CREATE_THREAD(this.id),
|
Routes.CHANNEL_CREATE_THREAD(this.id),
|
||||||
options,
|
options,
|
||||||
);
|
);
|
||||||
return new ThreadChannel(this.session, thread, this.guildId);
|
return new ThreadChannel(this.session, thread, this.guildId);
|
||||||
}
|
}
|
||||||
|
|
||||||
async fetchMessages(options?: GetMessagesOptions): Promise<Message[] | []> {
|
async fetchMessages(options?: GetMessagesOptions): Promise<Message[] | []> {
|
||||||
if (options?.limit! > 100) throw Error("Values must be between 0-100")
|
if (options?.limit! > 100) throw Error("Values must be between 0-100");
|
||||||
const messages = await this.session.rest.runMethod<DiscordMessage[]>(
|
const messages = await this.session.rest.runMethod<DiscordMessage[]>(
|
||||||
this.session.rest,
|
this.session.rest,
|
||||||
"GET",
|
"GET",
|
||||||
Routes.CHANNEL_MESSAGES(this.id, options)
|
Routes.CHANNEL_MESSAGES(this.id, options),
|
||||||
)
|
);
|
||||||
return messages[0] ? messages.map((x) => new Message(this.session, x)) : [];
|
return messages[0] ? messages.map((x) => new Message(this.session, x)) : [];
|
||||||
}
|
}
|
||||||
|
|
||||||
sendTyping() {
|
sendTyping() {
|
||||||
this.session.rest.runMethod<undefined>(
|
this.session.rest.runMethod<undefined>(
|
||||||
this.session.rest,
|
this.session.rest,
|
||||||
"POST",
|
"POST",
|
||||||
Routes.CHANNEL_TYPING(this.id),
|
Routes.CHANNEL_TYPING(this.id),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -3,21 +3,21 @@ import { Guild } from "./Guild.ts";
|
|||||||
import { DiscordChannel, Session, Snowflake } from "../mod.ts";
|
import { DiscordChannel, Session, Snowflake } from "../mod.ts";
|
||||||
|
|
||||||
export class ThreadChannel extends GuildChannel {
|
export class ThreadChannel extends GuildChannel {
|
||||||
constructor(session: Session, data: DiscordChannel, guildId: Guild["id"]) {
|
constructor(session: Session, data: DiscordChannel, guildId: Guild["id"]) {
|
||||||
super(session, data, guildId);
|
super(session, data, guildId);
|
||||||
this.archived = !!data.thread_metadata?.archived;
|
this.archived = !!data.thread_metadata?.archived;
|
||||||
this.archiveTimestamp = data.thread_metadata?.archive_timestamp;
|
this.archiveTimestamp = data.thread_metadata?.archive_timestamp;
|
||||||
this.autoArchiveDuration = data.thread_metadata?.auto_archive_duration;
|
this.autoArchiveDuration = data.thread_metadata?.auto_archive_duration;
|
||||||
this.locked = !!data.thread_metadata?.locked;
|
this.locked = !!data.thread_metadata?.locked;
|
||||||
this.messageCount = data.message_count;
|
this.messageCount = data.message_count;
|
||||||
this.memberCount = data.member_count;
|
this.memberCount = data.member_count;
|
||||||
this.ownerId = data.owner_id;
|
this.ownerId = data.owner_id;
|
||||||
}
|
}
|
||||||
archived?: boolean;
|
archived?: boolean;
|
||||||
archiveTimestamp?: string;
|
archiveTimestamp?: string;
|
||||||
autoArchiveDuration?: number;
|
autoArchiveDuration?: number;
|
||||||
locked?: boolean;
|
locked?: boolean;
|
||||||
messageCount?: number;
|
messageCount?: number;
|
||||||
memberCount?: number;
|
memberCount?: number;
|
||||||
ownerId?: Snowflake;
|
ownerId?: Snowflake;
|
||||||
}
|
}
|
||||||
|
@ -1,20 +1,20 @@
|
|||||||
import { GuildChannel } from "./GuildChannel.ts";
|
import { GuildChannel } from "./GuildChannel.ts";
|
||||||
import { Guild } from "./Guild.ts";
|
import { Guild } from "./Guild.ts";
|
||||||
import { DiscordChannel, Session, VideoQualityModes, Snowflake } from "../mod.ts";
|
import { DiscordChannel, Session, Snowflake, VideoQualityModes } from "../mod.ts";
|
||||||
|
|
||||||
export class VoiceChannel extends GuildChannel {
|
export class VoiceChannel extends GuildChannel {
|
||||||
constructor(session: Session, data: DiscordChannel, guild: Guild) {
|
constructor(session: Session, data: DiscordChannel, guild: Guild) {
|
||||||
super(session, data, guild);
|
super(session, data, guild);
|
||||||
this.bitRate = data.bitrate;
|
this.bitRate = data.bitrate;
|
||||||
this.userLimit = data.user_limit ?? 0;
|
this.userLimit = data.user_limit ?? 0;
|
||||||
data.rtc_region ? this.rtcRegion = data.rtc_region : undefined;
|
data.rtc_region ? this.rtcRegion = data.rtc_region : undefined;
|
||||||
this.videoQuality = data.video_quality_mode;
|
this.videoQuality = data.video_quality_mode;
|
||||||
this.nsfw = !!data.nsfw;
|
this.nsfw = !!data.nsfw;
|
||||||
}
|
}
|
||||||
bitRate?: number;
|
bitRate?: number;
|
||||||
userLimit: number;
|
userLimit: number;
|
||||||
rtcRegion?: Snowflake;
|
rtcRegion?: Snowflake;
|
||||||
|
|
||||||
videoQuality?: VideoQualityModes;
|
videoQuality?: VideoQualityModes;
|
||||||
nsfw?: boolean;
|
nsfw?: boolean;
|
||||||
}
|
}
|
||||||
|
@ -80,9 +80,9 @@ export function GUILD_BAN(guildId: Snowflake, userId: Snowflake) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export interface GetBans {
|
export interface GetBans {
|
||||||
limit?: number;
|
limit?: number;
|
||||||
before?: Snowflake;
|
before?: Snowflake;
|
||||||
after?: Snowflake;
|
after?: Snowflake;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** used to unban members */
|
/** used to unban members */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user