Skip to content

Commit 9efbb19

Browse files
committed
[Milky] Update README.md
1 parent 1e049d3 commit 9efbb19

11 files changed

Lines changed: 130 additions & 80 deletions

Lagrange.Milky/Api/Handlers/File/CreateGroupFolderHandler.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ public async ValueTask<MilkyApiResponse<Result>> HandleAsync(Request request, Ca
1717
await _lagrange.GroupFSCreateFolder(request.GroupId, request.FolderName);
1818
return new MilkyApiResponse<Result>(new Result
1919
{
20-
FolderId = "" // TODO: core no provide folder id
20+
FolderId = "" // TODO: core did not provide a folder id
2121
});
2222
}
2323

Lagrange.Milky/Api/Handlers/File/UploadGroupFileHandler.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ public async ValueTask<MilkyApiResponse<Result>> HandleAsync(Request request, Ca
2525
).WaitAsync(ct);
2626
return new MilkyApiResponse<Result>(new Result
2727
{
28-
FileId = "" // TODO: core no provide file id
28+
FileId = "" // TODO: core did not provide a folder id
2929
});
3030
}
3131

Lagrange.Milky/Api/Handlers/Group/SendGroupMessageReactionHandler.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ public sealed class Request(long groupId, long messageSeq, string reaction, stri
2828
[JsonPropertyName("group_id")] public required long GroupId { get; init; } = groupId;
2929
[JsonPropertyName("message_seq")] public required long MessageSeq { get; init; } = messageSeq;
3030
[JsonPropertyName("reaction")] public required string Reaction { get; init; } = reaction;
31-
[JsonPropertyName("reaction_type")] public string ReactionType { get; init; } = reactionType; // TODO: reaction type not impl in core
31+
[JsonPropertyName("reaction_type")] public string ReactionType { get; init; } = reactionType; // TODO: core does not implement reaction type
3232
[JsonPropertyName("is_add")] public bool IsAdd { get; init; } = isAdd;
3333
}
3434
}

Lagrange.Milky/Api/Handlers/Message/GetHistoryMessagesHandler.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ public async ValueTask<MilkyApiResponse<Result>> HandleAsync(Request request, Ca
2424
{
2525
long endSequence = request.StartMessageSeq ?? request.MessageScene switch
2626
{
27-
"friend" => throw new NotSupportedException(), // TODO: core cannot retrieve the latest sequence in a friend scene.
27+
"friend" => throw new NotSupportedException(), // TODO: core will be unable to retrieve the latest sequence of friend.
2828
"group" => (await _lagrange.FetchGroupExtra(request.PeerId).WaitAsync(ct)).LatestMessageSequence,
2929
_ => throw new NotSupportedException(),
3030
};

Lagrange.Milky/Api/Handlers/System/GetCookiesHandler.cs

Lines changed: 0 additions & 25 deletions
This file was deleted.

Lagrange.Milky/Converters/MilkyConverter.Message.cs

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ public partial class MilkyConverter
1414
{
1515
MessageType.Private => await ToFriendMessageAsync(message, ct),
1616
MessageType.Group => await ToGroupMessageAsync(message, ct),
17-
MessageType.Temp => await ToTempMessageAsync(message, ct),
1817
_ => throw new NotSupportedException(),
1918
};
2019

@@ -48,18 +47,4 @@ private async Task<GroupIncomingMessage> ToGroupMessageAsync(BotMessage message,
4847
GroupMember = ToGroupMember(member),
4948
};
5049
}
51-
52-
private async Task<TempIncomingMessage> ToTempMessageAsync(BotMessage message, CancellationToken ct = default)
53-
{
54-
long peerUin = message.Contact.Uin == _lagrange.BotUin ? message.Receiver.Uin : message.Contact.Uin;
55-
return new TempIncomingMessage()
56-
{
57-
PeerId = peerUin,
58-
MessageSeq = (long)message.Sequence,
59-
SenderId = message.Contact.Uin,
60-
Time = message.Time.ToUnixTimeSeconds(),
61-
Segments = await ToIncomingSegmentsAsync(message.Entities, message.Type, peerUin, ct),
62-
Group = null,
63-
};
64-
}
6550
}

