Newbe.Mahua 1.X 系列 LTS 版本已经发布。本篇就来介绍一下 1.X 版本中的主要特性以及常见问题的解答。
框架本身采用 Autofac
作为依赖注入框架。进行插件开发时,必然会使用到该框架。建议开发者阅读官方文档熟悉其用法。https://autofac.readthedocs.io/en/latest/getting-started/index.html
依赖于 Liblog
与 NLog
框架支持输出多种多样的日志数据,以便开发者进行开发调试。
默认情况下,框架将会把日志输出在机器人平台根目录的 logs 文件夹中。
框架本身支持进行调试插件与调试框架源码。
Session 机制是框架基于 Autofac
采用的一套API生命周期管理方案。简要而言,框架将每次事件触发过程,当做一次 Session 进行控制。
开发者可以依赖这一生命周期特性,完成一些业务操作的连贯性。例如:保证整个事件的处理过程属于同一数据库事务。
详细的使用方法建议在了解 Autofac
相关的用法之后进行探究。
热更新机制为开发者提供了不需要重启机器人平台便能够更新插件的功能。
依赖于 Session 机制,Fluent API 为开发者提供了能够通过链式调用的方式发送消息的功能。
通过Fluent API 的操作方法,开发者可以类似于数据库事务一样,在多个对象中拼装消息内容,而在最终决定是否发送消息。
框架提供了一套基于 WPF 的统一设置中心,开发者可以使用此设置中心来制作自己的应用设置界面。
当然开发者可以完全扩展出自己的设置中心。
开发者可以通过 IMahuaApi
调用框架提供的API,通过这些API能够实现大部分的业务需求。
但由于不同平台的支持程度不同,因此实现上存在差异。但开发者可以通过扩展 IMahuaApi
的实现,进一步达到自己的需求。
并且,框架也提供了各平台原生的API。
不能。
免费。
升级到 Powershell 5。https://www.cnblogs.com/wenBlog/p/6198354.html
由于 Session 机制的存在,直接调用注入事件的IMahuaApi
执行是必然失败的。因此,需要在异步代码中能够开启新的 Session 才能够正常使用接口。
示例如下:
// 异步发送消息,不能使用 _mahuaApi 实例,需要另外开启Session
Task.Factory.StartNew(() =>
{
using (var robotSession = MahuaRobotManager.Instance.CreateSession())
{
var api = robotSession.MahuaApi;
api.SendPrivateMessage(context.FromQq, "异步的嘤嘤嘤");
}
});
IMahuaApi
中提供了解析成模型的API接口。字符串本身如何解析可以参考对应平台的易语言SDK。
看IMahuaApi
。
看IMahuaApi
。
看IMahuaApi
。
不能。
没有。