X-Git-Url: https://git.nmode.ca/signal-cli/blobdiff_plain/d13d150fe1c6b21dd53617cf7996d2876bc5db58..62687d103fab1ade650b920008060c220361d581:/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 f73d3e70..08f2d9a3 100644 --- a/src/main/java/org/asamk/signal/commands/SendCommand.java +++ b/src/main/java/org/asamk/signal/commands/SendCommand.java @@ -14,11 +14,8 @@ import org.asamk.signal.manager.api.RecipientIdentifier; import org.asamk.signal.manager.groups.GroupNotFoundException; import org.asamk.signal.manager.groups.GroupSendingNotAllowedException; import org.asamk.signal.manager.groups.NotAGroupMemberException; -import org.asamk.signal.output.JsonWriter; import org.asamk.signal.output.OutputWriter; -import org.asamk.signal.output.PlainTextWriter; import org.asamk.signal.util.CommandUtil; -import org.asamk.signal.util.ErrorUtils; import org.asamk.signal.util.IOUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -27,11 +24,12 @@ import java.io.IOException; import java.nio.charset.Charset; import java.util.ArrayList; import java.util.List; -import java.util.Map; import java.util.Optional; import java.util.regex.Pattern; import java.util.stream.Collectors; +import static org.asamk.signal.util.SendMessageResultUtils.outputResult; + public class SendCommand implements JsonRpcLocalCommand { private final static Logger logger = LoggerFactory.getLogger(SendCommand.class); @@ -93,8 +91,7 @@ public class SendCommand implements JsonRpcLocalCommand { try { final var results = m.sendEndSessionMessage(singleRecipients); - outputResult(outputWriter, results.timestamp()); - ErrorUtils.handleSendMessageResults(results.results()); + outputResult(outputWriter, results); return; } catch (IOException e) { throw new UnexpectedErrorException("Failed to send message: " + e.getMessage() + " (" + e.getClass() @@ -104,6 +101,7 @@ public class SendCommand implements JsonRpcLocalCommand { var messageText = ns.getString("message"); if (messageText == null) { + logger.debug("Reading message from stdin..."); try { messageText = IOUtils.readAll(System.in, Charset.defaultCharset()); } catch (IOException e) { @@ -139,8 +137,7 @@ public class SendCommand implements JsonRpcLocalCommand { try { var results = m.sendMessage(new Message(messageText, attachments, mentions, Optional.ofNullable(quote)), recipientIdentifiers); - outputResult(outputWriter, results.timestamp()); - ErrorUtils.handleSendMessageResults(results.results()); + outputResult(outputWriter, results); } catch (AttachmentInvalidException | IOException e) { throw new UnexpectedErrorException("Failed to send message: " + e.getMessage() + " (" + e.getClass() .getSimpleName() + ")", e); @@ -167,13 +164,4 @@ public class SendCommand implements JsonRpcLocalCommand { } return mentions; } - - private void outputResult(final OutputWriter outputWriter, final long timestamp) { - if (outputWriter instanceof PlainTextWriter writer) { - writer.println("{}", timestamp); - } else { - final var writer = (JsonWriter) outputWriter; - writer.write(Map.of("timestamp", timestamp)); - } - } }