createTargetedGroupMessage method

V2TimMsgCreateInfoResult createTargetedGroupMessage({
  1. V2TimMessage? message,
  2. String? id,
  3. required List<String> receiverList,
})

Implementation

V2TimMsgCreateInfoResult createTargetedGroupMessage({V2TimMessage? message, String? id, required List<String> receiverList}) {
  if (message == null) {
    if (id == null) {
      return V2TimMsgCreateInfoResult();
    } else {
      if (!messageIDMap.containsKey(id)) {
        print("createTargetedGroupMessage failed, created message id is not exist");
        return V2TimMsgCreateInfoResult();
      }

      if (receiverList.isEmpty) {
        print("createTargetedGroupMessage failed, receiverList is empty");
        return V2TimMsgCreateInfoResult();
      }

      // 不支持群@消息
      message = messageIDMap[id]!;
      if (message.groupAtUserList != null && message.groupAtUserList!.isNotEmpty) {
        print("createTargetedGroupMessage failed, targeted group message does not support at message");
        return V2TimMsgCreateInfoResult();
      }
    }
  }

  message.targetGroupMemberList = receiverList;

  if (id != null && id.isNotEmpty) {
    messageIDMap[id] = message;
  }

  return V2TimMsgCreateInfoResult(id: id, messageInfo: message);
}