mirror of
https://github.com/danbulant/discord.js
synced 2026-07-06 19:50:55 +00:00
feat(NewsChannel): add support for following (#4805)
Co-authored-by: Sugden <28943913+NotSugden@users.noreply.github.com>
This commit is contained in:
parent
f2bbad36d5
commit
f83b3d7fc1
2 changed files with 21 additions and 0 deletions
|
|
@ -1,6 +1,7 @@
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
const TextChannel = require('./TextChannel');
|
const TextChannel = require('./TextChannel');
|
||||||
|
const { Error } = require('../errors');
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Represents a guild news channel on Discord.
|
* Represents a guild news channel on Discord.
|
||||||
|
|
@ -13,6 +14,25 @@ class NewsChannel extends TextChannel {
|
||||||
// News channels don't have a rate limit per user, remove it
|
// News channels don't have a rate limit per user, remove it
|
||||||
this.rateLimitPerUser = undefined;
|
this.rateLimitPerUser = undefined;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Adds the target to this channel's followers.
|
||||||
|
* @param {GuildChannelResolvable} channel The channel where the webhook should be created
|
||||||
|
* @param {string} [reason] Reason for creating the webhook
|
||||||
|
* @returns {Promise<NewsChannel>}
|
||||||
|
* @example
|
||||||
|
* if (channel.type === 'news') {
|
||||||
|
* 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({ data: { webhook_channel_id: channelID }, reason });
|
||||||
|
return this;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
module.exports = NewsChannel;
|
module.exports = NewsChannel;
|
||||||
|
|
|
||||||
1
typings/index.d.ts
vendored
1
typings/index.d.ts
vendored
|
|
@ -1187,6 +1187,7 @@ declare module 'discord.js' {
|
||||||
): Promise<Webhook>;
|
): Promise<Webhook>;
|
||||||
public setNSFW(nsfw: boolean, reason?: string): Promise<NewsChannel>;
|
public setNSFW(nsfw: boolean, reason?: string): Promise<NewsChannel>;
|
||||||
public fetchWebhooks(): Promise<Collection<Snowflake, Webhook>>;
|
public fetchWebhooks(): Promise<Collection<Snowflake, Webhook>>;
|
||||||
|
public addFollower(channel: GuildChannelResolvable, reason?: string): Promise<NewsChannel>;
|
||||||
}
|
}
|
||||||
|
|
||||||
export class PartialGroupDMChannel extends Channel {
|
export class PartialGroupDMChannel extends Channel {
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue