This commit is contained in:
Jganenokk
2026-07-25 17:08:01 +07:00
parent 50acd58a9e
commit 6c084860b1
6 changed files with 209 additions and 34 deletions
+25 -2
View File
@@ -75,6 +75,7 @@ class ContactCache {
}
return _nameCache[id];
}
static String? getAvatar(int id) => _avatarCache[id];
static Set<String>? getOptions(int id) => _optionsCache[id];
static bool isOfficial(int id) =>
@@ -764,6 +765,7 @@ class MessagesModule {
bool notify = true,
int? scheduledTime,
int? replyToMessageId,
int? replySourceChatId,
List<Map<String, dynamic>> elements = const [],
}) async {
final message = <String, dynamic>{
@@ -775,7 +777,7 @@ class MessagesModule {
if (replyToMessageId != null) {
message['link'] = {
'type': 'REPLY',
'chatId': chatId,
'chatId': replySourceChatId ?? chatId,
'messageId': replyToMessageId,
};
}
@@ -790,6 +792,23 @@ class MessagesModule {
return _sendAndExtractMessageId(payload, 'Ошибка отправки');
}
Future<Packet> sendControlMessage(
int chatId,
Map<String, dynamic> control, {
bool notify = true,
}) {
final payload = {
'chatId': chatId,
'message': {
'cid': DateTime.now().millisecondsSinceEpoch * -1,
'text': '',
'attaches': [control],
},
'notify': notify,
};
return _api.sendRequest(Opcode.msgSend, payload);
}
Future<String> _sendAndExtractMessageId(
Map<String, dynamic> payload,
String defaultError,
@@ -1190,7 +1209,11 @@ class MessagesModule {
) async {
final accountId = await TokenStorage.getActiveAccountId();
if (accountId == null) return;
final existing = await AppDatabase.loadMessage(accountId, chatId, messageId);
final existing = await AppDatabase.loadMessage(
accountId,
chatId,
messageId,
);
if (existing == null) return;
Map<String, dynamic> payloadMap;