主要特性 依赖注入
框架本身采用 Autofac 作为依赖注入框架。进行插件开发时,必然会使用到该框架。建议开发者阅读官方文档熟悉其用法。https://autofac.readthedocs.io/en/latest/getting-started/index.html
日志依赖于 Liblog 与 NLog 框架支持输出多种多样的日志数据,以便开发者进行开发调试。
默认情况下,框架将会把日志输出在机器人平台根目录的 logs 文件夹中。
调试框架本身支持进行调试插件与调试框架源码。
Session机制Session 机制是框架基于 Autofac 采用的一套API生命周期管理方案。简要而言,框架将每次事件触发过程,当做一次 Session 进行控制。
开发者可以依赖这一生命周期特性,完成一些业务操作的连贯性。例如:保证整个事件的处理过程属于同一数据库事务。
详细的使用方法建议在了解 Autofac 相关的用法之后进行探究。
热更新热更新机制为开发者提供了不需要重启机器人平台便能够更新插件的功能。
点击此处,学习如何使用热更新功能
消息发送Fluent API依赖于 Session 机制,Fluent API 为开发者提供了能够通过链式调用的方式发送消息的功能。
通过Fluent API 的操作方法,开发者可以类似于数据库事务一样,在多个对象中拼装消息内容,而在最终决定是否发送消息。
设置中心框架提供了一套基于 WPF 的统一设置中心,开发者可以使用此设置中心来制作自己的应用设置界面。
当然开发者可以完全扩展出自己的设置中心。
点击此处,学习如何开发设置中心
扩展API与平台原生API开发者可以通过 IMahuaApi 调用框架提供的API,通过这些API能够实现大部分的业务需求。
但由于不同平台的支持程度不同,因此实现上存在差异。但开发者可以通过扩展 IMahuaApi 的实现,进一步达到自己的需求。
点击此处,学习如何扩展IMahuaApi
并且,框架也提供了各平台原生的API。
常见问题 大佬,这里有个问题能帮我看一下吗?不能。
框架免费吗?免费。
哪里有框架的源码?https://github.com/newbe36524/Newbe.Mahua.Framework
https://gitee.com/yks/Newbe.Mahua.Framework
无法将“Install-PackageProvider”项识别为 cmdlet、函数、脚本文件或可运行程序的名称…升级到 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, "异步的嘤嘤嘤"); } });