diff --git a/Lagrange.Core/Common/Interface/Api/OperationExt.cs b/Lagrange.Core/Common/Interface/Api/OperationExt.cs index 7188002e1..35e745bce 100644 --- a/Lagrange.Core/Common/Interface/Api/OperationExt.cs +++ b/Lagrange.Core/Common/Interface/Api/OperationExt.cs @@ -257,12 +257,12 @@ public static Task FriendShake(this BotContext bot, uint friendUi public static Task?> FetchMarketFaceKey(this BotContext bot, List faceIds) => bot.ContextCollection.Business.OperationLogic.FetchMarketFaceKey(faceIds); - public static async Task> FetchRkey(this BotContext bot) - { - var fetchRkeyEvent = FetchRKeyEvent.Create(); - var events = await bot.ContextCollection.Business.SendEvent(fetchRkeyEvent); - return ((FetchRKeyEvent)events[0]).RKeys; - } + // public static async Task> FetchRkey(this BotContext bot) + // { + // var fetchRkeyEvent = FetchRKeyEvent.Create(); + // var events = await bot.ContextCollection.Business.SendEvent(fetchRkeyEvent); + // return ((FetchRKeyEvent)events[0]).RKeys; + // } /// /// Set the avatar of the bot itself diff --git a/Lagrange.OneBot/Core/Operation/Generic/FetchRkeyOperation.cs b/Lagrange.OneBot/Core/Operation/Generic/FetchRkeyOperation.cs index a6f4db547..d931691e5 100644 --- a/Lagrange.OneBot/Core/Operation/Generic/FetchRkeyOperation.cs +++ b/Lagrange.OneBot/Core/Operation/Generic/FetchRkeyOperation.cs @@ -2,6 +2,8 @@ using Lagrange.Core; using Lagrange.Core.Common.Interface.Api; using Lagrange.OneBot.Core.Entity.Action; +using Lagrange.Core.Internal.Event.System; +using Lagrange.OneBot.Core.Entity.Action.Response; namespace Lagrange.OneBot.Core.Operation.Generic; @@ -10,7 +12,10 @@ public class FetchRkeyOperation : IOperation { public async Task HandleOperation(BotContext context, JsonNode? payload) { - var rkeys = await context.FetchRkey(); - return new OneBotResult(new JsonObject { { "private_rkey", rkeys[0] }, { "group_rkey", rkeys[1] } }, 0, "ok"); + var fetchRKeyEvent = FetchRKeyEvent.Create(); + var events = await context.ContextCollection.Business.SendEvent(fetchRKeyEvent); + var rKeyEvent = (FetchRKeyEvent)events[0]; + if (rKeyEvent.ResultCode != 0) return new OneBotResult(null, rKeyEvent.ResultCode, "failed"); + return new OneBotResult(new JsonObject { { "private_rkey", rKeyEvent.RKeys[0].Rkey }, { "group_rkey", rKeyEvent.RKeys[1].Rkey } }, 0, "ok"); } } \ No newline at end of file