mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-14 18:43:31 +01:00
fix(SlashCommandBuilder): import Permissions correctly (#7921)
This commit is contained in:
@@ -1,3 +1,4 @@
|
|||||||
|
import { PermissionFlagsBits } from 'discord-api-types/v10';
|
||||||
import { ContextMenuCommandAssertions, ContextMenuCommandBuilder } from '../../src/index';
|
import { ContextMenuCommandAssertions, ContextMenuCommandBuilder } from '../../src/index';
|
||||||
|
|
||||||
const getBuilder = () => new ContextMenuCommandBuilder();
|
const getBuilder = () => new ContextMenuCommandBuilder();
|
||||||
@@ -116,5 +117,27 @@ describe('Context Menu Commands', () => {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
describe('permissions', () => {
|
||||||
|
test('GIVEN valid permission string THEN does not throw error', () => {
|
||||||
|
expect(() => getBuilder().setDefaultMemberPermissions('1')).not.toThrowError();
|
||||||
|
});
|
||||||
|
|
||||||
|
test('GIVEN valid permission bitfield THEN does not throw error', () => {
|
||||||
|
expect(() =>
|
||||||
|
getBuilder().setDefaultMemberPermissions(PermissionFlagsBits.AddReactions | PermissionFlagsBits.AttachFiles),
|
||||||
|
).not.toThrowError();
|
||||||
|
});
|
||||||
|
|
||||||
|
test('GIVEN null permissions THEN does not throw error', () => {
|
||||||
|
expect(() => getBuilder().setDefaultMemberPermissions(null)).not.toThrowError();
|
||||||
|
});
|
||||||
|
|
||||||
|
test('GIVEN invalid inputs THEN does throw error', () => {
|
||||||
|
expect(() => getBuilder().setDefaultMemberPermissions('1.1')).toThrowError();
|
||||||
|
|
||||||
|
expect(() => getBuilder().setDefaultMemberPermissions(1.1)).toThrowError();
|
||||||
|
});
|
||||||
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import { APIApplicationCommandOptionChoice, ChannelType } from 'discord-api-types/v10';
|
import { APIApplicationCommandOptionChoice, ChannelType, PermissionFlagsBits } from 'discord-api-types/v10';
|
||||||
import {
|
import {
|
||||||
SlashCommandAssertions,
|
SlashCommandAssertions,
|
||||||
SlashCommandBooleanOption,
|
SlashCommandBooleanOption,
|
||||||
@@ -476,5 +476,27 @@ describe('Slash Commands', () => {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
describe('permissions', () => {
|
||||||
|
test('GIVEN valid permission string THEN does not throw error', () => {
|
||||||
|
expect(() => getBuilder().setDefaultMemberPermissions('1')).not.toThrowError();
|
||||||
|
});
|
||||||
|
|
||||||
|
test('GIVEN valid permission bitfield THEN does not throw error', () => {
|
||||||
|
expect(() =>
|
||||||
|
getBuilder().setDefaultMemberPermissions(PermissionFlagsBits.AddReactions | PermissionFlagsBits.AttachFiles),
|
||||||
|
).not.toThrowError();
|
||||||
|
});
|
||||||
|
|
||||||
|
test('GIVEN null permissions THEN does not throw error', () => {
|
||||||
|
expect(() => getBuilder().setDefaultMemberPermissions(null)).not.toThrowError();
|
||||||
|
});
|
||||||
|
|
||||||
|
test('GIVEN invalid inputs THEN does throw error', () => {
|
||||||
|
expect(() => getBuilder().setDefaultMemberPermissions('1.1')).toThrowError();
|
||||||
|
|
||||||
|
expect(() => getBuilder().setDefaultMemberPermissions(1.1)).toThrowError();
|
||||||
|
});
|
||||||
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -106,7 +106,7 @@ export class ContextMenuCommandBuilder {
|
|||||||
*
|
*
|
||||||
* @see https://discord.com/developers/docs/interactions/application-commands#permissions
|
* @see https://discord.com/developers/docs/interactions/application-commands#permissions
|
||||||
*/
|
*/
|
||||||
public setDefaultMemberPermissions(permissions: Permissions | null | undefined) {
|
public setDefaultMemberPermissions(permissions: Permissions | bigint | number | null | undefined) {
|
||||||
// Assert the value and parse it
|
// Assert the value and parse it
|
||||||
const permissionValue = validateDefaultMemberPermissions(permissions);
|
const permissionValue = validateDefaultMemberPermissions(permissions);
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
import type {
|
import type {
|
||||||
APIApplicationCommandOption,
|
APIApplicationCommandOption,
|
||||||
LocalizationMap,
|
LocalizationMap,
|
||||||
|
Permissions,
|
||||||
RESTPostAPIApplicationCommandsJSONBody,
|
RESTPostAPIApplicationCommandsJSONBody,
|
||||||
} from 'discord-api-types/v10';
|
} from 'discord-api-types/v10';
|
||||||
import { mix } from 'ts-mixer';
|
import { mix } from 'ts-mixer';
|
||||||
@@ -108,7 +109,7 @@ export class SlashCommandBuilder {
|
|||||||
*
|
*
|
||||||
* @see https://discord.com/developers/docs/interactions/application-commands#permissions
|
* @see https://discord.com/developers/docs/interactions/application-commands#permissions
|
||||||
*/
|
*/
|
||||||
public setDefaultMemberPermissions(permissions: Permissions | null | undefined) {
|
public setDefaultMemberPermissions(permissions: Permissions | bigint | number | null | undefined) {
|
||||||
// Assert the value and parse it
|
// Assert the value and parse it
|
||||||
const permissionValue = validateDefaultMemberPermissions(permissions);
|
const permissionValue = validateDefaultMemberPermissions(permissions);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user