createGroup method

Future<EMGroup> createGroup({
  1. String? groupName,
  2. String? avatarUrl,
  3. String? desc,
  4. List<String>? inviteMembers,
  5. String? inviteReason,
  6. required EMGroupOptions options,
})

~english Creates a group.

Param groupName The group name. Param avatarUrl The group avatar URL. Param desc The group description. Param inviteMembers The group members to invite, not including the creator. Param inviteReason The invitation message for joining the group. Param options The group options, see EMGroupOptions.

Returns The created group instance.

Throws Exception description, see EMError. ~end

~chinese 创建群组。

Param groupName 群组名称。 Param avatarUrl 群组头像地址。 Param desc 群组描述。 Param inviteMembers 邀请的群成员,不包含创建者自己。 Param inviteReason 加入群组的邀请消息。 Param options 群组属性,详见 EMGroupOptions

Return 创建的群组实例。

Throws 如果有异常会在这里抛出,包含错误码和错误描述,详见 EMError. ~end

Implementation

Future<EMGroup> createGroup({
  String? groupName,
  String? avatarUrl,
  String? desc,
  List<String>? inviteMembers,
  String? inviteReason,
  required EMGroupOptions options,
}) async {
  try {
    Map req = {'options': options.toJson()};
    req.putIfNotNull("groupName", groupName);
    req.putIfNotNull("avatarUrl", avatarUrl);
    req.putIfNotNull("desc", desc);
    req.putIfNotNull("inviteMembers", inviteMembers);
    req.putIfNotNull("inviteReason", inviteReason);

    Map result = await Client.instance.groupManager
        .callNativeMethod(ChatMethodKeys.createGroup, req);
    EMError.hasErrorFromResult(result);
    return EMGroup.fromJson(result[ChatMethodKeys.createGroup]);
  } catch (e) {
    rethrow;
  }
}