Skip to content
This repository has been archived by the owner on Mar 4, 2024. It is now read-only.

Releases: FlandreBot/Flandre

v1.0.0-rc.11

15 Jun 12:20
Compare
Choose a tag to compare

Flandre.Framework

  • OptionAttributeStringShortcutAttributeRegexShortcutAttribute 移至 Flandre.Framework.Common 命名空间
  • CommandAttribute 移至 Flandre.Framework.Common 命名空间
  • FlandreAppOptions.IgnoreWhenCallingUndefinedCommand 重命名为 IgnoreUndefinedCommand
  • 扩展方法移至目标所在的命名空间

v1.0.0-rc.10

04 Jun 03:02
Compare
Choose a tag to compare

破坏性更改

  • 所有事件去除了 On 前缀
  • Flandre.*.Reactive 所有扩展方法 Observe 前缀改为 On

Flandre.Framework

  • CommandAttribute 移至 Flandre.Framework.Routing 命名空间
  • OptionAttributeShortcutAttribute 移至 Flandre.Framework.Common 命名空间

v1.0.0-rc.9

05 May 23:54
Compare
Choose a tag to compare

Flandre.Framework

  • PluginLoadContext 重命名为 PluginCommandLoader

v1.0.0-rc.8

29 Apr 10:25
Compare
Choose a tag to compare

Flandre.Framework

  • 新的 ICommandRouteBuilder 接口,由 FlandreApp 继承
  • 新的 ICommandRouteBuilder.MapCommand 扩展方法,可以十分简便的使用内联函数添加一条指令,类比 ASP.NET Core 中的 Minimal API。
using Flandre.Framework.Routing;

// ...

var app = builder.Build();

app.MapCommand("test", (int a, int b) => a + b + 1);

app.Run();

发送:test 1 2
回复:4

Flandre.Adapters.*.Extensions

用于提供对接 Flandre.Framework 的扩展方法。

builder.Adapters.AddOneBot();  // 自动从配置的 Adapters:OneBot 读取配置项
builder.Adapters.AddOneBot(IConfiguration configuration);
builder.Adapters.AddOneBot(config => config.Xxx = /* ... */);

v1.0.0-rc.7

19 Apr 16:39
Compare
Choose a tag to compare

Flandre.Core

  • Bot 类中的 SendMessageAsync() 方法移出,单独作为扩展方法提供,减少冗余代码
  • IAdapter 接口中的 GetBot() 方法改为 Bots 属性

Flandre.Adapters.Discord

v1.0.0-rc.6

10 Apr 15:55
Compare
Choose a tag to compare

Flandre.Framework

  • 修复在 Development 环境下服务依赖无法解析的问题

v1.0.0-rc.5

10 Apr 14:20
Compare
Choose a tag to compare

Flandre.Framework

  • MiddlewareContextFlandreApp 增加了 Properties 属性,用于方便地在不同组件中交换信息。
public IDictionary<string, object?> Properties { get; }
  • 修复了指令方法抛出异常时,日志记录不完整的问题

v1.0.0-rc.4

09 Apr 21:28
Compare
Choose a tag to compare

Flandre.Framework

  • 修复了 async Task<string> 指令方法执行错误的问题

v1.0.0-rc.3

09 Apr 18:03
Compare
Choose a tag to compare

Flandre.Framework

  • 补充在 IPluginCollection 中注入服务的能力:
builder.Plugins.Services.AddScoped();
//                 ^ IServiceCollection

这在写扩展方法的时候很实用:

public static void AddExample(this IPluginCollection plugins)
{
    plugins.Services.AddSingleton<ExampleService>();
    plugins.Add<ExamplePlugin>();
}

v1.0.0-rc.2

09 Apr 17:12
Compare
Choose a tag to compare

Flandre.Framework

  • 规范化适配器和插件的添加方式,具体如下:
var builder = FlandreApp.CreateBuilder();

builder.AddAdapter(new XxxAdapter);
// 现在为
builder.Adapters.Add(new XxxAdapter());

builder.AddPlugin<XxxPlugin>();
// 现在为
builder.Plugins.Add<XxxPlugin>();

之前的方法目前仍保留,将在以后的更新中移除。