addTextOrRefrenceMessage method
Future<void>
addTextOrRefrenceMessage(
- String text, [
- RCIMIWMessage? referenceMessage,
- List<
String> ? mentionList
Implementation
Future<void> addTextOrRefrenceMessage(String text,
[RCIMIWMessage? referenceMessage, List<String>? mentionList]) async {
RCIMIWMessage? message;
if (referenceMessage != null) {
message = await engineProvider.engine?.createReferenceMessage(
_con.conversationType ?? RCIMIWConversationType.invalid,
_con.targetId ?? '',
_con.channelId,
referenceMessage,
text,
);
} else {
message = await engineProvider.engine?.createTextMessage(
_con.conversationType ?? RCIMIWConversationType.invalid,
_con.targetId ?? '',
_con.channelId,
text,
);
}
if (mentionList != null && mentionList.isNotEmpty) {
RCIMIWMentionedType? type;
if (mentionList.contains('All')) {
// 如果mentionList中包含'id'为'All'的节点,则处理@所有成员的逻辑
type = RCIMIWMentionedType.all;
} else {
type = RCIMIWMentionedType.part;
}
RCIMIWMentionedInfo mentionedInfo =
RCIMIWMentionedInfo.create(type: type, userIdList: mentionList);
message?.mentionedInfo = mentionedInfo;
}
if (message != null) {
sendMessage(message);
}
}