refactor: remove required from getMember (#7188)

This commit is contained in:
Parbez
2022-01-17 18:21:13 +05:30
committed by GitHub
parent 3bb4829800
commit c90e47f904
3 changed files with 5 additions and 11 deletions

View File

@@ -196,12 +196,11 @@ class CommandInteractionOptionResolver {
/** /**
* Gets a member option. * Gets a member option.
* @param {string} name The name of the option. * @param {string} name The name of the option.
* @param {boolean} [required=false] Whether to throw an error if the option is not found.
* @returns {?(GuildMember|APIGuildMember)} * @returns {?(GuildMember|APIGuildMember)}
* The value of the option, or null if not set and not required. * The value of the option, or null if the user is not present in the guild or the option is not set.
*/ */
getMember(name, required = false) { getMember(name) {
const option = this._getTypedOption(name, 'USER', ['member'], required); const option = this._getTypedOption(name, 'USER', ['member'], false);
return option?.member ?? null; return option?.member ?? null;
} }

View File

@@ -33,7 +33,6 @@ import {
APIApplicationCommandPermission, APIApplicationCommandPermission,
APIAuditLogChange, APIAuditLogChange,
APIButtonComponent, APIButtonComponent,
APIChannel,
APIEmbed, APIEmbed,
APIEmoji, APIEmoji,
APIInteractionDataResolvedChannel, APIInteractionDataResolvedChannel,
@@ -705,8 +704,7 @@ export interface ApplicationCommandInteractionOptionResolver<Cached extends Cach
getNumber(name: string, required?: boolean): number | null; getNumber(name: string, required?: boolean): number | null;
getUser(name: string, required: true): NonNullable<CommandInteractionOption<Cached>['user']>; getUser(name: string, required: true): NonNullable<CommandInteractionOption<Cached>['user']>;
getUser(name: string, required?: boolean): NonNullable<CommandInteractionOption<Cached>['user']> | null; getUser(name: string, required?: boolean): NonNullable<CommandInteractionOption<Cached>['user']> | null;
getMember(name: string, required: true): NonNullable<CommandInteractionOption<Cached>['member']>; getMember(name: string): NonNullable<CommandInteractionOption<Cached>['member']> | null;
getMember(name: string, required?: boolean): NonNullable<CommandInteractionOption<Cached>['member']> | null;
getRole(name: string, required: true): NonNullable<CommandInteractionOption<Cached>['role']>; getRole(name: string, required: true): NonNullable<CommandInteractionOption<Cached>['role']>;
getRole(name: string, required?: boolean): NonNullable<CommandInteractionOption<Cached>['role']> | null; getRole(name: string, required?: boolean): NonNullable<CommandInteractionOption<Cached>['role']> | null;
getMentionable( getMentionable(
@@ -781,8 +779,7 @@ export class CommandInteractionOptionResolver<Cached extends CacheType = CacheTy
public getNumber(name: string, required?: boolean): number | null; public getNumber(name: string, required?: boolean): number | null;
public getUser(name: string, required: true): NonNullable<CommandInteractionOption<Cached>['user']>; public getUser(name: string, required: true): NonNullable<CommandInteractionOption<Cached>['user']>;
public getUser(name: string, required?: boolean): NonNullable<CommandInteractionOption<Cached>['user']> | null; public getUser(name: string, required?: boolean): NonNullable<CommandInteractionOption<Cached>['user']> | null;
public getMember(name: string, required: true): NonNullable<CommandInteractionOption<Cached>['member']>; public getMember(name: string): NonNullable<CommandInteractionOption<Cached>['member']> | null;
public getMember(name: string, required?: boolean): NonNullable<CommandInteractionOption<Cached>['member']> | null;
public getRole(name: string, required: true): NonNullable<CommandInteractionOption<Cached>['role']>; public getRole(name: string, required: true): NonNullable<CommandInteractionOption<Cached>['role']>;
public getRole(name: string, required?: boolean): NonNullable<CommandInteractionOption<Cached>['role']> | null; public getRole(name: string, required?: boolean): NonNullable<CommandInteractionOption<Cached>['role']> | null;
public getMentionable( public getMentionable(

View File

@@ -1073,7 +1073,6 @@ client.on('interactionCreate', async interaction => {
expectAssignable<ChatInputCommandInteraction>(interaction); expectAssignable<ChatInputCommandInteraction>(interaction);
expectType<Promise<APIMessage>>(interaction.reply({ fetchReply: true })); expectType<Promise<APIMessage>>(interaction.reply({ fetchReply: true }));
expectType<APIInteractionDataResolvedGuildMember | null>(interaction.options.getMember('test')); expectType<APIInteractionDataResolvedGuildMember | null>(interaction.options.getMember('test'));
expectType<APIInteractionDataResolvedGuildMember>(interaction.options.getMember('test', true));
expectType<APIInteractionDataResolvedChannel>(interaction.options.getChannel('test', true)); expectType<APIInteractionDataResolvedChannel>(interaction.options.getChannel('test', true));
expectType<APIRole>(interaction.options.getRole('test', true)); expectType<APIRole>(interaction.options.getRole('test', true));
@@ -1096,7 +1095,6 @@ client.on('interactionCreate', async interaction => {
expectType<ChatInputCommandInteraction>(interaction); expectType<ChatInputCommandInteraction>(interaction);
expectType<Promise<Message | APIMessage>>(interaction.reply({ fetchReply: true })); expectType<Promise<Message | APIMessage>>(interaction.reply({ fetchReply: true }));
expectType<APIInteractionDataResolvedGuildMember | GuildMember | null>(interaction.options.getMember('test')); expectType<APIInteractionDataResolvedGuildMember | GuildMember | null>(interaction.options.getMember('test'));
expectType<APIInteractionDataResolvedGuildMember | GuildMember>(interaction.options.getMember('test', true));
expectType<GuildBasedChannel | APIInteractionDataResolvedChannel>(interaction.options.getChannel('test', true)); expectType<GuildBasedChannel | APIInteractionDataResolvedChannel>(interaction.options.getChannel('test', true));
expectType<APIRole | Role>(interaction.options.getRole('test', true)); expectType<APIRole | Role>(interaction.options.getRole('test', true));