Skip to content

Commit 6fbcdcd

Browse files
committed
[Milky] Implement incoming file for group file messages
1 parent c5c92b7 commit 6fbcdcd

2 files changed

Lines changed: 27 additions & 0 deletions

File tree

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
using System.Text.Json.Serialization;
2+
3+
namespace Lagrange.Milky.Entity.Segment;
4+
5+
[method: JsonConstructor]
6+
public class FileIncomingSegment(FileIncomingSegmentData data) : IncomingSegmentBase<FileIncomingSegmentData>(data)
7+
{
8+
public FileIncomingSegment(string fileId, string fileName, long fileSize) : this(new FileIncomingSegmentData(fileId, fileName, fileSize, null)) { }
9+
10+
public FileIncomingSegment(string fileId, string fileName, long fileSize, string fileHash) : this(new FileIncomingSegmentData(fileId, fileName, fileSize, fileHash)) { }
11+
}
12+
13+
public class FileIncomingSegmentData(string fileId, string fileName, long fileSize, string? fileHash)
14+
{
15+
[JsonPropertyName("file_id")]
16+
public string FileId { get; } = fileId;
17+
18+
[JsonPropertyName("file_name")]
19+
public string FileName { get; } = fileName;
20+
21+
[JsonPropertyName("file_size")]
22+
public long FileSize { get; } = fileSize;
23+
24+
[JsonPropertyName("file_hash")]
25+
public string? FileHash { get; } = fileHash;
26+
}

Lagrange.Milky/Utility/EntityConvert.Segment.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@ public async Task<MessageChain> FakeSegmentsAsync(IReadOnlyList<IOutgoingSegment
7070
(int)video.VideoSize.Y,
7171
(int)video.VideoLength
7272
),
73+
GroupFileEntity groupFile => new FileIncomingSegment(groupFile.FileId, groupFile.FileName, groupFile.FileSize),
7374
MultiMsgEntity multiMsg => new ForwardIncomingSegment(multiMsg.ResId!),
7475
LightAppEntity lightApp => new LightAppIncomingSegment(lightApp.AppName, lightApp.Payload),
7576
// ? => new MarketFaceSegment(...),

0 commit comments

Comments
 (0)