X-Git-Url: https://git.nmode.ca/signal-cli/blobdiff_plain/c0aa338d7c8e40874dbc453b3fc3916701762029..30e8e36635733b3e8c75a44e95785ba33cf55e61:/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 7d9fe788..0c38cf7d 100644 --- a/src/main/java/org/asamk/signal/commands/SendCommand.java +++ b/src/main/java/org/asamk/signal/commands/SendCommand.java @@ -47,15 +47,20 @@ public class SendCommand implements JsonRpcLocalCommand { subparser.help("Send a message to another user or group."); subparser.addArgument("recipient").help("Specify the recipients' phone number.").nargs("*"); subparser.addArgument("-g", "--group-id", "--group").help("Specify the recipient group ID.").nargs("*"); + subparser.addArgument("-u", "--username").help("Specify the recipient username or username link.").nargs("*"); subparser.addArgument("--note-to-self") .help("Send the message to self without notification.") .action(Arguments.storeTrue()); + subparser.addArgument("--notify-self") + .help("If self is part of recipients/groups send a normal message, not a sync message.") + .action(Arguments.storeTrue()); var mut = subparser.addMutuallyExclusiveGroup(); mut.addArgument("-m", "--message").help("Specify the message to be sent."); mut.addArgument("--message-from-stdin") .action(Arguments.storeTrue()) .help("Read the message from standard input."); + subparser.addArgument("-a", "--attachment") .nargs("*") .help("Add an attachment. " @@ -103,14 +108,17 @@ public class SendCommand implements JsonRpcLocalCommand { public void handleCommand( final Namespace ns, final Manager m, final OutputWriter outputWriter ) throws CommandException { + final var notifySelf = Boolean.TRUE.equals(ns.getBoolean("notify-self")); final var isNoteToSelf = Boolean.TRUE.equals(ns.getBoolean("note-to-self")); final var recipientStrings = ns.getList("recipient"); final var groupIdStrings = ns.getList("group-id"); + final var usernameStrings = ns.getList("username"); final var recipientIdentifiers = CommandUtil.getRecipientIdentifiers(m, isNoteToSelf, recipientStrings, - groupIdStrings); + groupIdStrings, + usernameStrings); final var isEndSession = Boolean.TRUE.equals(ns.getBoolean("end-session")); if (isEndSession) { @@ -232,7 +240,7 @@ public class SendCommand implements JsonRpcLocalCommand { textStyles); var results = editTimestamp != null ? m.sendEditMessage(message, recipientIdentifiers, editTimestamp) - : m.sendMessage(message, recipientIdentifiers); + : m.sendMessage(message, recipientIdentifiers, notifySelf); outputResult(outputWriter, results); } catch (AttachmentInvalidException | IOException e) { throw new UnexpectedErrorException("Failed to send message: " + e.getMessage() + " (" + e.getClass()