Compare commits

..

3 Commits

Author SHA1 Message Date
BarbossHack
7742e411e8 Add reproducible builds 2026-03-11 22:34:19 +01:00
moppman
7d89375d3a
Update GraalVM metadata (#1966)
Add isArchived from #1957
2026-03-09 19:10:36 +01:00
Zachary Johnson
db0f660d08
enforce poll options between 1 and 100 characters; update documentation (#1965)
pre-PR cleanup
2026-03-09 19:09:58 +01:00
3 changed files with 15 additions and 1 deletions

View File

@ -443,6 +443,7 @@ By default, recipients can select multiple options.
*-o* OPTION [OPTION ...], *--option* OPTION [OPTION ...]*:: *-o* OPTION [OPTION ...], *--option* OPTION [OPTION ...]*::
The options for the poll. The options for the poll.
Between 2 and 10 options must be specified. Between 2 and 10 options must be specified.
Each option must be between 1 and 100 characters.
=== sendPollVote === sendPollVote

View File

@ -25,6 +25,7 @@ public class SendPollCreateCommand implements JsonRpcLocalCommand {
private static final Logger logger = LoggerFactory.getLogger(SendPollCreateCommand.class); private static final Logger logger = LoggerFactory.getLogger(SendPollCreateCommand.class);
private static final int MAX_POLL_OPTIONS = 10; private static final int MAX_POLL_OPTIONS = 10;
private static final int MAX_POLL_OPTION_LENGTH = 100;
@Override @Override
public String getName() { public String getName() {
@ -76,6 +77,14 @@ public class SendPollCreateCommand implements JsonRpcLocalCommand {
if (options.size() > MAX_POLL_OPTIONS) { if (options.size() > MAX_POLL_OPTIONS) {
throw new UserErrorException("Poll cannot have more than " + MAX_POLL_OPTIONS + " options"); throw new UserErrorException("Poll cannot have more than " + MAX_POLL_OPTIONS + " options");
} }
for (final var option : options) {
if (option.isEmpty()) {
throw new UserErrorException("Poll options must not be empty");
}
if (option.length() > MAX_POLL_OPTION_LENGTH) {
throw new UserErrorException("Poll option \"" + option + "\" exceeds the maximum length of " + MAX_POLL_OPTION_LENGTH + " characters");
}
}
try { try {
var results = m.sendPollCreateMessage(question, !noMulti, options, recipientIdentifiers, notifySelf); var results = m.sendPollCreateMessage(question, !noMulti, options, recipientIdentifiers, notifySelf);

View File

@ -2397,6 +2397,10 @@
"name": "internal", "name": "internal",
"parameterTypes": [] "parameterTypes": []
}, },
{
"name": "isArchived",
"parameterTypes": []
},
{ {
"name": "isBlocked", "name": "isBlocked",
"parameterTypes": [] "parameterTypes": []
@ -9807,4 +9811,4 @@
"bundle": "net.sourceforge.argparse4j.internal.ArgumentParserImpl" "bundle": "net.sourceforge.argparse4j.internal.ArgumentParserImpl"
} }
] ]
} }