summary refs log tree commit diff
diff options
context:
space:
mode:
authorCyberL1 <cyber.hf18@gmail.com>2026-06-25 10:59:29 +0200
committerRory& <root@rory.gay>2026-06-25 17:56:49 +0200
commit8ab688382f9169c918de42d4a45a59b084d83a68 (patch)
tree469e19403737eaad3619b44ad63d10d15abc1946
parentfix: don't send loop over not voted answers (diff)
downloadserver-ts-8ab688382f9169c918de42d4a45a59b084d83a68.tar.xz
fix: check for poll answer limit
-rw-r--r--src/api/util/handlers/Message.ts9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/api/util/handlers/Message.ts b/src/api/util/handlers/Message.ts

index c64e4027..85b76cc2 100644 --- a/src/api/util/handlers/Message.ts +++ b/src/api/util/handlers/Message.ts
@@ -26,12 +26,15 @@ import { Config, DiscordApiErrors, emitEvent, + ErrorList, EVERYONE_MENTION, + FieldError, FieldErrors, getPermission, getRights, handleFile, HERE_MENTION, + makeObjectErrorContent, MessageCreateEvent, MessageFlags, Permissions, @@ -494,6 +497,12 @@ export async function handleMessage(opts: MessageOptions): Promise<Message> { } if (opts.poll?.answers) { + if (message.poll.answers.length < 0 && message.poll.answers.length > 10) { + const errors: ErrorList = {}; + errors["poll"] = makeObjectErrorContent("BASE_TYPE_BAD_LENGTH", "Must be between 1 and 10 in length."); + throw new FieldError(50035, "Invalid form body", errors); + } + for (let i = 0; i < opts.poll.answers.length; i++) { message.poll.answers[i].answer_id = i + 1; }