X-Git-Url: https://git.nmode.ca/signal-cli/blobdiff_plain/8e8eed7b061f1ed47cf9e30abb5e29ee08e3a3dc..6c000544072fb0be012dafeea5761fa9e0744ee4:/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 312ec802..59ee6915 100644 --- a/src/main/java/org/asamk/signal/commands/SendCommand.java +++ b/src/main/java/org/asamk/signal/commands/SendCommand.java @@ -5,6 +5,7 @@ import net.sourceforge.argparse4j.inf.Namespace; import net.sourceforge.argparse4j.inf.Subparser; import org.asamk.Signal; +import org.asamk.signal.OutputWriter; import org.asamk.signal.PlainTextWriterImpl; import org.asamk.signal.commands.exceptions.CommandException; import org.asamk.signal.commands.exceptions.UnexpectedErrorException; @@ -25,19 +26,24 @@ import java.util.List; public class SendCommand implements DbusCommand { private final static Logger logger = LoggerFactory.getLogger(SendCommand.class); + private final OutputWriter outputWriter; - @Override - public void attachToSubparser(final Subparser subparser) { + public SendCommand(final OutputWriter outputWriter) { + this.outputWriter = outputWriter; + } + + public static void attachToSubparser(final Subparser subparser) { + subparser.help("Send a message to another user or group."); subparser.addArgument("recipient").help("Specify the recipients' phone number.").nargs("*"); final var mutuallyExclusiveGroup = subparser.addMutuallyExclusiveGroup(); - mutuallyExclusiveGroup.addArgument("-g", "--group").help("Specify the recipient group ID."); + mutuallyExclusiveGroup.addArgument("-g", "--group-id", "--group").help("Specify the recipient group ID."); mutuallyExclusiveGroup.addArgument("--note-to-self") .help("Send the message to self without notification.") .action(Arguments.storeTrue()); subparser.addArgument("-m", "--message").help("Specify the message, if missing standard input is used."); subparser.addArgument("-a", "--attachment").nargs("*").help("Add file as attachment"); - subparser.addArgument("-e", "--endsession") + subparser.addArgument("-e", "--end-session", "--endsession") .help("Clear session state and send end session message.") .action(Arguments.storeTrue()); } @@ -45,8 +51,8 @@ public class SendCommand implements DbusCommand { @Override public void handleCommand(final Namespace ns, final Signal signal) throws CommandException { final List recipients = ns.getList("recipient"); - final var isEndSession = ns.getBoolean("endsession"); - final var groupIdString = ns.getString("group"); + final var isEndSession = ns.getBoolean("end-session"); + final var groupIdString = ns.getString("group-id"); final var isNoteToSelf = ns.getBoolean("note-to-self"); final var noRecipients = recipients == null || recipients.isEmpty(); @@ -86,7 +92,7 @@ public class SendCommand implements DbusCommand { attachments = List.of(); } - final var writer = new PlainTextWriterImpl(System.out); + final var writer = (PlainTextWriterImpl) outputWriter; if (groupIdString != null) { byte[] groupId;