mirror of
https://github.com/danbulant/discord.js
synced 2026-06-09 17:52:55 +00:00
feat: widen GuildResolvable to include more structures (#3512)
* feat: Widen GuildResolvable to include GuildChannel and GuildMember * docs: Documented the new overloads Co-Authored-By: Gryffon Bellish <owenbellish@gmail.com> Co-authored-by: Gryffon Bellish <owenbellish@gmail.com>
This commit is contained in:
parent
f578cce9ac
commit
b4f00bfb6b
2 changed files with 19 additions and 2 deletions
|
|
@ -4,6 +4,9 @@ const DataStore = require('./DataStore');
|
||||||
const DataResolver = require('../util/DataResolver');
|
const DataResolver = require('../util/DataResolver');
|
||||||
const { Events } = require('../util/Constants');
|
const { Events } = require('../util/Constants');
|
||||||
const Guild = require('../structures/Guild');
|
const Guild = require('../structures/Guild');
|
||||||
|
const GuildChannel = require('../structures/GuildChannel');
|
||||||
|
const GuildMember = require('../structures/GuildMember');
|
||||||
|
const Role = require('../structures/Role');
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Stores guilds.
|
* Stores guilds.
|
||||||
|
|
@ -17,8 +20,10 @@ class GuildStore extends DataStore {
|
||||||
/**
|
/**
|
||||||
* Data that resolves to give a Guild object. This can be:
|
* Data that resolves to give a Guild object. This can be:
|
||||||
* * A Guild object
|
* * A Guild object
|
||||||
|
* * A GuildChannel object
|
||||||
|
* * A Role object
|
||||||
* * A Snowflake
|
* * A Snowflake
|
||||||
* @typedef {Guild|Snowflake} GuildResolvable
|
* @typedef {Guild|GuildChannel|GuildMember|Role|Snowflake} GuildResolvable
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -29,6 +34,12 @@ class GuildStore extends DataStore {
|
||||||
* @param {GuildResolvable} guild The guild resolvable to identify
|
* @param {GuildResolvable} guild The guild resolvable to identify
|
||||||
* @returns {?Guild}
|
* @returns {?Guild}
|
||||||
*/
|
*/
|
||||||
|
resolve(guild) {
|
||||||
|
if (guild instanceof GuildChannel ||
|
||||||
|
guild instanceof GuildMember ||
|
||||||
|
guild instanceof Role) return super.resolve(guild.guild);
|
||||||
|
return super.resolve(guild);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Resolves a GuildResolvable to a Guild ID string.
|
* Resolves a GuildResolvable to a Guild ID string.
|
||||||
|
|
@ -38,6 +49,12 @@ class GuildStore extends DataStore {
|
||||||
* @param {GuildResolvable} guild The guild resolvable to identify
|
* @param {GuildResolvable} guild The guild resolvable to identify
|
||||||
* @returns {?Snowflake}
|
* @returns {?Snowflake}
|
||||||
*/
|
*/
|
||||||
|
resolveID(guild) {
|
||||||
|
if (guild instanceof GuildChannel ||
|
||||||
|
guild instanceof GuildMember ||
|
||||||
|
guild instanceof Role) return super.resolveID(guild.guild.id);
|
||||||
|
return super.resolveID(guild);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates a guild.
|
* Creates a guild.
|
||||||
|
|
|
||||||
2
typings/index.d.ts
vendored
2
typings/index.d.ts
vendored
|
|
@ -2328,7 +2328,7 @@ declare module 'discord.js' {
|
||||||
|
|
||||||
type GuildMemberResolvable = GuildMember | UserResolvable;
|
type GuildMemberResolvable = GuildMember | UserResolvable;
|
||||||
|
|
||||||
type GuildResolvable = Guild | Snowflake;
|
type GuildResolvable = Guild | GuildChannel | GuildMember | Role | Snowflake;
|
||||||
|
|
||||||
interface GuildPruneMembersOptions {
|
interface GuildPruneMembersOptions {
|
||||||
count?: boolean;
|
count?: boolean;
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue