diff --git a/src/Symfony/Component/Notifier/Bridge/Discord/DiscordTransport.php b/src/Symfony/Component/Notifier/Bridge/Discord/DiscordTransport.php index afa98f77d6b3d..3fb2061290f23 100644 --- a/src/Symfony/Component/Notifier/Bridge/Discord/DiscordTransport.php +++ b/src/Symfony/Component/Notifier/Bridge/Discord/DiscordTransport.php @@ -29,6 +29,8 @@ final class DiscordTransport extends AbstractTransport { protected const HOST = 'discord.com'; + private const SUBJECT_LIMIT = 2000; + private $token; private $webhookId; @@ -65,7 +67,7 @@ protected function doSend(MessageInterface $message): SentMessage $content = $message->getSubject(); - if (\strlen($content) > 2000) { + if (mb_strlen($content, 'UTF-8') > self::SUBJECT_LIMIT) { throw new LogicException('The subject length of a Discord message must not exceed 2000 characters.'); } diff --git a/src/Symfony/Component/Notifier/Bridge/Discord/Tests/DiscordTransportTest.php b/src/Symfony/Component/Notifier/Bridge/Discord/Tests/DiscordTransportTest.php index 154a795530fbf..ead3027580662 100644 --- a/src/Symfony/Component/Notifier/Bridge/Discord/Tests/DiscordTransportTest.php +++ b/src/Symfony/Component/Notifier/Bridge/Discord/Tests/DiscordTransportTest.php @@ -56,7 +56,7 @@ public function testSendChatMessageWithMoreThan2000CharsThrowsLogicException() $this->expectException(LogicException::class); $this->expectExceptionMessage('The subject length of a Discord message must not exceed 2000 characters.'); - $transport->send(new ChatMessage(str_repeat('d', 2001))); + $transport->send(new ChatMessage(str_repeat('囍', 2001))); } public function testSendWithErrorResponseThrows()