diff --git a/Lagrange.Core/Common/Interface/Api/OperationExt.cs b/Lagrange.Core/Common/Interface/Api/OperationExt.cs index 285bc711e..7060fd6ae 100644 --- a/Lagrange.Core/Common/Interface/Api/OperationExt.cs +++ b/Lagrange.Core/Common/Interface/Api/OperationExt.cs @@ -281,11 +281,11 @@ public static Task UploadImage(this BotContext bot, ImageEntity entity) public static Task OcrImage(this BotContext bot, ImageEntity entity) => bot.ContextCollection.Business.OperationLogic.ImageOcr(entity); - public static Task<(int Code, string ErrMsg, string? Url)> GetGroupGenerateAiRecordUrl(this BotContext bot, uint groupUin, string character, string text, uint chattype) - => bot.ContextCollection.Business.OperationLogic.GetGroupGenerateAiRecordUrl(groupUin, character, text, chattype); + public static Task<(int Code, string ErrMsg, string? Url)> GetGroupGenerateAiRecordUrl(this BotContext bot, uint groupUin, string character, string text, uint chatType) + => bot.ContextCollection.Business.OperationLogic.GetGroupGenerateAiRecordUrl(groupUin, character, text, chatType); - public static Task<(int Code, string ErrMsg, RecordEntity? RecordEntity)> GetGroupGenerateAiRecord(this BotContext bot, uint groupUin, string character, string text, uint chattype) - => bot.ContextCollection.Business.OperationLogic.GetGroupGenerateAiRecord(groupUin, character, text, chattype); + public static Task<(int Code, string ErrMsg, RecordEntity? RecordEntity)> GetGroupGenerateAiRecord(this BotContext bot, uint groupUin, string character, string text, uint chatType) + => bot.ContextCollection.Business.OperationLogic.GetGroupGenerateAiRecord(groupUin, character, text, chatType); public static Task<(int Code, string ErrMsg, List? Result)> GetAiCharacters(this BotContext bot, uint chatType, uint groupUin = 42) => bot.ContextCollection.Business.OperationLogic.GetAiCharacters(chatType, groupUin); diff --git a/Lagrange.Core/Event/EventArg/GroupMemberDecreaseEvent.cs b/Lagrange.Core/Event/EventArg/GroupMemberDecreaseEvent.cs index 1548fdbfc..f4ab40660 100644 --- a/Lagrange.Core/Event/EventArg/GroupMemberDecreaseEvent.cs +++ b/Lagrange.Core/Event/EventArg/GroupMemberDecreaseEvent.cs @@ -23,6 +23,7 @@ public GroupMemberDecreaseEvent(uint groupUin, uint memberUin, uint? operatorUin public enum EventType : uint { KickMe = 3, + Disband = 129, Leave = 130, Kick = 131 } diff --git a/Lagrange.Core/Internal/Context/Logic/Implementation/OperationLogic.cs b/Lagrange.Core/Internal/Context/Logic/Implementation/OperationLogic.cs index cc311fa3e..269fbb48c 100644 --- a/Lagrange.Core/Internal/Context/Logic/Implementation/OperationLogic.cs +++ b/Lagrange.Core/Internal/Context/Logic/Implementation/OperationLogic.cs @@ -730,9 +730,9 @@ public async Task FriendJoinEmojiChain(uint friendUin, uint emojiId, uint return results.Count != 0 && results[0].ResultCode == 0; } - public async Task<(int Code, string ErrMsg, string? Url)> GetGroupGenerateAiRecordUrl(uint groupUin, string character, string text, uint chattype) + public async Task<(int Code, string ErrMsg, string? Url)> GetGroupGenerateAiRecordUrl(uint groupUin, string character, string text, uint chatType) { - var (code, errMsg, record) = await GetGroupGenerateAiRecord(groupUin, character, text, chattype); + var (code, errMsg, record) = await GetGroupGenerateAiRecord(groupUin, character, text, chatType); if (code != 0) return (code, errMsg, null); @@ -746,9 +746,9 @@ public async Task FriendJoinEmojiChain(uint friendUin, uint emojiId, uint : (finalResult.ResultCode, "Failed to get group ai record", null); } - public async Task<(int Code, string ErrMsg, RecordEntity? Record)> GetGroupGenerateAiRecord(uint groupUin, string character, string text, uint chattype) + public async Task<(int Code, string ErrMsg, RecordEntity? Record)> GetGroupGenerateAiRecord(uint groupUin, string character, string text, uint chatType) { - var groupAiRecordEvent = GroupAiRecordEvent.Create(groupUin, character, text, chattype); + var groupAiRecordEvent = GroupAiRecordEvent.Create(groupUin, character, text, chatType); while (true) { var results = await Collection.Business.SendEvent(groupAiRecordEvent); diff --git a/Lagrange.Core/Internal/Event/Action/GroupAiRecordEvent.cs b/Lagrange.Core/Internal/Event/Action/GroupAiRecordEvent.cs index f01bef0ae..41ec0544d 100644 --- a/Lagrange.Core/Internal/Event/Action/GroupAiRecordEvent.cs +++ b/Lagrange.Core/Internal/Event/Action/GroupAiRecordEvent.cs @@ -1,5 +1,4 @@ using Lagrange.Core.Internal.Packets.Service.Oidb.Common; -using Lagrange.Core.Message.Entity; namespace Lagrange.Core.Internal.Event.Action; @@ -14,14 +13,13 @@ internal class GroupAiRecordEvent : ProtocolEvent public MsgInfo? RecordInfo { get; set; } public string ErrorMessage { get; set; } = string.Empty; - private GroupAiRecordEvent(uint groupUin, string character, string text ,uint chattype) : base(0) + private GroupAiRecordEvent(uint groupUin, string character, string text, uint chatType) : base(0) { GroupUin = groupUin; Character = character; Text = text; - ChatType = chattype; + ChatType = chatType; } - private GroupAiRecordEvent(int resultCode, MsgInfo? msgInfo) : base(resultCode) { RecordInfo = msgInfo; @@ -32,8 +30,8 @@ private GroupAiRecordEvent(int resultCode, string errMsg) : base(resultCode) ErrorMessage = errMsg; } - public static GroupAiRecordEvent Create(uint groupUin, string character, string text , uint chattype) => - new(groupUin, character, text , chattype); + public static GroupAiRecordEvent Create(uint groupUin, string character, string text, uint chatType) => + new(groupUin, character, text, chatType); public static GroupAiRecordEvent Result(int resultCode, MsgInfo? msgInfo) => new(resultCode, msgInfo); diff --git a/Lagrange.Core/Internal/Service/Action/GroupAiRecordService.cs b/Lagrange.Core/Internal/Service/Action/GroupAiRecordService.cs index 47aa4f3a3..2d39f279f 100644 --- a/Lagrange.Core/Internal/Service/Action/GroupAiRecordService.cs +++ b/Lagrange.Core/Internal/Service/Action/GroupAiRecordService.cs @@ -2,10 +2,8 @@ using Lagrange.Core.Internal.Event; using Lagrange.Core.Internal.Event.Action; using Lagrange.Core.Internal.Packets.Service.Oidb; -using Lagrange.Core.Internal.Packets.Service.Oidb.Common; using Lagrange.Core.Internal.Packets.Service.Oidb.Request; using Lagrange.Core.Internal.Packets.Service.Oidb.Response; -using Lagrange.Core.Message.Entity; using Lagrange.Core.Utility.Extension; using ProtoBuf; @@ -20,7 +18,13 @@ protected override bool Build(GroupAiRecordEvent input, BotKeystore keystore, Bo out List>? extraPackets) { var packet = new OidbSvcTrpcTcpBase( - new OidbSvcTrpcTcp0x929B_0 { GroupCode = input.GroupUin, VoiceId = input.Character, Text = input.Text , ChatType = input.ChatType} + new OidbSvcTrpcTcp0x929B_0 + { + GroupCode = input.GroupUin, + VoiceId = input.Character, + Text = input.Text, + ChatType = input.ChatType + } ); output = packet.Serialize(); extraPackets = null; diff --git a/Lagrange.OneBot/Core/Notify/NotifyService.cs b/Lagrange.OneBot/Core/Notify/NotifyService.cs index ea09b137b..f76942bb0 100644 --- a/Lagrange.OneBot/Core/Notify/NotifyService.cs +++ b/Lagrange.OneBot/Core/Notify/NotifyService.cs @@ -115,6 +115,7 @@ public void RegisterEvents() string type = @event.Type switch { GroupMemberDecreaseEvent.EventType.KickMe => "kick_me", + GroupMemberDecreaseEvent.EventType.Disband => "disband", GroupMemberDecreaseEvent.EventType.Leave => "leave", GroupMemberDecreaseEvent.EventType.Kick => "kick", _ => @event.Type.ToString() diff --git a/Lagrange.OneBot/Core/Operation/Group/GetAiRecordOperation.cs b/Lagrange.OneBot/Core/Operation/Group/GetAiRecordOperation.cs index 3d33ad21e..b6d8b9611 100644 --- a/Lagrange.OneBot/Core/Operation/Group/GetAiRecordOperation.cs +++ b/Lagrange.OneBot/Core/Operation/Group/GetAiRecordOperation.cs @@ -15,7 +15,12 @@ public async Task HandleOperation(BotContext context, JsonNode? pa var message = payload.Deserialize(SerializerOptions.DefaultOptions); if (message != null) { - var (code, errMsg, url) = await context.GetGroupGenerateAiRecordUrl(message.GroupId, message.Character, message.Text,message.ChatType); + var (code, errMsg, url) = await context.GetGroupGenerateAiRecordUrl( + message.GroupId, + message.Character, + message.Text, + message.ChatType + ); return code != 0 ? new OneBotResult(errMsg, code, "failed") : new OneBotResult(url, 0, "ok"); } diff --git a/Lagrange.OneBot/Core/Operation/Message/SendGroupAiRecordOperation.cs b/Lagrange.OneBot/Core/Operation/Message/SendGroupAiRecordOperation.cs index addc8ff64..626e45074 100644 --- a/Lagrange.OneBot/Core/Operation/Message/SendGroupAiRecordOperation.cs +++ b/Lagrange.OneBot/Core/Operation/Message/SendGroupAiRecordOperation.cs @@ -18,7 +18,12 @@ public async Task HandleOperation(BotContext context, JsonNode? pa var message = payload.Deserialize(SerializerOptions.DefaultOptions); if (message != null) { - (int code, string errMsg, var recordEntity) = await context.GetGroupGenerateAiRecord(message.GroupId, message.Character, message.Text , message.ChatType); + (int code, string _, var recordEntity) = await context.GetGroupGenerateAiRecord( + message.GroupId, + message.Character, + message.Text, + message.ChatType + ); if (code != 0 || recordEntity == null) return new OneBotResult(null, code, "failed");