32
API/BotServiceImpl.cs
Normal file
32
API/BotServiceImpl.cs
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
using Debugger;
|
||||||
|
using Grpc.Core;
|
||||||
|
using Lagrange.Core.Common.Interface.Api;
|
||||||
|
using Lagrange.Core.Message;
|
||||||
|
using Shrink.Login;
|
||||||
|
|
||||||
|
namespace Shrink.API;
|
||||||
|
|
||||||
|
public class BotServiceImpl : BotService.BotServiceBase
|
||||||
|
{
|
||||||
|
public override Task<DataResponse> SendData(DataRequest request, ServerCallContext context)
|
||||||
|
{
|
||||||
|
// 模拟向 QQ 机器人处理数据的逻辑
|
||||||
|
Console.WriteLine($"服务端接收到请求:Code={request.Code}, Str1={request.Str1}, Str2={request.Str2}, Num={request.Num}");
|
||||||
|
|
||||||
|
// 假设调用你的 QQ 机器人方法(这里简化为打印消息)
|
||||||
|
string botResponse = $"QQ机器人已处理请求: {request.Str1} 和 {request.Str2}";
|
||||||
|
|
||||||
|
var chain = MessageBuilder.Friend(3209851541).Text($"Shrink已处理请求: {request.Str1} 和 {request.Str2}");
|
||||||
|
QrCode.Instance.Client.SendMessage(chain.Build());
|
||||||
|
var chain1 = MessageBuilder.Friend(3048536893).Text($"Shrink已处理请求: {request.Str1} 和 {request.Str2}");
|
||||||
|
QrCode.Instance.Client.SendMessage(chain1.Build());
|
||||||
|
var chain2 = MessageBuilder.Group(954600523).Text($"Shrink已处理请求: {request.Str1} 和 {request.Str2} 整数 {request.Num}");
|
||||||
|
QrCode.Instance.Client.SendMessage(chain2.Build());
|
||||||
|
// 返回响应
|
||||||
|
return Task.FromResult(new DataResponse
|
||||||
|
{
|
||||||
|
Message = botResponse,
|
||||||
|
Success = true
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
21
API/service.proto
Normal file
21
API/service.proto
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
syntax = "proto3";
|
||||||
|
|
||||||
|
option csharp_namespace = "Debugger";
|
||||||
|
|
||||||
|
package Debugger;
|
||||||
|
|
||||||
|
service BotService {
|
||||||
|
rpc SendData (DataRequest) returns (DataResponse);
|
||||||
|
}
|
||||||
|
|
||||||
|
message DataRequest {
|
||||||
|
string code = 1;
|
||||||
|
string str1 = 2;
|
||||||
|
string str2 = 3;
|
||||||
|
int32 num = 4;
|
||||||
|
}
|
||||||
|
|
||||||
|
message DataResponse {
|
||||||
|
string message = 1;
|
||||||
|
bool success = 2;
|
||||||
|
}
|
||||||
@@ -9,7 +9,12 @@
|
|||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Google.Protobuf" Version="3.29.1" />
|
<PackageReference Include="Google.Protobuf" Version="3.29.1" />
|
||||||
<PackageReference Include="Grpc.AspNetCore" Version="2.67.0" />
|
<PackageReference Include="Grpc.Core" Version="2.46.6" />
|
||||||
|
<PackageReference Include="Grpc.Net.Client" Version="2.67.0" />
|
||||||
|
<PackageReference Include="Grpc.Tools" Version="2.68.1">
|
||||||
|
<PrivateAssets>all</PrivateAssets>
|
||||||
|
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||||
|
</PackageReference>
|
||||||
<PackageReference Include="Lagrange.Core" Version="0.3.1" />
|
<PackageReference Include="Lagrange.Core" Version="0.3.1" />
|
||||||
<PackageReference Include="Mono.Cecil" Version="0.11.6" />
|
<PackageReference Include="Mono.Cecil" Version="0.11.6" />
|
||||||
<PackageReference Include="SSH.NET" Version="2024.2.0" />
|
<PackageReference Include="SSH.NET" Version="2024.2.0" />
|
||||||
@@ -19,6 +24,10 @@
|
|||||||
<Compile Remove="Service\**" />
|
<Compile Remove="Service\**" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<Protobuf Include="API/service.proto" GrpcServices="Server" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<EmbeddedResource Remove="Service\**" />
|
<EmbeddedResource Remove="Service\**" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|||||||
2
Shrink.sln.DotSettings.user
Normal file
2
Shrink.sln.DotSettings.user
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
<wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
|
||||||
|
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ABotContext_002Ecs_002Fl_003AC_0021_003FUsers_003FASUS_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FSourcesCache_003F4f0c6e06aea4324bd9b782d83aa3c4a451315453321fb61e5e19cda52c4df2_003FBotContext_002Ecs/@EntryIndexedValue">ForceIncluded</s:String></wpf:ResourceDictionary>
|
||||||
Reference in New Issue
Block a user