X-Git-Url: https://git.nmode.ca/signal-cli/blobdiff_plain/06e93b84da2718c31111e820cd35a3354f22bae2..7b5b5776f014db0ad18fb6af909c63bbf2293c88:/src/main/java/org/asamk/signal/commands/SendReactionCommand.java diff --git a/src/main/java/org/asamk/signal/commands/SendReactionCommand.java b/src/main/java/org/asamk/signal/commands/SendReactionCommand.java index e445a991..0eafc2fd 100644 --- a/src/main/java/org/asamk/signal/commands/SendReactionCommand.java +++ b/src/main/java/org/asamk/signal/commands/SendReactionCommand.java @@ -8,9 +8,10 @@ import org.asamk.signal.commands.exceptions.CommandException; import org.asamk.signal.commands.exceptions.UnexpectedErrorException; import org.asamk.signal.commands.exceptions.UserErrorException; import org.asamk.signal.manager.Manager; -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.manager.api.GroupNotFoundException; +import org.asamk.signal.manager.api.GroupSendingNotAllowedException; +import org.asamk.signal.manager.api.NotAGroupMemberException; +import org.asamk.signal.manager.api.UnregisteredRecipientException; import org.asamk.signal.output.OutputWriter; import org.asamk.signal.util.CommandUtil; @@ -44,6 +45,9 @@ public class SendReactionCommand implements JsonRpcLocalCommand { .type(long.class) .help("Specify the timestamp of the message to which to react."); subparser.addArgument("-r", "--remove").help("Remove a reaction.").action(Arguments.storeTrue()); + subparser.addArgument("--story") + .help("React to a story instead of a normal message") + .action(Arguments.storeTrue()); } @Override @@ -63,19 +67,23 @@ public class SendReactionCommand implements JsonRpcLocalCommand { final var isRemove = Boolean.TRUE.equals(ns.getBoolean("remove")); final var targetAuthor = ns.getString("target-author"); final var targetTimestamp = ns.getLong("target-timestamp"); + final var isStory = Boolean.TRUE.equals(ns.getBoolean("story")); try { final var results = m.sendMessageReaction(emoji, isRemove, CommandUtil.getSingleRecipientIdentifier(targetAuthor, m.getSelfNumber()), targetTimestamp, - recipientIdentifiers); + recipientIdentifiers, + isStory); outputResult(outputWriter, results); } catch (GroupNotFoundException | NotAGroupMemberException | GroupSendingNotAllowedException e) { throw new UserErrorException(e.getMessage()); } catch (IOException e) { throw new UnexpectedErrorException("Failed to send message: " + e.getMessage() + " (" + e.getClass() .getSimpleName() + ")", e); + } catch (UnregisteredRecipientException e) { + throw new UserErrorException("The user " + e.getSender().getIdentifier() + " is not registered."); } } }