X-Git-Url: https://git.nmode.ca/signal-cli/blobdiff_plain/3ad87e136231159f7439c7707605f3c4fe90d2f0..2c586266ffe37c139b80197c2c7baaa8daea3e92:/src/main/java/org/asamk/signal/commands/SendCommand.java diff --git a/src/main/java/org/asamk/signal/commands/SendCommand.java b/src/main/java/org/asamk/signal/commands/SendCommand.java index 23a7fb37..3fd00eaf 100644 --- a/src/main/java/org/asamk/signal/commands/SendCommand.java +++ b/src/main/java/org/asamk/signal/commands/SendCommand.java @@ -120,13 +120,15 @@ public class SendCommand implements JsonRpcLocalCommand { var messageText = ns.getString("message"); final var readMessageFromStdin = ns.getBoolean("message-from-stdin") == Boolean.TRUE; - if (readMessageFromStdin || (messageText == null && sticker == null)) { + if (readMessageFromStdin) { logger.debug("Reading message from stdin..."); try { messageText = IOUtils.readAll(System.in, IOUtils.getConsoleCharset()); } catch (IOException e) { throw new UserErrorException("Failed to read message from stdin: " + e.getMessage()); } + } else if (messageText == null) { + messageText = ""; } List attachments = ns.getList("attachment"); @@ -168,8 +170,13 @@ public class SendCommand implements JsonRpcLocalCommand { previews = List.of(); } + if (messageText.isEmpty() && attachments.isEmpty() && sticker == null && quote == null) { + throw new UserErrorException( + "Sending empty message is not allowed, either a message, attachment or sticker must be given."); + } + try { - var results = m.sendMessage(new Message(messageText == null ? "" : messageText, + var results = m.sendMessage(new Message(messageText, attachments, mentions, Optional.ofNullable(quote),