[Milky] Refactor?#908
Merged
Merged
Conversation
…lean up redundant files, update docs and config
Contributor
There was a problem hiding this comment.
Pull request overview
This PR is a large refactor of the Lagrange.Milky implementation, replacing the previous Entity/* + Utility/* style with a new Models/Converters/Handlers architecture (plus a new source generator) for API and event serialization.
Changes:
- Replaced legacy Entity/Utility converters and handlers with new
Models/*,Converters/*, andApi/Handlers/*structure. - Introduced new event conversion pipeline (
Events/Converters/*) and API handler abstractions + unifiedMilkyApiResponse. - Updated project wiring (csproj/slnx), dependencies, and added new caching/logging/services utilities.
Reviewed changes
Copilot reviewed 243 out of 244 changed files in this pull request and generated 9 comments.
Show a summary per file
| File | Description |
|---|---|
| Lagrange.Milky/Utility/ResourceResolver.cs | Removed legacy URI→MemoryStream resolver (replaced by ResourceConverter). |
| Lagrange.Milky/Utility/EntityConvert.Misc.cs | Removed legacy entity conversion helpers. |
| Lagrange.Milky/Utility/EntityConvert.Message.cs | Removed legacy message conversion. |
| Lagrange.Milky/Utility/EntityConvert.GroupNotification.cs | Removed legacy group notification conversion. |
| Lagrange.Milky/Utility/EntityConvert.cs | Removed legacy EntityConvert root. |
| Lagrange.Milky/Utility/CaptchaResolver/OnlineCaptchaResolver.cs | Removed old online captcha resolver implementation. |
| Lagrange.Milky/Utility/CaptchaResolver/ManualCaptchaResolver.cs | Removed old manual captcha resolver implementation. |
| Lagrange.Milky/Utility/CaptchaResolver/ICaptchaResolver.cs | Removed old captcha resolver interface. |
| Lagrange.Milky/Utility/Cache/LruCache.cs | Removed custom LRU cache. |
| Lagrange.Milky/Utility/Cache/ICache.cs | Removed custom cache abstraction. |
| Lagrange.Milky/Utility/Cache/FifoCache.cs | Removed custom FIFO cache. |
| Lagrange.Milky/Utilities/TaskCompletionTracker.cs | Added task draining/tracking utility. |
| Lagrange.Milky/Resources/Dockerfile | Removed Milky docker build recipe. |
| Lagrange.Milky/Resources/appsettings.json | Added embedded default configuration file. |
| Lagrange.Milky/Models/Segments/VideoSegment.cs | Added new JSON-model segment types (video). |
| Lagrange.Milky/Models/Segments/TextSegment.cs | Added new JSON-model segment types (text). |
| Lagrange.Milky/Models/Segments/SegmentBase.cs | Added polymorphic base types for segments. |
| Lagrange.Milky/Models/Segments/ReplySegment.cs | Added reply segment model types. |
| Lagrange.Milky/Models/Segments/RecordSegment.cs | Added record segment model types. |
| Lagrange.Milky/Models/Segments/MentionSegment.cs | Added mention segment model types. |
| Lagrange.Milky/Models/Segments/MentionAllSegment.cs | Added mention-all segment model types. |
| Lagrange.Milky/Models/Segments/LightAppSegment.cs | Added light-app segment model types. |
| Lagrange.Milky/Models/Segments/ImageSegment.cs | Added image segment model types. |
| Lagrange.Milky/Models/Segments/ForwardSegment.cs | Added forward segment model types. |
| Lagrange.Milky/Models/Segments/FileSegment.cs | Added file segment model types. |
| Lagrange.Milky/Models/Messages/TempIncomingMessage.cs | Added temp incoming message model. |
| Lagrange.Milky/Models/Messages/IncomingMessageBase.cs | Added polymorphic base for incoming messages. |
| Lagrange.Milky/Models/Messages/IncomingForwardedMessage.cs | Added forwarded message models. |
| Lagrange.Milky/Models/Messages/GroupIncomingMessage.cs | Added group incoming message model. |
| Lagrange.Milky/Models/Messages/FriendIncomingMessage.cs | Added friend incoming message model. |
| Lagrange.Milky/Models/GroupMember.cs | Added GroupMember model. |
| Lagrange.Milky/Models/GroupFolder.cs | Added GroupFolder model. |
| Lagrange.Milky/Models/GroupFile.cs | Added GroupFile model. |
| Lagrange.Milky/Models/Group.cs | Added Group model. |
| Lagrange.Milky/Models/FriendCategory.cs | Added FriendCategory model. |
| Lagrange.Milky/Models/Friend.cs | Added Friend model. |
| Lagrange.Milky/Logging/LagrangeLoggingService.cs | Added hosted service bridging core log events to MS logging. |
| Lagrange.Milky/Lagrange.Milky.csproj | Updated dependencies/resources and generator reference. |
| Lagrange.Milky/Http/IHttpHandler.cs | Added HttpListener handler abstraction. |
| Lagrange.Milky/Extensions/QrCodeExtension.cs | Renamed/moved QR helper into Extensions + extension method form. |
| Lagrange.Milky/Extensions/HttpListenerContextExtension.cs | Added helper for returning status (+ optional CORS header). |
| Lagrange.Milky/Extensions/DateTimeExtension.cs | Updated DateTime→unix conversion helper. |
| Lagrange.Milky/Extension/ServiceCollectionExtension.cs | Removed legacy API handler registration extension (moved to generator/ApiExtension). |
| Lagrange.Milky/Extension/ReaderWriterLockSlimExtension.cs | Removed lock helper types. |
| Lagrange.Milky/Extension/MessageEntityExtension.cs | Removed message debug helpers. |
| Lagrange.Milky/Extension/MessageChainExtension.cs | Removed message chain debug helpers. |
| Lagrange.Milky/Extension/LoggerFilterOptionsExtension.cs | Removed logger filter helpers. |
| Lagrange.Milky/Events/MilkyEvent.cs | Added generic event envelope model. |
| Lagrange.Milky/Events/IGenericEventHandler.cs | Added generic event handler interface. |
| Lagrange.Milky/Events/Extensions/EventExtension.cs | Added event registration/service wiring extension points (partial). |
| Lagrange.Milky/Events/Converters/MessageReceiveConverter.cs | Added message receive event converter. |
| Lagrange.Milky/Events/Converters/MessageRecallEventConverter.cs | Added recall event converters and data model. |
| Lagrange.Milky/Events/Converters/IEventConverter.cs | Added event converter abstraction. |
| Lagrange.Milky/Events/Converters/GroupNudgeEventConverter.cs | Added group nudge event converter. |
| Lagrange.Milky/Events/Converters/GroupMessageReactionEventConverter.cs | Added message reaction event converter. |
| Lagrange.Milky/Events/Converters/GroupMemberIncreaseEventConverter.cs | Added member increase event converter. |
| Lagrange.Milky/Events/Converters/GroupMemberDecreaseEventConverter.cs | Added member decrease event converter. |
| Lagrange.Milky/Events/Converters/GroupJoinRequestEventConverter.cs | Added join request event converter. |
| Lagrange.Milky/Events/Converters/GroupInvitedJoinRequestEventConverter.cs | Added invited join request event converter. |
| Lagrange.Milky/Events/Converters/GroupInvitationEventConverter.cs | Added group invitation event converter. |
| Lagrange.Milky/Events/Converters/FriendRequestEventConverter.cs | Added friend request event converter. |
| Lagrange.Milky/Events/Converters/BotOfflineEventConverter.cs | Added bot offline event converter. |
| Lagrange.Milky/Events/Attributes/EventConverterAttribute.cs | Added attribute for event converter discovery/DI metadata. |
| Lagrange.Milky/Event/MilkyWebHookEventService.cs | Removed legacy webhook event service. |
| Lagrange.Milky/Entity/Segment/XmlSegment.cs | Removed legacy entity segment types (xml). |
| Lagrange.Milky/Entity/Segment/VideoSegment.cs | Removed legacy entity segment types (video). |
| Lagrange.Milky/Entity/Segment/TextSegment.cs | Removed legacy entity segment types (text). |
| Lagrange.Milky/Entity/Segment/SegmentBase.cs | Removed legacy entity segment bases. |
| Lagrange.Milky/Entity/Segment/ReplySegment.cs | Removed legacy entity reply segment. |
| Lagrange.Milky/Entity/Segment/RecordSegment.cs | Removed legacy entity record segment. |
| Lagrange.Milky/Entity/Segment/MentionSegment.cs | Removed legacy entity mention segment. |
| Lagrange.Milky/Entity/Segment/MentionAllSegment.cs | Removed legacy entity mention-all segment. |
| Lagrange.Milky/Entity/Segment/MarketFaceSegment.cs | Removed legacy entity market-face segment. |
| Lagrange.Milky/Entity/Segment/LightAppSegment.cs | Removed legacy entity light-app segment. |
| Lagrange.Milky/Entity/Segment/ISegment.cs | Removed legacy segment interfaces + polymorphic wiring. |
| Lagrange.Milky/Entity/Segment/ImageSegment.cs | Removed legacy entity image segment. |
| Lagrange.Milky/Entity/Segment/ForwardSegment.cs | Removed legacy entity forward segment. |
| Lagrange.Milky/Entity/Segment/FileSegment.cs | Removed legacy entity file segment. |
| Lagrange.Milky/Entity/Segment/FaceSegment.cs | Removed legacy entity face segment. |
| Lagrange.Milky/Entity/Message/TempMessage.cs | Removed legacy entity temp message. |
| Lagrange.Milky/Entity/Message/MessageBase.cs | Removed legacy entity message base. |
| Lagrange.Milky/Entity/Message/GroupMessage.cs | Removed legacy entity group message. |
| Lagrange.Milky/Entity/Message/FriendMessage.cs | Removed legacy entity friend message. |
| Lagrange.Milky/Entity/GroupNotification/GroupQuitNotification.cs | Removed legacy group notification models. |
| Lagrange.Milky/Entity/GroupNotification/GroupNotificationBase.cs | Removed legacy group notification base. |
| Lagrange.Milky/Entity/GroupNotification/GroupKickNotification.cs | Removed legacy group kick notification model. |
| Lagrange.Milky/Entity/GroupNotification/GroupJoinRequestNotification.cs | Removed legacy group join request notification model. |
| Lagrange.Milky/Entity/GroupNotification/GroupInvitedJoinRequestNotification.cs | Removed legacy invited join request notification model. |
| Lagrange.Milky/Entity/GroupNotification/GroupAdminChangeNotification.cs | Removed legacy admin change notification model. |
| Lagrange.Milky/Entity/GroupMember.cs | Removed legacy GroupMember entity. |
| Lagrange.Milky/Entity/Group.cs | Removed legacy Group entity. |
| Lagrange.Milky/Entity/FriendCategory.cs | Removed legacy FriendCategory entity. |
| Lagrange.Milky/Entity/Friend.cs | Removed legacy Friend entity. |
| Lagrange.Milky/Entity/Event/MessageReceiveEvent.cs | Removed legacy typed event entities. |
| Lagrange.Milky/Entity/Event/GroupRecallEvent.cs | Removed legacy recall event entity. |
| Lagrange.Milky/Entity/Event/GroupNudgeEvent.cs | Removed legacy nudge event entity. |
| Lagrange.Milky/Entity/Event/GroupMemberIncreaseEvent.cs | Removed legacy member increase event entity. |
| Lagrange.Milky/Entity/Event/GroupMemberDecreaseEvent.cs | Removed legacy member decrease event entity. |
| Lagrange.Milky/Entity/Event/GroupInvitationEvent.cs | Removed legacy group invitation event entity. |
| Lagrange.Milky/Entity/Event/FriendRequestEvent.cs | Removed legacy friend request event entity. |
| Lagrange.Milky/Entity/Event/EventBase.cs | Removed legacy event base entity. |
| Lagrange.Milky/Entity/Event/BotOfflineEvent.cs | Removed legacy bot offline event entity. |
| Lagrange.Milky/Core/CoreLoggerService.cs | Removed legacy core logger service. |
| Lagrange.Milky/Converters/ResourceConverter.cs | Added new URI→Stream converter. |
| Lagrange.Milky/Converters/MilkyConverter.Message.cs | Added new message→model conversion. |
| Lagrange.Milky/Converters/MilkyConverter.cs | Added converter root (BotContext/cache/resource converter). |
| Lagrange.Milky/Constants.cs | Updated constants/version discovery logic. |
| Lagrange.Milky/Configurations/MilkyConfiguration.cs | Added new configuration object model. |
| Lagrange.Milky/Configurations/LagrangeConfiguration.cs | Added new Lagrange configuration object model. |
| Lagrange.Milky/Configuration/WebHookConfiguration.cs | Removed legacy configuration types. |
| Lagrange.Milky/Configuration/SignerConfiguration.cs | Removed legacy configuration types. |
| Lagrange.Milky/Configuration/ServerConfiguration.cs | Removed legacy configuration types. |
| Lagrange.Milky/Configuration/MilkyConfiguration.cs | Removed legacy configuration types. |
| Lagrange.Milky/Configuration/MessageConfiguration.cs | Removed legacy configuration types. |
| Lagrange.Milky/Configuration/LoginConfiguration.cs | Removed legacy configuration types. |
| Lagrange.Milky/Configuration/CoreConfiguration.cs | Removed legacy configuration types. |
| Lagrange.Milky/Configuration/CacheConfiguration.cs | Removed legacy configuration types. |
| Lagrange.Milky/Captcha/ManualCaptchaResolver.cs | Added new manual captcha resolver (logging + cancellable input). |
| Lagrange.Milky/Captcha/ICaptchaResolver.cs | Added new captcha resolver interface. |
| Lagrange.Milky/Caching/MessageCache.cs | Added memory-cache-backed message cache. |
| Lagrange.Milky/Caching/CacheService.cs | Added hosted service that populates cache from message events. |
| Lagrange.Milky/Api/Result/ApiOkResult.cs | Removed old API result wrappers. |
| Lagrange.Milky/Api/Result/ApiFailedResult.cs | Removed old API result wrappers. |
| Lagrange.Milky/Api/MilkyApiResponse.cs | Added unified API response wrapper. |
| Lagrange.Milky/Api/Handlers/System/SetPeerPinHandler.cs | Added new system API handler. |
| Lagrange.Milky/Api/Handlers/System/SetAvatarHandler.cs | Added new system API handler. |
| Lagrange.Milky/Api/Handlers/System/GetUserProfileHandler.cs | Added new system API handler. |
| Lagrange.Milky/Api/Handlers/System/GetLoginInfoHandler.cs | Added new system API handler. |
| Lagrange.Milky/Api/Handlers/System/GetImplInfoHandler.cs | Added new system API handler. |
| Lagrange.Milky/Api/Handlers/System/GetGroupMemberListHandler.cs | Added new system API handler. |
| Lagrange.Milky/Api/Handlers/System/GetGroupMemberInfoHandler.cs | Added new system API handler. |
| Lagrange.Milky/Api/Handlers/System/GetGroupListHandler.cs | Added new system API handler. |
| Lagrange.Milky/Api/Handlers/System/GetGroupInfoHandler.cs | Added new system API handler. |
| Lagrange.Milky/Api/Handlers/System/GetFriendListHandler.cs | Added new system API handler. |
| Lagrange.Milky/Api/Handlers/System/GetFriendInfoHandler.cs | Added new system API handler. |
| Lagrange.Milky/Api/Handlers/System/GetCookiesHandler.cs | Added new system API handler (currently TODO). |
| Lagrange.Milky/Api/Handlers/Message/SendPrivateMessageHandler.cs | Added new message API handler. |
| Lagrange.Milky/Api/Handlers/Message/SendGroupMessageHandler.cs | Added new message API handler. |
| Lagrange.Milky/Api/Handlers/Message/RecallPrivateMessageHandler.cs | Added new message API handler. |
| Lagrange.Milky/Api/Handlers/Message/RecallGroupMessageHandler.cs | Added new message API handler. |
| Lagrange.Milky/Api/Handlers/Message/GetResourceTempUrlHandler.cs | Added new message API handler. |
| Lagrange.Milky/Api/Handlers/Message/GetMessageHandler.cs | Added new message API handler. |
| Lagrange.Milky/Api/Handlers/IApiHandler.cs | Added new API handler abstractions. |
| Lagrange.Milky/Api/Handlers/Group/SetGroupWholeMuteHandler.cs | Added new group API handler. |
| Lagrange.Milky/Api/Handlers/Group/SetGroupNameHandler.cs | Added new group API handler. |
| Lagrange.Milky/Api/Handlers/Group/SetGroupMemberSpecialTitleHandler.cs | Added new group API handler. |
| Lagrange.Milky/Api/Handlers/Group/SetGroupMemberCardHandler.cs | Added new group API handler. |
| Lagrange.Milky/Api/Handlers/Group/SetGroupEssenceMessageHandler.cs | Added new group API handler. |
| Lagrange.Milky/Api/Handlers/Group/SendGroupNudgeHandler.cs | Added new group API handler. |
| Lagrange.Milky/Api/Handlers/Group/SendGroupMessageReactionHandler.cs | Added new group API handler. |
| Lagrange.Milky/Api/Handlers/Group/RejectGroupRequestHandler.cs | Added new group API handler. |
| Lagrange.Milky/Api/Handlers/Group/RejectGroupInvitationHandler.cs | Added new group API handler. |
| Lagrange.Milky/Api/Handlers/Group/QuitGroupHandler.cs | Added new group API handler. |
| Lagrange.Milky/Api/Handlers/Group/KickGroupMemberHandler.cs | Added new group API handler. |
| Lagrange.Milky/Api/Handlers/Group/GetGroupNotificationsHandler.cs | Added new group API handler. |
| Lagrange.Milky/Api/Handlers/Group/AcceptGroupRequestHandler.cs | Added new group API handler. |
| Lagrange.Milky/Api/Handlers/Group/AcceptGroupInvitationHandler.cs | Added new group API handler. |
| Lagrange.Milky/Api/Handlers/Friend/SendFriendNudgeHandler.cs | Added new friend API handler. |
| Lagrange.Milky/Api/Handlers/File/UploadPrivateFileHandler.cs | Added new file API handler. |
| Lagrange.Milky/Api/Handlers/File/UploadGroupFileHandler.cs | Added new file API handler. |
| Lagrange.Milky/Api/Handlers/File/RenameGroupFolderHandler.cs | Added new file API handler. |
| Lagrange.Milky/Api/Handlers/File/MoveGroupFileHandler.cs | Added new file API handler. |
| Lagrange.Milky/Api/Handlers/File/GetGroupFilesHandler.cs | Added new file API handler. |
| Lagrange.Milky/Api/Handlers/File/GetGroupFileDownloadUrlHandler.cs | Added new file API handler. |
| Lagrange.Milky/Api/Handlers/File/DeleteGroupFolderHandler.cs | Added new file API handler. |
| Lagrange.Milky/Api/Handlers/File/DeleteGroupFileHandler.cs | Added new file API handler. |
| Lagrange.Milky/Api/Handlers/File/CreateGroupFolderHandler.cs | Added new file API handler. |
| Lagrange.Milky/Api/Handler/System/GetUserProfileHandler.cs | Removed legacy API handler implementation. |
| Lagrange.Milky/Api/Handler/System/GetLoginInfoHandler.cs | Removed legacy API handler implementation. |
| Lagrange.Milky/Api/Handler/System/GetImplInfoHandler.cs | Removed legacy API handler implementation. |
| Lagrange.Milky/Api/Handler/System/GetGroupMemberListHandler.cs | Removed legacy API handler implementation. |
| Lagrange.Milky/Api/Handler/System/GetGroupMemberInfoHandler.cs | Removed legacy API handler implementation. |
| Lagrange.Milky/Api/Handler/System/GetGroupListHandler.cs | Removed legacy API handler implementation. |
| Lagrange.Milky/Api/Handler/System/GetGroupInfoHandler.cs | Removed legacy API handler implementation. |
| Lagrange.Milky/Api/Handler/System/GetFriendListHandler.cs | Removed legacy API handler implementation. |
| Lagrange.Milky/Api/Handler/System/GetFriendInfoHandler.cs | Removed legacy API handler implementation. |
| Lagrange.Milky/Api/Handler/System/GetCookiesHandler.cs | Removed legacy API handler implementation. |
| Lagrange.Milky/Api/Handler/Message/SendPrivateMessageHandler.cs | Removed legacy API handler implementation. |
| Lagrange.Milky/Api/Handler/Message/SendGroupMessageHandler.cs | Removed legacy API handler implementation. |
| Lagrange.Milky/Api/Handler/Message/RecallPrivateMessageHandler.cs | Removed legacy API handler implementation. |
| Lagrange.Milky/Api/Handler/Message/RecallGroupMessageHandler.cs | Removed legacy API handler implementation. |
| Lagrange.Milky/Api/Handler/Message/GetResourceTempUrlHandler.cs | Removed legacy API handler implementation. |
| Lagrange.Milky/Api/Handler/Message/GetMessageHandler.cs | Removed legacy API handler implementation. |
| Lagrange.Milky/Api/Handler/Message/GetHistoryMessagesHandler.cs | Removed legacy history messages handler. |
| Lagrange.Milky/Api/Handler/IApiHandler.cs | Removed legacy API handler abstraction. |
| Lagrange.Milky/Api/Handler/Group/SetGroupNameHandler.cs | Removed legacy group API handler. |
| Lagrange.Milky/Api/Handler/Group/SetGroupMemberSpecialTitleHandler.cs | Removed legacy group API handler. |
| Lagrange.Milky/Api/Handler/Group/SetGroupMemberCardHandler.cs | Removed legacy group API handler. |
| Lagrange.Milky/Api/Handler/Group/SendGroupNudgeHandler.cs | Removed legacy group API handler. |
| Lagrange.Milky/Api/Handler/Group/SendGroupMessageReactionHandler.cs | Removed legacy group API handler. |
| Lagrange.Milky/Api/Handler/Group/QuitGroupHandler.cs | Removed legacy group API handler. |
| Lagrange.Milky/Api/Handler/Group/GetGroupNotificationsHandler.cs | Removed legacy group notifications handler. |
| Lagrange.Milky/Api/Handler/Friend/SendFriendNudgeHandler.cs | Removed legacy friend API handler. |
| Lagrange.Milky/Api/Handler/File/UploadPrivateFileHandler.cs | Removed legacy file API handler. |
| Lagrange.Milky/Api/Handler/File/UploadGroupFileHandler.cs | Removed legacy file API handler. |
| Lagrange.Milky/Api/Handler/File/GetGroupFileDownloadUrlHandler.cs | Removed legacy file API handler. |
| Lagrange.Milky/Api/Handler/File/DeleteGroupFileHandler.cs | Removed legacy file API handler. |
| Lagrange.Milky/Api/Extensions/ApiExtension.cs | Added new partial extension entry point for generator-based registration. |
| Lagrange.Milky/Api/Exception/ApiException.cs | Removed legacy API exception type. |
| Lagrange.Milky/Api/Attributes/ApiHandlerAttribute.cs | Added attribute for API handler discovery/DI metadata. |
| Lagrange.Milky/Api/ApiAttribute.cs | Removed legacy Api attribute. |
| Lagrange.Milky.Implementation.Api.Generator/Extension/SymbolExtension.cs | Removed old generator utilities. |
| Lagrange.Milky.Implementation.Api.Generator/Extension/AttributeSyntaxExtension.cs | Removed old generator utilities. |
| Lagrange.Milky.Implementation.Api.Generator/DiagnosticDescriptors.cs | Removed old generator diagnostics. |
| Lagrange.Milky.Implementation.Api.Generator/ApiHandlerInfo.cs | Removed old generator plumbing. |
| Lagrange.Milky.Generator/Utilities/StringLongTupleComparer.cs | Added generator utility comparer. |
| Lagrange.Milky.Generator/Lagrange.Milky.Generator.csproj | Updated generator lang version and Roslyn dependencies. |
| Lagrange.Milky.Generator/GlobalSuppressions.cs | Added suppressions for analyzer rules. |
| Lagrange.Milky.Generator/Extensions/SymbolExtension.cs | Added generator symbol equality helper. |
| Lagrange.Milky.Generator/Events/EventDiagnosticDescriptors.cs | Added generator diagnostics for events. |
| Lagrange.Milky.Generator/Api/ApiDiagnosticDescriptors.cs | Added generator diagnostics for API handlers. |
| Lagrange.Core.slnx | Switched solution to new generator project reference. |
Comments suppressed due to low confidence (1)
Lagrange.Milky/Extensions/DateTimeExtension.cs:8
- ToUnixTimeSeconds now uses new DateTimeOffset(time), which treats DateTimeKind.Unspecified values as local time. Core message times are constructed via DateTimeOffset.FromUnixTimeSeconds(...).DateTime (Kind=Unspecified), so this change can shift timestamps by the local offset.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Comment on lines
+27
to
+33
| private async ValueTask<Stream> HttpToStreamAsync(string uri, CancellationToken ct) | ||
| { | ||
| var response = await _http.GetAsync(uri, ct); | ||
| response.EnsureSuccessStatusCode(); | ||
|
|
||
| return await response.Content.ReadAsStreamAsync(ct); | ||
| } |
Comment on lines
+35
to
+44
| private ValueTask<Stream> Base64ToStreamAsync(string uri) | ||
| { | ||
| var base64 = uri.AsSpan("base64://".Length); | ||
| byte[] bytes = new byte[(int)(4 * Math.Ceiling((decimal)(base64.Length / 3)))]; | ||
| if (!Convert.TryFromBase64Chars(base64, bytes, out _)) | ||
| { | ||
| throw new FormatException("The 'base64://' URI does not contain valid Base64 data."); | ||
| } | ||
| return ValueTask.FromResult<Stream>(new MemoryStream(bytes, writable: false)); | ||
| } |
Comment on lines
+15
to
+20
| public async ValueTask<MilkyApiResponse> HandleAsync(Request request, CancellationToken ct) | ||
| { | ||
| return await _lagrange.KickGroupMember(request.GroupId, request.UserId, request.RejectAddRequest).WaitAsync(ct) | ||
| ? new MilkyApiResponse(-500, "unknown error") | ||
| : new MilkyApiResponse(); | ||
| } |
Comment on lines
+20
to
+24
| int plusIndex = version.LastIndexOf('+'); | ||
| if (plusIndex < 0) return "unknown"; | ||
|
|
||
| return version.Substring(plusIndex + 1, length); | ||
| } |
Comment on lines
+9
to
+20
| "Signer": { | ||
| "BaseUrl": "https://sign.lagrangecore.org/api/", | ||
| "Token": "" | ||
| // "ProxyUrl": null // url, only http | ||
| } | ||
| }, | ||
| "Login": { | ||
| "Uin": 0 // Must be set | ||
| // "Passwrod": null // string | ||
| // "AutoReLogin": true | ||
| // "UseOnlineCaptchResolver": true | ||
| } |
Comment on lines
+29
to
+33
| [JsonPropertyName("group_id")] public required long GroupId { get; init; } | ||
| [JsonPropertyName("invitation_seq")] public required long InvitationSeq { get; init; } | ||
| [JsonPropertyName("initiator_id")] public required long InitiatorId { get; init; } | ||
| [JsonPropertyName("source_group_id")] public required long? TargetUserId { get; init; } | ||
| } |
Comment on lines
+11
to
+14
|
|
||
| private readonly TaskCompletionSource _tcs = new(); | ||
|
|
||
| private readonly Lock _lock = new(); |
Comment on lines
+34
to
+38
| return new MilkyApiResponse<Result>(new Result | ||
| { | ||
| Notifications = [.. notifications.Select(_converter.ToGroupNotification)], | ||
| NextNotificationSeq = null, | ||
| }); |
Comment on lines
+25
to
+28
| if (message == null) return new MilkyApiResponse(-404, "message not found"); | ||
| await _lagrange.SetEssenceMessage(message).WaitAsync(ct); | ||
| return new MilkyApiResponse(); | ||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.