Initial commit
This commit is contained in:
32
src/structures/NewsChannel.js
Normal file
32
src/structures/NewsChannel.js
Normal file
@@ -0,0 +1,32 @@
|
||||
'use strict';
|
||||
|
||||
const { Routes } = require('discord-api-types/v9');
|
||||
const BaseGuildTextChannel = require('./BaseGuildTextChannel');
|
||||
const { Error } = require('../errors');
|
||||
|
||||
/**
|
||||
* Represents a guild news channel on Discord.
|
||||
* @extends {BaseGuildTextChannel}
|
||||
*/
|
||||
class NewsChannel extends BaseGuildTextChannel {
|
||||
/**
|
||||
* Adds the target to this channel's followers.
|
||||
* @param {TextChannelResolvable} channel The channel where the webhook should be created
|
||||
* @param {string} [reason] Reason for creating the webhook
|
||||
* @returns {Promise<NewsChannel>}
|
||||
* @example
|
||||
* if (channel.type === ChannelType.GuildNews) {
|
||||
* channel.addFollower('222197033908436994', 'Important announcements')
|
||||
* .then(() => console.log('Added follower'))
|
||||
* .catch(console.error);
|
||||
* }
|
||||
*/
|
||||
async addFollower(channel, reason) {
|
||||
const channelId = this.guild.channels.resolveId(channel);
|
||||
if (!channelId) throw new Error('GUILD_CHANNEL_RESOLVE');
|
||||
await this.client.api.channels(this.id).followers.post({ body: { webhook_channel_id: channelId }, reason });
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = NewsChannel;
|
||||
Reference in New Issue
Block a user