C# QQ 机器人 Newbe.Mahua 1.X 主要特性介绍与常见问题讲解
Newbe.Mahua 1.X 系列 LTS 版本已经发布。本篇就来介绍一下 1.X 版本中的主要特性以及常见问题的解答。
主要特性
依赖注入
框架本身采用 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
的实现,进一步达到自己的需求。
并且,框架也提供了各平台原生的API。
常见问题
大佬,这里有个问题能帮我看一下吗?
不能。
框架免费吗?
免费。
哪里有框架的源码?
无法将“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, "异步的嘤嘤嘤");
}
});
怎么解析API中好像加密了的群列表?
IMahuaApi
中提供了解析成模型的API接口。字符串本身如何解析可以参考对应平台的易语言SDK。
怎么获取群列表?
看IMahuaApi
。
怎么获取群成员列表?
看IMahuaApi
。
怎么获取好友列表?
看IMahuaApi
。
能不能发红包?
不能。
有没有微信SDK?
没有。
为什么复制了启动之后,报错了?
- 重看教程,确认真的都看完了看准了
- 看日志,日志中记录了错误信息
能不能给项目捐款?
能。点击右侧链接,信仰充值:https://gitee.com/yks/Newbe.Mahua.Framework#project-donate-overview
教程链接
【开源访谈】对接 QQ 机器人平台,对接共同成长的开源社区(开源中国采访)
Newbe.Mahua.Samples.ApiExtensions 对IMahuaApi进行扩展
Newbe.Mahua.Samples.LiveGirl 操作定时任务
Newbe.Mahua.Samples.Sqlite SQLite操作实例
发布说明

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
-
上一篇
腾讯 Tars 开源 Go 版本 Tars-Go,并发性能比 gRPC 高 5 倍
近日,腾讯宣布正式开源 Tars 的 Golang 版本 Tars-Go,其并发性能比 gRPC 的高 5 倍。 Tars 是腾讯开源的一款微服务框架,它于去年 4 月份开源,并于今年 6 月捐赠给了 Linux 基金会。Tars 为用户提供了涉及到开发和运维的一整套解决方案,帮助一个产品或者服务快速开发、发布、部署、上线和维护。它集可扩展协议编解码、高性能 RPC 通信框架、名字路由与发现、发布监控、日志统计、配置管理等于一体,通过它可以快速用微服务的方式构建稳定可靠的分布式应用,并实现完整有效的服务治理。经过一年多的发展,目前 Tars 已经被许多企业使用,如阅文集团、虎牙直播、科大讯飞,优品财富、龙图游戏和金太阳教育等。 9 月 15 日,腾讯宣布正式开源 Tars 的 Golang 版本 Tars-Go。编者从 Tars-Go 的开源公告中了解到其技术架构、性能数据与相关技术细节,本文参考Tars 开源团队核心成员陈明杰的演讲 PPT 《亿级规模高可用架构源码剖析——腾讯 Go 语言开发框架 TARS-GO》 进行了整理。 项目地址:https://github.com/Tar...
-
下一篇
EOS 用 C++ 开发智能合约为何要编译成 WebAssembly?
许多人正试图学习如何在EOS上开发智能合约。但是,这些智能合约是由C++编写的,并编译成WebAssembly,这对大多数非c++程序员来说似乎很奇怪。因此,在深入了解EOS之前,最好先学习一些关于WebAssembly的基本知识。 什么是WebAssembly 我不想从官方网站上复制这个定义。你可以自己看一下。在这里,你可以将其视为可以在Web浏览器中加载和运行的文件。它类似于Javascript,但它比JS更快,更简单,更安全。 如何编写Webassembly 这里是一个工作流程: 基本上有四个步骤,我将通过一个非常简单的例子来说明。 1.编写C/C++代码 以下代码用于计算数字的平方根。 #include <math.h> float getSqrt (float num) { return sqrt(num); } 2.将C/C++代码编译成wasm(Webassembly的格式) 编译代码有很多种方法。为了简化这个过程,我找到了一种非常简单的方法。 将代码复制到该网站并单击build(构建)按钮,你可以找到编译的文件,如下所示。 然后将program.wasm文件...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- MySQL数据库在高并发下的优化方案
- CentOS关闭SELinux安全模块
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Dcoker安装(在线仓库),最新的服务器搭配容器使用