X-Git-Url: https://git.nmode.ca/signal-cli/blobdiff_plain/dd0effc10c1c91675fdbc6c24937979c0e868752..a91e3f762e0e5d6a9cf9e208fe85207d7829e22d:/src/main/java/org/asamk/signal/commands/UpdateGroupCommand.java diff --git a/src/main/java/org/asamk/signal/commands/UpdateGroupCommand.java b/src/main/java/org/asamk/signal/commands/UpdateGroupCommand.java index 48efde75..513ec2e4 100644 --- a/src/main/java/org/asamk/signal/commands/UpdateGroupCommand.java +++ b/src/main/java/org/asamk/signal/commands/UpdateGroupCommand.java @@ -38,6 +38,9 @@ public class UpdateGroupCommand implements DbusCommand, LocalCommand { subparser.addArgument("-d", "--description").help("Specify the new group description."); subparser.addArgument("-a", "--avatar").help("Specify a new group avatar image file"); subparser.addArgument("-m", "--member").nargs("*").help("Specify one or more members to add to the group"); + subparser.addArgument("-r", "--remove-member") + .nargs("*") + .help("Specify one or more members to remove from the group"); } @Override @@ -59,18 +62,26 @@ public class UpdateGroupCommand implements DbusCommand, LocalCommand { List groupMembers = ns.getList("member"); + List groupRemoveMembers = ns.getList("remove-member"); + var groupAvatar = ns.getString("avatar"); try { - var results = m.updateGroup(groupId, - groupName, - groupDescription, - groupMembers, - groupAvatar == null ? null : new File(groupAvatar)); - ErrorUtils.handleTimestampAndSendMessageResults(writer, 0, results.second()); - final var newGroupId = results.first(); if (groupId == null) { + var results = m.createGroup(groupName, + groupMembers, + groupAvatar == null ? null : new File(groupAvatar)); + ErrorUtils.handleTimestampAndSendMessageResults(writer, 0, results.second()); + final var newGroupId = results.first(); writer.println("Created new group: \"{}\"", newGroupId.toBase64()); + } else { + var results = m.updateGroup(groupId, + groupName, + groupDescription, + groupMembers, + groupRemoveMembers, + groupAvatar == null ? null : new File(groupAvatar)); + ErrorUtils.handleTimestampAndSendMessageResults(writer, results.first(), results.second()); } } catch (AttachmentInvalidException e) { throw new UserErrorException("Failed to add avatar attachment for group\": " + e.getMessage());