消息队列支持
This commit is contained in:
parent
0d369e426f
commit
8c98935588
@ -16,7 +16,9 @@ using Mirai.Net.Sessions.Http.Managers;
|
|||||||
using System;
|
using System;
|
||||||
using System.Data;
|
using System.Data;
|
||||||
using System.Drawing.Drawing2D;
|
using System.Drawing.Drawing2D;
|
||||||
|
using System.Reflection;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
|
using Zack.EventBus;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -78,6 +80,9 @@ options.AddDefaultPolicy(builder => builder.WithOrigins(urls)
|
|||||||
IServiceCollection services = builder.Services;
|
IServiceCollection services = builder.Services;
|
||||||
|
|
||||||
|
|
||||||
|
var eventBusSec = builder.Configuration.GetSection("EventBus");
|
||||||
|
builder.Services.Configure<IntegrationEventRabbitMQOptions>(eventBusSec);
|
||||||
|
builder.Services.AddEventBus("qqbot_server", Assembly.GetExecutingAssembly());
|
||||||
|
|
||||||
services.AddDbContext<IDBcontext>(opt =>
|
services.AddDbContext<IDBcontext>(opt =>
|
||||||
{
|
{
|
||||||
|
@ -5,6 +5,10 @@
|
|||||||
"Microsoft.AspNetCore": "Warning"
|
"Microsoft.AspNetCore": "Warning"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"EventBus": {
|
||||||
|
"HostName": "127.0.0.1",
|
||||||
|
"ExchangeName": "qqbot"
|
||||||
|
},
|
||||||
"AllowedHosts": "*",
|
"AllowedHosts": "*",
|
||||||
"JWT": {
|
"JWT": {
|
||||||
"SigningKey": "JWT加密密钥(请严格保密)",
|
"SigningKey": "JWT加密密钥(请严格保密)",
|
||||||
|
@ -64,6 +64,7 @@
|
|||||||
<PackageReference Include="RestSharp" Version="106.12.0" />
|
<PackageReference Include="RestSharp" Version="106.12.0" />
|
||||||
<PackageReference Include="Swashbuckle.AspNetCore" Version="6.5.0" />
|
<PackageReference Include="Swashbuckle.AspNetCore" Version="6.5.0" />
|
||||||
<PackageReference Include="System.IdentityModel.Tokens.Jwt" Version="8.1.0" />
|
<PackageReference Include="System.IdentityModel.Tokens.Jwt" Version="8.1.0" />
|
||||||
|
<PackageReference Include="Zack.EventBus" Version="1.1.3" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/*using asg_form.Controllers;
|
using asg_form.Controllers;
|
||||||
using Mirai.Net.Data.Messages.Concretes;
|
using Mirai.Net.Data.Messages.Concretes;
|
||||||
using Mirai.Net.Data.Messages;
|
using Mirai.Net.Data.Messages;
|
||||||
using Mirai.Net.Data.Messages.Receivers;
|
using Mirai.Net.Data.Messages.Receivers;
|
||||||
@ -20,25 +20,46 @@ using Microsoft.AspNetCore.Connections;
|
|||||||
using NPOI.SS.Formula.Functions;
|
using NPOI.SS.Formula.Functions;
|
||||||
using Onebot.Protocol;
|
using Onebot.Protocol;
|
||||||
using Onebot.Protocol.Models.Messages;
|
using Onebot.Protocol.Models.Messages;
|
||||||
|
using Zack.EventBus;
|
||||||
|
|
||||||
namespace asg_form
|
namespace asg_form
|
||||||
{
|
{
|
||||||
public class qqbot:BackgroundService
|
[EventName("查询选手")]
|
||||||
|
public class qqbot:IIntegrationEventHandler
|
||||||
{
|
{
|
||||||
private void setTaskAtFixedTime()
|
private IEventBus eventBus;
|
||||||
{
|
|
||||||
DateTime now = DateTime.Now;
|
|
||||||
DateTime oneOClock = DateTime.Today.AddHours(1.0); //凌晨1:00
|
|
||||||
if (now > oneOClock)
|
|
||||||
{
|
|
||||||
// Console.WriteLine("=======================================>");
|
|
||||||
oneOClock = oneOClock.AddDays(5.0);
|
|
||||||
}
|
|
||||||
int msUntilFour = (int)((oneOClock - now).TotalMilliseconds);
|
|
||||||
|
|
||||||
var t = new System.Threading.Timer(doAt1AM);
|
public qqbot(IEventBus eventBus)
|
||||||
t.Change(msUntilFour, Timeout.Infinite);
|
{
|
||||||
|
this.eventBus = eventBus;
|
||||||
}
|
}
|
||||||
|
public Task Handle(string eventName, string eventData)
|
||||||
|
{
|
||||||
|
|
||||||
|
if (eventName == "查询选手")
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
TestDbContext ctx = new TestDbContext();
|
||||||
|
|
||||||
|
string msg = "";
|
||||||
|
var roles = ctx.Roles.Include(a => a.form).Where(a => a.role_name.IndexOf(eventData) >= 0).ToList();
|
||||||
|
foreach (var role in roles)
|
||||||
|
{
|
||||||
|
msg = $"{msg}\r\n姓名:{role.role_name}\r\n第五人格ID:{role.role_id}\r\n选手id:{role.Id}\r\n阵营:{role.role_lin}\r\n属于队伍:{role.form.team_name}\r\n";
|
||||||
|
}
|
||||||
|
eventBus.Publish("查询选手req",msg);
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
return Task.CompletedTask;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public static bool isToday(DateTime dt)
|
public static bool isToday(DateTime dt)
|
||||||
{
|
{
|
||||||
DateTime today = DateTime.Today;
|
DateTime today = DateTime.Today;
|
||||||
@ -52,188 +73,139 @@ namespace asg_form
|
|||||||
private async void doAt1AM(object state)
|
private async void doAt1AM(object state)
|
||||||
{
|
{
|
||||||
//执行功能...
|
//执行功能...
|
||||||
try
|
|
||||||
{
|
}
|
||||||
TestDbContext db = new TestDbContext();
|
|
||||||
var sh = db.team_Games.ToList();
|
|
||||||
var sh1= sh.Where(a=>isToday(a.opentime)).ToList();
|
|
||||||
string msg = "";
|
|
||||||
if (sh1 == null)
|
|
||||||
{
|
|
||||||
msg = "<今日无赛程!>";
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
foreach (var a in sh1)
|
|
||||||
{
|
|
||||||
msg = $"{msg}\r\r{a.team1_name} VS {a.team2_name}";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
await MessageManager.SendGroupMessageAsync("870248618", $"今日赛程:\r\n{msg}\r\n请有比赛的解说提前准备好。");
|
|
||||||
await Task.Delay(3000);
|
|
||||||
await MessageManager.SendGroupMessageAsync("456414070", $"今日赛程:\r\n{msg}\r\n。直播地址:\r\nhttps://live.bilibili.com/24208371");
|
|
||||||
|
|
||||||
Console.WriteLine("开始备份数据库");
|
|
||||||
|
|
||||||
|
|
||||||
|
// protected override async Task ExecuteAsync(CancellationToken stoppingToken)
|
||||||
|
// {
|
||||||
|
// try
|
||||||
|
// {
|
||||||
|
|
||||||
|
// var client = new OnebotClient(ConnectionFactory.FromWebsocket("localhost", 7890, "WHO_S_YOUR_DADDY"));
|
||||||
|
// await client.SendPrivateMessageAsync("10000", new Message()
|
||||||
|
// {
|
||||||
|
// MessageSegment.Text("hello")
|
||||||
|
// });
|
||||||
|
// client.
|
||||||
|
|
||||||
}
|
// bot.EventReceived
|
||||||
catch
|
// .OfType<DroppedEvent>()
|
||||||
{
|
// .Subscribe(async receiver =>
|
||||||
|
// {
|
||||||
|
// await Task.Delay(10000);
|
||||||
|
// await ExecuteAsync(stoppingToken);
|
||||||
|
// });
|
||||||
|
|
||||||
}
|
// bot.MessageReceived
|
||||||
//再次设定
|
// .OfType<GroupMessageReceiver>()
|
||||||
setTaskAtFixedTime();
|
// .Subscribe(async x =>
|
||||||
}
|
// {
|
||||||
|
// try
|
||||||
|
// {
|
||||||
|
// if (x.MessageChain.GetPlainMessage() == "近期赛程")
|
||||||
|
// {
|
||||||
|
// TestDbContext testDb = new TestDbContext();
|
||||||
|
// int q = testDb.team_Games.Count();
|
||||||
|
// var a = testDb.team_Games.Where(a => a.opentime >= DateTime.Now).Take(7);
|
||||||
|
// string msg = "";
|
||||||
|
// foreach (var b in a)
|
||||||
|
// {
|
||||||
|
// msg = $"{msg}\r\n{b.team1_name} VS {b.team2_name}\r\n时间:{b.opentime.ToString("f")}";
|
||||||
|
// }
|
||||||
|
// await MessageManager.SendGroupMessageAsync(x.GroupId, msg);
|
||||||
|
// }
|
||||||
|
// if (x.MessageChain.GetPlainMessage() == "后端状态")
|
||||||
|
// {
|
||||||
|
// string msg = $"CPU占用:{SystemInfo.CpuLoad.ToString("f2")}\r\n内存占用:{SystemInfo.MemoryAvailable.ToString("f2")}\r\n部署系统:{Windows.GetOsVersion()}";
|
||||||
|
|
||||||
|
// await MessageManager.SendGroupMessageAsync(x.GroupId, msg);
|
||||||
|
// }
|
||||||
|
// if (x.MessageChain.GetPlainMessage() == "参赛队伍")
|
||||||
|
// {
|
||||||
|
// TestDbContext testDb = new TestDbContext();
|
||||||
|
// var team = testDb.Forms.Select(a => a.team_name);
|
||||||
|
// string msg = "";
|
||||||
|
// foreach (var t in team)
|
||||||
|
// {
|
||||||
|
// msg = $"{msg} {t}";
|
||||||
|
// }
|
||||||
|
// await MessageManager.SendGroupMessageAsync(x.GroupId, $"在所有比赛中有以下队伍参赛:\r\n{string.Join(" , ",team)}");
|
||||||
|
|
||||||
|
// }
|
||||||
|
// if (x.MessageChain.GetPlainMessage() == "查询冠军")
|
||||||
|
// {
|
||||||
|
// TestDbContext ctx = new TestDbContext();
|
||||||
|
|
||||||
protected override async Task ExecuteAsync(CancellationToken stoppingToken)
|
// var teams = ctx.Champions.Include(a=>a.events).Include(a=>a.form.role).Select(a => new {a.form,a.events,a.msg}).ToList();
|
||||||
{
|
// string msg = "";
|
||||||
try
|
// foreach (var t in teams)
|
||||||
{
|
// {
|
||||||
//定时任务
|
// string role = "";
|
||||||
setTaskAtFixedTime();
|
|
||||||
var client = new OnebotClient(ConnectionFactory.FromWebsocket("localhost", 7890, "WHO_S_YOUR_DADDY"));
|
|
||||||
await client.SendPrivateMessageAsync("10000", new Message()
|
|
||||||
{
|
|
||||||
MessageSegment.Text("hello")
|
|
||||||
});
|
|
||||||
client.
|
|
||||||
|
|
||||||
bot.EventReceived
|
|
||||||
.OfType<DroppedEvent>()
|
|
||||||
.Subscribe(async receiver =>
|
|
||||||
{
|
|
||||||
await Task.Delay(10000);
|
|
||||||
await ExecuteAsync(stoppingToken);
|
|
||||||
});
|
|
||||||
|
|
||||||
bot.MessageReceived
|
|
||||||
.OfType<GroupMessageReceiver>()
|
|
||||||
.Subscribe(async x =>
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
if (x.MessageChain.GetPlainMessage() == "近期赛程")
|
|
||||||
{
|
|
||||||
TestDbContext testDb = new TestDbContext();
|
|
||||||
int q = testDb.team_Games.Count();
|
|
||||||
var a = testDb.team_Games.Where(a => a.opentime >= DateTime.Now).Take(7);
|
|
||||||
string msg = "";
|
|
||||||
foreach (var b in a)
|
|
||||||
{
|
|
||||||
msg = $"{msg}\r\n{b.team1_name} VS {b.team2_name}\r\n时间:{b.opentime.ToString("f")}";
|
|
||||||
}
|
|
||||||
await MessageManager.SendGroupMessageAsync(x.GroupId, msg);
|
|
||||||
}
|
|
||||||
if (x.MessageChain.GetPlainMessage() == "后端状态")
|
|
||||||
{
|
|
||||||
string msg = $"CPU占用:{SystemInfo.CpuLoad.ToString("f2")}\r\n内存占用:{SystemInfo.MemoryAvailable.ToString("f2")}\r\n部署系统:{Windows.GetOsVersion()}";
|
|
||||||
|
|
||||||
await MessageManager.SendGroupMessageAsync(x.GroupId, msg);
|
|
||||||
}
|
|
||||||
if (x.MessageChain.GetPlainMessage() == "参赛队伍")
|
|
||||||
{
|
|
||||||
TestDbContext testDb = new TestDbContext();
|
|
||||||
var team = testDb.Forms.Select(a => a.team_name);
|
|
||||||
string msg = "";
|
|
||||||
foreach (var t in team)
|
|
||||||
{
|
|
||||||
msg = $"{msg} {t}";
|
|
||||||
}
|
|
||||||
await MessageManager.SendGroupMessageAsync(x.GroupId, $"在所有比赛中有以下队伍参赛:\r\n{string.Join(" , ",team)}");
|
|
||||||
|
|
||||||
}
|
|
||||||
if (x.MessageChain.GetPlainMessage() == "查询冠军")
|
|
||||||
{
|
|
||||||
TestDbContext ctx = new TestDbContext();
|
|
||||||
|
|
||||||
var teams = ctx.Champions.Include(a=>a.events).Include(a=>a.form.role).Select(a => new {a.form,a.events,a.msg}).ToList();
|
|
||||||
string msg = "";
|
|
||||||
foreach (var t in teams)
|
|
||||||
{
|
|
||||||
string role = "";
|
|
||||||
|
|
||||||
foreach (var t2 in t.form.role)
|
// foreach (var t2 in t.form.role)
|
||||||
{
|
// {
|
||||||
role = $"{role} {t2.role_name}";
|
// role = $"{role} {t2.role_name}";
|
||||||
}
|
// }
|
||||||
msg = $"{msg}\r\n队伍名称:{t.form.team_name}\r\n队员:{role}\r\n属于:{t.events.name}\r\n简介:{t.msg}\r\n";
|
// msg = $"{msg}\r\n队伍名称:{t.form.team_name}\r\n队员:{role}\r\n属于:{t.events.name}\r\n简介:{t.msg}\r\n";
|
||||||
}
|
// }
|
||||||
await MessageManager.SendGroupMessageAsync(x.GroupId, $"拥有以下冠军:{msg}");
|
// await MessageManager.SendGroupMessageAsync(x.GroupId, $"拥有以下冠军:{msg}");
|
||||||
|
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
catch(Exception ex)
|
// catch(Exception ex)
|
||||||
{
|
// {
|
||||||
await MessageManager.SendGroupMessageAsync(x.GroupId, $"错误:{ex.Message}");
|
// await MessageManager.SendGroupMessageAsync(x.GroupId, $"错误:{ex.Message}");
|
||||||
|
|
||||||
}
|
// }
|
||||||
|
|
||||||
|
|
||||||
});
|
// });
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
bot.MessageReceived
|
// bot.MessageReceived
|
||||||
.OfType<GroupMessageReceiver>()
|
// .OfType<GroupMessageReceiver>()
|
||||||
.Where(a=>a.MessageChain.GetPlainMessage().StartsWith("查询战队 "))
|
// .Where(a=>a.MessageChain.GetPlainMessage().StartsWith("查询战队 "))
|
||||||
.Subscribe(async x =>
|
// .Subscribe(async x =>
|
||||||
{
|
// {
|
||||||
|
|
||||||
try {
|
// try {
|
||||||
TestDbContext ctx = new TestDbContext();
|
// TestDbContext ctx = new TestDbContext();
|
||||||
|
|
||||||
string result = x.MessageChain.GetPlainMessage().Substring(5); // 截取从'o'之后的字符串
|
// string result = x.MessageChain.GetPlainMessage().Substring(5); // 截取从'o'之后的字符串
|
||||||
Console.WriteLine(result);
|
// Console.WriteLine(result);
|
||||||
List<form> teams = ctx.Forms.Include(a => a.role).Where(a => a.team_name.IndexOf(result) >= 0).ToList();
|
// List<form> teams = ctx.Forms.Include(a => a.role).Where(a => a.team_name.IndexOf(result) >= 0).ToList();
|
||||||
string msg = "";
|
// string msg = "";
|
||||||
foreach (var t in teams)
|
// foreach (var t in teams)
|
||||||
{
|
// {
|
||||||
string role = "";
|
// string role = "";
|
||||||
foreach (var t2 in t.role)
|
// foreach (var t2 in t.role)
|
||||||
{
|
// {
|
||||||
role = $"{role} {t2.role_name}";
|
// role = $"{role} {t2.role_name}";
|
||||||
}
|
// }
|
||||||
msg = $"{msg}\r\n队伍名称:{t.team_name}\r\n队员:{role}\r\n";
|
// msg = $"{msg}\r\n队伍名称:{t.team_name}\r\n队员:{role}\r\n";
|
||||||
}
|
// }
|
||||||
await MessageManager.SendGroupMessageAsync(x.GroupId, msg);
|
// await MessageManager.SendGroupMessageAsync(x.GroupId, msg);
|
||||||
}
|
// }
|
||||||
catch
|
// catch
|
||||||
{
|
// {
|
||||||
|
|
||||||
}
|
// }
|
||||||
|
|
||||||
});
|
// });
|
||||||
|
|
||||||
|
|
||||||
bot.MessageReceived
|
// bot.MessageReceived
|
||||||
.OfType<GroupMessageReceiver>()
|
//.OfType<GroupMessageReceiver>()
|
||||||
.Where(a => a.MessageChain.GetPlainMessage().StartsWith("查询选手 "))
|
//.Where(a => a.MessageChain.GetPlainMessage().StartsWith("查询选手 "))
|
||||||
.Subscribe(async x =>
|
// .Subscribe(async x =>
|
||||||
{
|
// {
|
||||||
|
|
||||||
try
|
|
||||||
{
|
|
||||||
TestDbContext ctx = new TestDbContext();
|
|
||||||
|
|
||||||
string result = x.MessageChain.GetPlainMessage().Substring(5); // 截取从'o'之后的字符串
|
// });
|
||||||
Console.WriteLine(result);
|
|
||||||
string msg = "";
|
|
||||||
var roles= ctx.Roles.Include(a => a.form).Where(a => a.role_name.IndexOf(result) >= 0).ToList();
|
|
||||||
foreach(var role in roles)
|
|
||||||
{
|
|
||||||
msg = $"{msg}\r\n姓名:{role.role_name}\r\n第五人格ID:{role.role_id}\r\n选手id:{role.Id}\r\n阵营:{role.role_lin}\r\n属于队伍:{role.form.team_name}\r\n";
|
|
||||||
}
|
|
||||||
await MessageManager.SendGroupMessageAsync(x.GroupId,$"搜索到以下结果:\r\n{msg}");
|
|
||||||
}
|
|
||||||
catch
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -245,17 +217,15 @@ namespace asg_form
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
Console.ReadLine();
|
// }
|
||||||
bot.Dispose();
|
// catch
|
||||||
}
|
// {
|
||||||
catch
|
|
||||||
{
|
// }
|
||||||
Console.WriteLine("bot启动失败 ~~~~~ ");
|
|
||||||
await Task.Delay(10000);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
// }
|
||||||
}
|
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
*/
|
|
@ -3,11 +3,20 @@ using Flandre.Core.Common;
|
|||||||
using Flandre.Core.Messaging;
|
using Flandre.Core.Messaging;
|
||||||
using Flandre.Framework.Common;
|
using Flandre.Framework.Common;
|
||||||
using Flandre.Framework.Routing;
|
using Flandre.Framework.Routing;
|
||||||
|
using Zack.EventBus;
|
||||||
|
|
||||||
namespace qqbot
|
namespace qqbot
|
||||||
{
|
{
|
||||||
public sealed class ExamplePlugin : Plugin
|
public sealed class ExamplePlugin : Plugin
|
||||||
{
|
{
|
||||||
|
private IEventBus eventBus;
|
||||||
|
|
||||||
|
public ExamplePlugin(IEventBus eventBus)
|
||||||
|
{
|
||||||
|
this.eventBus = eventBus;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 每次收到消息时触发。
|
/// 每次收到消息时触发。
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@ -43,15 +52,10 @@ namespace qqbot
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
TestDbContext ctx = new TestDbContext();
|
eventBus.Publish("查询选手", name);
|
||||||
|
|
||||||
string msg = "";
|
|
||||||
var roles = ctx.Roles.Where(a => a.role_name.IndexOf(name) >= 0).ToList();
|
return null;
|
||||||
foreach (var role in roles)
|
|
||||||
{
|
|
||||||
msg = $"{msg}\r\n姓名:{role.role_name}\r\n第五人格ID:{role.role_id}\r\n选手id:{role.Id}\r\n阵营:{role.role_lin}\r\n";
|
|
||||||
}
|
|
||||||
return msg;
|
|
||||||
}
|
}
|
||||||
catch
|
catch
|
||||||
{
|
{
|
||||||
|
@ -1,7 +1,10 @@
|
|||||||
using Flandre.Adapters.OneBot.Extensions;
|
using Flandre.Adapters.OneBot.Extensions;
|
||||||
using Flandre.Framework;
|
using Flandre.Framework;
|
||||||
|
using Microsoft.Extensions.DependencyInjection;
|
||||||
using Microsoft.Extensions.Hosting;
|
using Microsoft.Extensions.Hosting;
|
||||||
using qqbot;
|
using qqbot;
|
||||||
|
using System.Reflection;
|
||||||
|
using Zack.EventBus;
|
||||||
|
|
||||||
var builder = FlandreApp.CreateBuilder(new HostApplicationBuilderSettings
|
var builder = FlandreApp.CreateBuilder(new HostApplicationBuilderSettings
|
||||||
{
|
{
|
||||||
@ -14,6 +17,15 @@ var builder = FlandreApp.CreateBuilder(new HostApplicationBuilderSettings
|
|||||||
builder.Adapters.AddOneBot(builder.Configuration.GetSection("Adapters:OneBot"));
|
builder.Adapters.AddOneBot(builder.Configuration.GetSection("Adapters:OneBot"));
|
||||||
builder.Plugins.Add<ExamplePlugin>();
|
builder.Plugins.Add<ExamplePlugin>();
|
||||||
|
|
||||||
|
var eventBusSec = builder.Configuration.GetSection("EventBus");
|
||||||
|
builder.Services.Configure<IntegrationEventRabbitMQOptions>(eventBusSec);
|
||||||
|
builder.Services.AddEventBus("qqbot_client", Assembly.GetExecutingAssembly());
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
var app = builder.Build();
|
var app = builder.Build();
|
||||||
// 添加内置中间件。
|
// 添加内置中间件。
|
||||||
// 这些中间件保证 Flandre 的正常运转。你也可以加入自己的中间件,并灵活调整其顺序。
|
// 这些中间件保证 Flandre 的正常运转。你也可以加入自己的中间件,并灵活调整其顺序。
|
||||||
|
@ -4,6 +4,10 @@
|
|||||||
"Default": "Information"
|
"Default": "Information"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"EventBus": {
|
||||||
|
"HostName": "127.0.0.1",
|
||||||
|
"ExchangeName": "qqbot"
|
||||||
|
},
|
||||||
"Adapters": {
|
"Adapters": {
|
||||||
"OneBot": {
|
"OneBot": {
|
||||||
"Bots": [
|
"Bots": [
|
||||||
|
@ -13,6 +13,7 @@
|
|||||||
<PackageReference Include="Flandre.Framework" Version="1.0.0-rc.11" />
|
<PackageReference Include="Flandre.Framework" Version="1.0.0-rc.11" />
|
||||||
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="8.0.8" />
|
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="8.0.8" />
|
||||||
<PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="8.0.8" />
|
<PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="8.0.8" />
|
||||||
|
<PackageReference Include="Zack.EventBus" Version="1.1.3" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user