diff --git a/Lagrange.Core/Message/Entities/LightAppEntity.cs b/Lagrange.Core/Message/Entities/LightAppEntity.cs index 5315e78c3..c5043d284 100644 --- a/Lagrange.Core/Message/Entities/LightAppEntity.cs +++ b/Lagrange.Core/Message/Entities/LightAppEntity.cs @@ -23,9 +23,10 @@ public LightAppEntity(string payload) Elem[] IMessageEntity.Build() { - using var payload = new BinaryPacket(); + var compressed = ZCompression.ZCompress(Encoding.UTF8.GetBytes(Payload)); + using var payload = new BinaryPacket(1 + compressed.Length); payload.Write(0x01); - payload.Write(ZCompression.ZCompress(Encoding.UTF8.GetBytes(Payload))); + payload.Write(compressed); return new Elem[] { diff --git a/Lagrange.Core/Message/MessageBuilder.cs b/Lagrange.Core/Message/MessageBuilder.cs index f54ba6a7b..dbe539b46 100644 --- a/Lagrange.Core/Message/MessageBuilder.cs +++ b/Lagrange.Core/Message/MessageBuilder.cs @@ -93,7 +93,13 @@ public MessageBuilder Video(Stream video, Stream? thumbnail = null, bool dispose _entities.Add(new VideoEntity(video, thumbnail, disposeOnCompletion)); return this; } - + + public MessageBuilder LightApp(string json) + { + _entities.Add(new LightAppEntity(json)); + return this; + } + public static MessageBuilder operator +(MessageBuilder builder, IMessageEntity entity) { builder._entities.Add(entity);