]> nmode's Git Repositories - signal-cli/blobdiff - src/main/java/org/asamk/signal/util/CommandUtil.java
Update user agent
[signal-cli] / src / main / java / org / asamk / signal / util / CommandUtil.java
index 48decc7a0c68323b83be4fbb2e8f67ac6997df81..039ac2a7f4d06edd36e2a17aacfab4769cfe41d4 100644 (file)
@@ -26,7 +26,8 @@ public class CommandUtil {
             final Manager m,
             final boolean isNoteToSelf,
             final List<String> recipientStrings,
-            final List<String> groupIdStrings
+            final List<String> groupIdStrings,
+            final List<String> usernameStrings
     ) throws UserErrorException {
         final var recipientIdentifiers = new HashSet<RecipientIdentifier>();
         if (isNoteToSelf) {
@@ -39,6 +40,9 @@ public class CommandUtil {
         if (groupIdStrings != null) {
             recipientIdentifiers.addAll(CommandUtil.getGroupIdentifiers(groupIdStrings));
         }
+        if (usernameStrings != null) {
+            recipientIdentifiers.addAll(CommandUtil.getUsernameIdentifiers(usernameStrings));
+        }
 
         if (recipientIdentifiers.isEmpty()) {
             throw new UserErrorException("No recipients given");
@@ -102,6 +106,17 @@ public class CommandUtil {
         }
     }
 
+    public static Set<RecipientIdentifier.Username> getUsernameIdentifiers(Collection<String> usernameIdStrings) {
+        if (usernameIdStrings == null) {
+            return Set.of();
+        }
+        final var usernameIds = new HashSet<RecipientIdentifier.Username>();
+        for (final var usernameIdString : usernameIdStrings) {
+            usernameIds.add(new RecipientIdentifier.Username(usernameIdString));
+        }
+        return usernameIds;
+    }
+
     public static String getCaptchaRequiredMessage(final CaptchaRequiredException e, final boolean captchaProvided) {
         String message;
         if (!captchaProvided) {