Обновление протокола вложений

This commit is contained in:
RoyceDa
2026-03-27 15:58:16 +02:00
parent 7e0e97f472
commit 94ba139541
8 changed files with 56 additions and 35 deletions

View File

@@ -9,6 +9,17 @@ export enum AttachmentType {
CALL = 4
}
/**
* Информация о транспортировке вложения, нужна для загрузки и скачивания вложений с транспортного сервера
*/
export interface AttachmentTransport {
transport_tag: string;
transport_server: string;
}
/**
* Информация о кодировке вложения
*/
export interface AttachmentEncoding {
/**
* Для кого вложение закодировано (для какого диалога)
@@ -25,8 +36,7 @@ export interface Attachment {
blob: string;
type: AttachmentType;
preview: string;
transport_tag: string;
transport_server: string;
transport: AttachmentTransport;
encoding: AttachmentEncoding;
}
@@ -65,13 +75,15 @@ export class PacketMessage extends Packet {
let preview = stream.readString();
let blob = stream.readString();
let type = stream.readInt8() as AttachmentType;
let transport_tag = stream.readString();
let transport_server = stream.readString();
const transport : AttachmentTransport = {
transport_tag: stream.readString(),
transport_server: stream.readString()
}
const encoding : AttachmentEncoding = {
encoded_for: stream.readString(),
encoder: stream.readString()
}
this.attachments.push({id, preview, type, blob, transport_tag, transport_server, encoding});
this.attachments.push({id, preview, type, blob, transport, encoding});
}
this.aesChachaKey = stream.readString();
}
@@ -92,8 +104,8 @@ export class PacketMessage extends Packet {
stream.writeString(this.attachments[i].preview);
stream.writeString(this.attachments[i].blob);
stream.writeInt8(this.attachments[i].type);
stream.writeString(this.attachments[i].transport_tag);
stream.writeString(this.attachments[i].transport_server);
stream.writeString(this.attachments[i].transport.transport_tag);
stream.writeString(this.attachments[i].transport.transport_server);
stream.writeString(this.attachments[i].encoding.encoded_for);
stream.writeString(this.attachments[i].encoding.encoder);
}