diff --git a/Lagrange.Core/Common/Interface/Api/OperationExt.cs b/Lagrange.Core/Common/Interface/Api/OperationExt.cs index 5c8c64158..285bc711e 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) - => bot.ContextCollection.Business.OperationLogic.GetGroupGenerateAiRecordUrl(groupUin, character, text); + 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) - => bot.ContextCollection.Business.OperationLogic.GetGroupGenerateAiRecord(groupUin, character, text); + 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/Internal/Context/Logic/Implementation/OperationLogic.cs b/Lagrange.Core/Internal/Context/Logic/Implementation/OperationLogic.cs index 1010b9409..cc311fa3e 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) + 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); + 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) + 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); + 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 d5389204e..f01bef0ae 100644 --- a/Lagrange.Core/Internal/Event/Action/GroupAiRecordEvent.cs +++ b/Lagrange.Core/Internal/Event/Action/GroupAiRecordEvent.cs @@ -6,17 +6,20 @@ namespace Lagrange.Core.Internal.Event.Action; internal class GroupAiRecordEvent : ProtocolEvent { public uint GroupUin { get; set; } - public string Character { get; set; }= string.Empty; - public string Text { get; set; }= string.Empty; + public string Character { get; set; } = string.Empty; + public string Text { get; set; } = string.Empty; + + public uint ChatType { get; set; } = 1; public MsgInfo? RecordInfo { get; set; } - public string ErrorMessage { get; set; }= string.Empty; + public string ErrorMessage { get; set; } = string.Empty; - private GroupAiRecordEvent(uint groupUin, string character, string text) : base(0) + private GroupAiRecordEvent(uint groupUin, string character, string text ,uint chattype) : base(0) { GroupUin = groupUin; Character = character; Text = text; + ChatType = chattype; } private GroupAiRecordEvent(int resultCode, MsgInfo? msgInfo) : base(resultCode) @@ -29,8 +32,8 @@ private GroupAiRecordEvent(int resultCode, string errMsg) : base(resultCode) ErrorMessage = errMsg; } - public static GroupAiRecordEvent Create(uint groupUin, string character, string text) => - new(groupUin, character, text); + 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 faa68b435..47aa4f3a3 100644 --- a/Lagrange.Core/Internal/Service/Action/GroupAiRecordService.cs +++ b/Lagrange.Core/Internal/Service/Action/GroupAiRecordService.cs @@ -20,7 +20,7 @@ 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 } + 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/Entity/Action/OneBotGetAiCharacters.cs b/Lagrange.OneBot/Core/Entity/Action/OneBotGetAiCharacters.cs index 8867187c3..4c56039c8 100644 --- a/Lagrange.OneBot/Core/Entity/Action/OneBotGetAiCharacters.cs +++ b/Lagrange.OneBot/Core/Entity/Action/OneBotGetAiCharacters.cs @@ -7,5 +7,5 @@ public class OneBotGetAiCharacters { [JsonPropertyName("group_id")] public uint GroupId { get; set; } = 42; - [JsonPropertyName("chat_type")] public uint ChatType { get; set; } + [JsonPropertyName("chat_type")] public uint ChatType { get; set; } = 1; } \ No newline at end of file diff --git a/Lagrange.OneBot/Core/Entity/Action/OneBotGetAiRecord.cs b/Lagrange.OneBot/Core/Entity/Action/OneBotGetAiRecord.cs index e215b27f7..80bad05c8 100644 --- a/Lagrange.OneBot/Core/Entity/Action/OneBotGetAiRecord.cs +++ b/Lagrange.OneBot/Core/Entity/Action/OneBotGetAiRecord.cs @@ -10,4 +10,6 @@ public class OneBotGetAiRecord [JsonPropertyName("group_id")] public uint GroupId { get; set; } [JsonPropertyName("text")] public string Text { get; set; } = string.Empty; + + [JsonPropertyName("chat_type")] public uint ChatType { get; set; } = 1; } \ No newline at end of file diff --git a/Lagrange.OneBot/Core/Operation/Group/GetAiRecordOperation.cs b/Lagrange.OneBot/Core/Operation/Group/GetAiRecordOperation.cs index 3860878a5..3d33ad21e 100644 --- a/Lagrange.OneBot/Core/Operation/Group/GetAiRecordOperation.cs +++ b/Lagrange.OneBot/Core/Operation/Group/GetAiRecordOperation.cs @@ -15,7 +15,7 @@ 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); + 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 c49ca5503..addc8ff64 100644 --- a/Lagrange.OneBot/Core/Operation/Message/SendGroupAiRecordOperation.cs +++ b/Lagrange.OneBot/Core/Operation/Message/SendGroupAiRecordOperation.cs @@ -18,7 +18,7 @@ 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); + (int code, string errMsg, var recordEntity) = await context.GetGroupGenerateAiRecord(message.GroupId, message.Character, message.Text , message.ChatType); if (code != 0 || recordEntity == null) return new OneBotResult(null, code, "failed");