X-Git-Url: https://git.nmode.ca/signal-cli/blobdiff_plain/fc8b6d0fcbedd6a4c9ae394a0640e79690e28337..9ffacfe90e54a86da289d3e6fb3c3df738f57abb:/src/main/java/org/asamk/signal/commands/JsonRpcDispatcherCommand.java diff --git a/src/main/java/org/asamk/signal/commands/JsonRpcDispatcherCommand.java b/src/main/java/org/asamk/signal/commands/JsonRpcDispatcherCommand.java index 8eafa5df..34961bd3 100644 --- a/src/main/java/org/asamk/signal/commands/JsonRpcDispatcherCommand.java +++ b/src/main/java/org/asamk/signal/commands/JsonRpcDispatcherCommand.java @@ -8,6 +8,7 @@ import org.asamk.signal.OutputType; import org.asamk.signal.commands.exceptions.CommandException; import org.asamk.signal.jsonrpc.SignalJsonRpcDispatcherHandler; import org.asamk.signal.manager.Manager; +import org.asamk.signal.manager.api.ReceiveConfig; import org.asamk.signal.output.JsonWriter; import org.asamk.signal.output.OutputWriter; import org.asamk.signal.util.IOUtils; @@ -33,6 +34,12 @@ public class JsonRpcDispatcherCommand implements LocalCommand { subparser.addArgument("--ignore-attachments") .help("Don’t download attachments of received messages.") .action(Arguments.storeTrue()); + subparser.addArgument("--ignore-stories") + .help("Don’t receive story messages from the server.") + .action(Arguments.storeTrue()); + subparser.addArgument("--send-read-receipts") + .help("Send read receipts for all incoming data messages (in addition to the default delivery receipts)") + .action(Arguments.storeTrue()); } @Override @@ -44,11 +51,14 @@ public class JsonRpcDispatcherCommand implements LocalCommand { public void handleCommand( final Namespace ns, final Manager m, final OutputWriter outputWriter ) throws CommandException { - final boolean ignoreAttachments = Boolean.TRUE.equals(ns.getBoolean("ignore-attachments")); - m.setIgnoreAttachments(ignoreAttachments); + final var ignoreAttachments = Boolean.TRUE.equals(ns.getBoolean("ignore-attachments")); + final var ignoreStories = Boolean.TRUE.equals(ns.getBoolean("ignore-stories")); + final var sendReadReceipts = Boolean.TRUE.equals(ns.getBoolean("send-read-receipts")); + m.setReceiveConfig(new ReceiveConfig(ignoreAttachments, ignoreStories, sendReadReceipts)); final var jsonOutputWriter = (JsonWriter) outputWriter; - final Supplier lineSupplier = IOUtils.getLineSupplier(new InputStreamReader(System.in)); + final Supplier lineSupplier = IOUtils.getLineSupplier(new InputStreamReader(System.in, + IOUtils.getConsoleCharset())); final var handler = new SignalJsonRpcDispatcherHandler(jsonOutputWriter, lineSupplier, false); handler.handleConnection(m);