seyfert/structures/GuildChannel.ts
2022-06-27 22:01:41 -05:00

34 lines
994 B
TypeScript

import type { Snowflake } from "../util/Snowflake.ts";
import type { Session } from "../session/Session.ts";
import type { DiscordChannel } from "../vendor/external.ts";
import Channel from "./Channel.ts";
import * as Routes from "../util/Routes.ts";
export abstract class GuildChannel extends Channel {
constructor(session: Session, data: DiscordChannel, guildId: Snowflake) {
super(session, data);
this.guildId = guildId;
this.position = data.position;
data.topic ? this.topic = data.topic : null;
data.parent_id ? this.parentId = data.parent_id : undefined;
}
guildId: Snowflake;
topic?: string;
position?: number;
parentId?: Snowflake;
async delete(reason?: string) {
await this.session.rest.runMethod<DiscordChannel>(
this.session.rest,
"DELETE",
Routes.CHANNEL(this.id),
{
reason,
},
);
}
}
export default GuildChannel;