mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-09 16:13:31 +01:00
feat(Guild): add the new nsfw_level property (#5660)
Co-authored-by: Jan <66554238+vaporox@users.noreply.github.com> Co-authored-by: Noel <icrawltogo@gmail.com>
This commit is contained in:
@@ -24,6 +24,7 @@ const {
|
||||
PartialTypes,
|
||||
VerificationLevels,
|
||||
ExplicitContentFilterLevels,
|
||||
NSFWLevels,
|
||||
} = require('../util/Constants');
|
||||
const DataResolver = require('../util/DataResolver');
|
||||
const SnowflakeUtil = require('../util/SnowflakeUtil');
|
||||
@@ -115,14 +116,6 @@ class Guild extends Base {
|
||||
* @type {number}
|
||||
*/
|
||||
this.shardID = data.shardID;
|
||||
|
||||
if ('nsfw' in data) {
|
||||
/**
|
||||
* Whether the guild is designated as not safe for work
|
||||
* @type {boolean}
|
||||
*/
|
||||
this.nsfw = data.nsfw;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -176,6 +169,14 @@ class Guild extends Base {
|
||||
*/
|
||||
this.memberCount = data.member_count || this.memberCount;
|
||||
|
||||
if ('nsfw_level' in data) {
|
||||
/**
|
||||
* The NSFW level of this guild
|
||||
* @type {NSFWLevel}
|
||||
*/
|
||||
this.nsfwLevel = NSFWLevels[data.nsfw_level];
|
||||
}
|
||||
|
||||
/**
|
||||
* Whether the guild is "large" (has more than large_threshold members, 50 by default)
|
||||
* @type {boolean}
|
||||
|
||||
@@ -819,6 +819,16 @@ exports.InteractionResponseTypes = createEnum([
|
||||
'DEFERRED_CHANNEL_MESSAGE_WITH_SOURCE',
|
||||
]);
|
||||
|
||||
/**
|
||||
* NSFW level of a Guild
|
||||
* * DEFAULT
|
||||
* * EXPLICIT
|
||||
* * SAFE
|
||||
* * AGE_RESTRICTED
|
||||
* @typedef {string} NSFWLevel
|
||||
*/
|
||||
exports.NSFWLevels = createEnum(['DEFAULT', 'EXPLICIT', 'SAFE', 'AGE_RESTRICTED']);
|
||||
|
||||
function keyMirror(arr) {
|
||||
let tmp = Object.create(null);
|
||||
for (const value of arr) tmp[value] = value;
|
||||
|
||||
12
typings/index.d.ts
vendored
12
typings/index.d.ts
vendored
@@ -37,6 +37,13 @@ declare enum InviteTargetType {
|
||||
EMBEDDED_APPLICATION = 2,
|
||||
}
|
||||
|
||||
declare enum NSFWLevels {
|
||||
DEFAULT = 0,
|
||||
EXPLICIT = 1,
|
||||
SAFE = 2,
|
||||
AGE_RESTRICTED = 3,
|
||||
}
|
||||
|
||||
declare enum OverwriteTypes {
|
||||
role = 0,
|
||||
member = 1,
|
||||
@@ -647,6 +654,7 @@ declare module 'discord.js' {
|
||||
ApplicationCommandPermissionTypes: typeof ApplicationCommandPermissionTypes;
|
||||
InteractionTypes: typeof InteractionTypes;
|
||||
InteractionResponseTypes: typeof InteractionResponseTypes;
|
||||
NSFWLevels: typeof NSFWLevels;
|
||||
};
|
||||
|
||||
export class DataResolver {
|
||||
@@ -731,7 +739,7 @@ declare module 'discord.js' {
|
||||
public mfaLevel: number;
|
||||
public name: string;
|
||||
public readonly nameAcronym: string;
|
||||
public nsfw: boolean;
|
||||
public nsfwLevel: NSFWLevel;
|
||||
public ownerID: Snowflake;
|
||||
public readonly partnered: boolean;
|
||||
public preferredLocale: string;
|
||||
@@ -3299,6 +3307,8 @@ declare module 'discord.js' {
|
||||
| 'REPLY'
|
||||
| 'APPLICATION_COMMAND';
|
||||
|
||||
type NSFWLevel = keyof typeof NSFWLevels;
|
||||
|
||||
interface OverwriteData {
|
||||
allow?: PermissionResolvable;
|
||||
deny?: PermissionResolvable;
|
||||
|
||||
Reference in New Issue
Block a user