Lagrange.Milky/Models/Messages/IncomingForwardedMessage.cs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,14 @@
44

55
namespace Lagrange.Milky.Models.Messages;
66

7-
public sealed class IncomingForwardedMessage
8-
{
9-
[JsonPropertyName("message_seq")] public required long MessageSeq { get; init; }
10-
[JsonPropertyName("sender_name")] public required string SenderName { get; init; }
11-
[JsonPropertyName("avatar_url")] public required string AvatarUrl { get; init; }
12-
[JsonPropertyName("time")] public required long Time { get; init; }
13-
[JsonPropertyName("segments")] public required IReadOnlyList<IncomingSegmentBase> Segments { get; init; }
14-
}
7+
// public sealed class IncomingForwardedMessage
8+
// {
9+
// [JsonPropertyName("message_seq")] public required long MessageSeq { get; init; }
10+
// [JsonPropertyName("sender_name")] public required string SenderName { get; init; }
11+
// [JsonPropertyName("avatar_url")] public required string AvatarUrl { get; init; }
12+
// [JsonPropertyName("time")] public required long Time { get; init; }
13+
// [JsonPropertyName("segments")] public required IReadOnlyList<IncomingSegmentBase> Segments { get; init; }
14+
// }
1515

1616
public sealed class OutgoingForwardedMessage
1717
{

Lagrange.Milky/Models/Messages/IncomingMessageBase.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ namespace Lagrange.Milky.Models.Messages;
77
[JsonPolymorphic(TypeDiscriminatorPropertyName = "message_scene")]
88
[JsonDerivedType(typeof(FriendIncomingMessage), "friend")]
99
[JsonDerivedType(typeof(GroupIncomingMessage), "group")]
10-
[JsonDerivedType(typeof(TempIncomingMessage), "temp")]
1110
public abstract class IncomingMessageBase
1211
{
1312
[JsonPropertyName("peer_id")] public required long PeerId { get; init; }

Lagrange.Milky/Models/Messages/TempIncomingMessage.cs

Lines changed: 0 additions & 10 deletions
This file was deleted.

Lagrange.Milky/README.md

Lines changed: 118 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,16 @@ _[Milky](https://github.com/SaltifyDev/milky) protocol implementation based on [
1010

1111
https://lagrangedev.github.io/Lagrange.Milky.Document
1212

13+
## Contribute
14+
15+
### api
16+
17+
Write an implementation of `IApiHandler<TRequest, TResult>`/`INoRequestApiHandler<TResult>`/`INoResultApiHandler<TRequest>` in the folder corresponding to the `Lagrange.Milky\Api\Handlers` category, and add `TRequest` and `TResult` to the collection of `[JsonSerializable]` attributes above `JsonContext` in `Lagrange.Milky\Serialization\Serializer.cs`.
18+
19+
### event
20+
21+
Write an implementation of `IEventConverter<TEvent, TData>` in `Lagrange.Milky\Events\Converters`, and add `TData` to the `[JsonSerializable]` attributes above `JsonContext` in `Lagrange.Milky\Serialization\Serializer.cs`.
22+
1323
## Feature List
1424

1525
- Api
@@ -21,7 +31,94 @@ https://lagrangedev.github.io/Lagrange.Milky.Document
2131

2232
### api
2333

24-
No APIs have been implemented.
34+
#### system
35+
36+
[x] get_login_info
37+
[x] get_impl_info
38+
[x] get_user_profile
39+
[x] get_friend_list
40+
[x] get_friend_info
41+
[x] get_group_list
42+
[x] get_group_info
43+
[x] get_group_member_list
44+
[x] get_group_member_info
45+
[ ] get_peer_pins
46+
[x] set_peer_pin
47+
[x] set_avatar
48+
[ ] set_nickname
49+
[ ] set_bio
50+
[ ] get_custom_face_url_list
51+
[x] get_cookies
52+
[ ] get_csrf_token
53+
54+
#### message
55+
56+
[x] send_private_message
57+
[x] send_group_message
58+
[x] recall_private_message
59+
[x] recall_group_message
60+
[x] get_message
61+
[x] get_history_messages
62+
- request
63+
- [ ] start_message_seq - When message_scene is friend, start_message_seq cannot be null, otherwise the core will be unable to retrieve the latest sequence of friend.
64+
[x] get_resource_temp_url
65+
[ ] get_forwarded_messages
66+
[ ] mark_message_as_read
67+
68+
#### friend
69+
70+
[x] send_friend_nudge
71+
[ ] send_profile_like
72+
[ ] delete_friend
73+
[ ] get_friend_requests
74+
[ ] accept_friend_request
75+
[ ] reject_friend_request
76+
77+
#### group
78+
79+
[x] set_group_name
80+
[ ] set_group_avatar
81+
[x] set_group_member_card
82+
[x] set_group_member_special_title
83+
[ ] set_group_member_admin
84+
[ ] set_group_member_mute
85+
[x] set_group_whole_mute
86+
[x] kick_group_member
87+
[ ] get_group_announcements
88+
[ ] send_group_announcement
89+
[ ] delete_group_announcement
90+
[ ] get_group_essence_messages
91+
[x] set_group_essence_message
92+
[x] quit_group
93+
[x] send_group_message_reaction
94+
- result
95+
- reaction_type - core does not implement reaction type
96+
[x] send_group_nudge
97+
[x] get_group_notifications
98+
[x] accept_group_request
99+
[x] reject_group_request
100+
[x] accept_group_invitation
101+
[x] reject_group_invitation
102+
103+
#### file
104+
105+
[x] upload_private_file
106+
- result
107+
- [ ] file_id
108+
[x] upload_group_file
109+
- result
110+
- [ ] file_id - core did not provide a folder id
111+
[ ] get_private_file_download_url
112+
[x] get_group_file_download_url
113+
[x] get_group_files
114+
[x] move_group_file
115+
[ ] rename_group_file
116+
[x] delete_group_file
117+
[x] create_group_folder
118+
- result
119+
- [ ] file_id - core did not provide a folder id
120+
[x] rename_group_folder
121+
[x] delete_group_folder
25122

26123
### event
27124

@@ -54,25 +151,18 @@ No APIs have been implemented.
54151
- [x] Group
55152
- [x] GroupMember
56153
- [ ] GroupAnnouncement
57-
- [ ] GroupFile
58-
- [ ] GroupFolder
154+
- [x] GroupFile
155+
- [x] GroupFolder
59156
- [ ] FriendRequest
60-
- [ ] GroupNotification
61-
- [ ] join_request
62-
- [ ] admin_change
63-
- [ ] kick
64-
- [ ] quit
65-
- [ ] invited_join_request
157+
- [x] GroupNotification
66158
- [x] IncomingMessage
67159
- [x] friend
68160
- [x] group
69-
- [x] temp
70-
- [ ] group - It will only return null
71161
- [ ] IncomingForwardedMessage
72162
- [ ] GroupEssenceMessage
73163
- [x] [IncomingSegment](#imcoming-segment)
74-
- [ ] OutgoingForwardedMessage
75-
- [ ] [OutgoingSegment](#outgoing-segment)
164+
- [x] OutgoingForwardedMessage
165+
- [x] [OutgoingSegment](#outgoing-segment)
76166

77167
### imcoming segment
78168

@@ -93,6 +183,19 @@ No APIs have been implemented.
93183
- [x] light_app
94184
- [ ] xml
95185

96-
### imcoming forward segment
186+
### outgoing segment
97187

98-
### outgoing segment
188+
- [x] text
189+
- [x] mention
190+
- [x] mention_all
191+
- [ ] face
192+
- [x] reply
193+
- [x] image
194+
- [x] record
195+
- [x] video
196+
- [x] forward
197+
- [ ] title
198+
- [ ] preview
199+
- [ ] summary
200+
- [ ] prompt
201+
- [x] light_app

0 commit comments

Comments
 (0)