X-Git-Url: https://git.nmode.ca/signal-cli/blobdiff_plain/0a68303ca448f69a5655beb23f4213187dbce0b4..5845dad7690da09c696649544a1f396b0a01f080:/src/main/java/org/asamk/signal/Main.java diff --git a/src/main/java/org/asamk/signal/Main.java b/src/main/java/org/asamk/signal/Main.java index 2377e125..b18b2e0a 100644 --- a/src/main/java/org/asamk/signal/Main.java +++ b/src/main/java/org/asamk/signal/Main.java @@ -491,6 +491,23 @@ public class Main { return 3; } + break; + case "listGroups": + if (dBusConn != null) { + System.err.println("listGroups is not yet implemented via dbus"); + return 1; + } + if (!m.isRegistered()) { + System.err.println("User is not registered."); + return 1; + } + + List groups = m.getGroups(); + boolean detailed = ns.getBoolean("detailed"); + + for (GroupInfo group : groups) { + printGroup(group, detailed); + } break; case "listIdentities": if (dBusConn != null) { @@ -622,6 +639,16 @@ public class Main { System.out.println(String.format("%s: %s Added: %s Fingerprint: %s Safety Number: %s", theirUsername, theirId.trustLevel, theirId.added, Hex.toStringCondensed(theirId.getFingerprint()), digits)); } + + private static void printGroup(GroupInfo group, boolean detailed) { + if (detailed) { + System.out.println(String.format("Id: %s Name: %s Active: %s Members: %s", + Base64.encodeBytes(group.groupId), group.name, group.active, group.members)); + } else { + System.out.println(String.format("Id: %s Name: %s Active: %s", Base64.encodeBytes(group.groupId), + group.name, group.active)); + } + } private static String formatSafetyNumber(String digits) { final int partCount = 12; @@ -751,6 +778,11 @@ public class Main { parserUpdateGroup.addArgument("-m", "--member") .nargs("*") .help("Specify one or more members to add to the group"); + + Subparser parserListGroups = subparsers.addParser("listGroups"); + parserListGroups.addArgument("-d", "--detailed").action(Arguments.storeTrue()) + .help("List members of each group"); + parserListGroups.help("List group name and ids"); Subparser parserListIdentities = subparsers.addParser("listIdentities"); parserListIdentities.addArgument("-n", "--number")