- 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,
- groupAdmins,
- groupRemoveAdmins,
- groupResetLink,
- groupLinkState != null ? groupLinkState.toLinkState() : null,
- groupAvatar == null ? null : new File(groupAvatar),
- groupExpiration);
- ErrorUtils.handleTimestampAndSendMessageResults(writer, results.first(), results.second());
+ isNewGroup = true;
+ var results = m.createGroup(groupName, groupMembers, groupAvatar);
+ groupMessageResults = results.second();
+ groupId = results.first();
+ groupName = null;
+ groupMembers = null;
+ groupAvatar = null;
+ }
+
+ var results = m.updateGroup(groupId,
+ UpdateGroup.newBuilder()
+ .withName(groupName)
+ .withDescription(groupDescription)
+ .withMembers(groupMembers)
+ .withRemoveMembers(groupRemoveMembers)
+ .withAdmins(groupAdmins)
+ .withRemoveAdmins(groupRemoveAdmins)
+ .withBanMembers(groupBan)
+ .withUnbanMembers(groupUnban)
+ .withResetGroupLink(groupResetLink)
+ .withGroupLinkState(groupLinkState)
+ .withAddMemberPermission(groupAddMemberPermission)
+ .withEditDetailsPermission(groupEditDetailsPermission)
+ .withAvatarFile(groupAvatar)
+ .withExpirationTimer(groupExpiration)
+ .withIsAnnouncementGroup(groupSendMessagesPermission == null
+ ? null
+ : groupSendMessagesPermission == GroupPermission.ONLY_ADMINS)
+ .build());
+ if (results != null) {
+ if (groupMessageResults == null) {
+ groupMessageResults = results;
+ } else {
+ groupMessageResults = new SendGroupMessageResults(results.timestamp(),
+ Stream.concat(groupMessageResults.results().stream(), results.results().stream()).toList());
+ }