diff --git a/packages/builders/__tests__/interactions/SlashCommands/SlashCommands.test.ts b/packages/builders/__tests__/interactions/SlashCommands/SlashCommands.test.ts index dc25a1ccf..9145af900 100644 --- a/packages/builders/__tests__/interactions/SlashCommands/SlashCommands.test.ts +++ b/packages/builders/__tests__/interactions/SlashCommands/SlashCommands.test.ts @@ -42,6 +42,8 @@ describe('Slash Commands', () => { describe('Assertions tests', () => { test('GIVEN valid name THEN does not throw error', () => { expect(() => SlashCommandAssertions.validateName('ping')).not.toThrowError(); + expect(() => SlashCommandAssertions.validateName('hello-world_command')).not.toThrowError(); + expect(() => SlashCommandAssertions.validateName('aˇ㐆1٢〣²अก')).not.toThrowError(); }); test('GIVEN invalid name THEN throw error', () => { @@ -51,7 +53,10 @@ describe('Slash Commands', () => { expect(() => SlashCommandAssertions.validateName('')).toThrowError(); // Invalid characters used + expect(() => SlashCommandAssertions.validateName('ABC')).toThrowError(); expect(() => SlashCommandAssertions.validateName('ABC123$%^&')).toThrowError(); + expect(() => SlashCommandAssertions.validateName('help ping')).toThrowError(); + expect(() => SlashCommandAssertions.validateName('🦦')).toThrowError(); // Too long of a name expect(() => diff --git a/packages/builders/src/interactions/slashCommands/Assertions.ts b/packages/builders/src/interactions/slashCommands/Assertions.ts index 39f38343f..27c8fc5ed 100644 --- a/packages/builders/src/interactions/slashCommands/Assertions.ts +++ b/packages/builders/src/interactions/slashCommands/Assertions.ts @@ -8,7 +8,7 @@ import { isValidationEnabled } from '../../util/validation'; const namePredicate = s.string .lengthGreaterThanOrEqual(1) .lengthLessThanOrEqual(32) - .regex(/^[\P{Lu}\p{N}\p{sc=Devanagari}\p{sc=Thai}_-]+$/u) + .regex(/^[\p{Ll}\p{Lm}\p{Lo}\p{N}\p{sc=Devanagari}\p{sc=Thai}_-]+$/u) .setValidationEnabled(isValidationEnabled); export function validateName(name: unknown): asserts name is string {