体验 QQ机器人C# SDK 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
教程链接
- Newbe.Mahua 1.X 主要特性介绍与常见问题讲解
- 开始第一个QQ机器人【适用于v1.9-v1.X】
- Newbe.Mahua 插件热更新
- Newbe.Mahua.Samples.ApiExtensions 对IMahuaApi进行扩展
- Newbe.Mahua.Samples.LiveGirl 操作定时任务
- Newbe.Mahua.Samples.Sqlite SQLite操作实例
- Newbe.Mahua 测试与调试
- Newbe.Mahua 扩展设置中心
- 【开源访谈】对接 QQ 机器人平台,对接共同成长的开源社区(开源中国采访)
发布说明
- Newbe.Mahua 1.18.2 修复项目模板
- Newbe.Mahua 1.18.1 缺陷修复
- Newbe.Mahua 1.18 恢复 QQLight
- Newbe.Mahua 1.17 移除 CleverQQ
- Newbe.Mahua 1.16 可用性修复
- Newbe.Mahua 1.15 支持发送语音
- Newbe.Mahua 1.14 全新项目模板
- Newbe.Mahua 1.13 支持撤回消息
- Newbe.Mahua 1.12 第一个LTS版本
- Newbe.Mahua 1.11 支持热更新
- Newbe.Mahua 1.10 全新日志查看器
- Newbe.Mahua 1.9 引入 Session
- Newbe.Mahua 1.8 消息发送Fluent API
- Newbe.Mahua 1.7.0 支持API扩展
- Newbe.Mahua 1.6.0 开发便利性提升
来源: newbe
文章作者: newbe36524
文章链接: https://www.newbe.pro/Newbe.Mahua/Feature-And-FAQ-Of-Mahua-With-Version-1-X/
本文章著作权归作者所有,任何形式的转载都请注明出处。
体验 QQ机器人C# SDK 1.X 特性总结的更多相关文章
- 第一讲 从头开始做一个web qq 机器人,第一步获取smart qq二维码
新手教程: 前言:最近在看了一下很久很久以前做的qq机器人失效了,最近也在换工作目前还在职,时间很挺宽裕的.就决定从新搞一个web qq机器人 PC的协议解析出来有点费时间以后再做. 准备工作: 编译 ...
- 使用C# 开始第一个QQ机器人
本示例将会使用”嘤鹉学舌”这个小插件的实现来演示如何使用Newbe.Mahua实现第一个机器人插件. 插件功能 自动将发送者的消息回发给发送人,嘤鹉(Parrot,其实是说嘤嘤嘤怪)学舌. 开发环境要 ...
- Mirai框架qq机器人教程
Mirai框架qq机器人教程 0.前言 1. 安装Java 2.安装Mirai启动器 3.下载IDEA或其他编译器 4.创建mirai-console插件项目 4.1 通过git创建 4.2 通过插件 ...
- 实现QQ机器人报警
如题,废话不说,直接上代码.首先是登录QQ的小脚本 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 ...
- QQ登录-第三方SDK的接入总结(搜索 qq互联)
由于项目的需要,使用了[QQ登录]SDK 的相关功能! 1.集成[QQ登录]SDK [QQ登录]SDK下载地址: http://wiki.open.qq.com/wiki/website/SD ...
- 分享QQ第三方登陆SDK
主要是考虑到QQ的PHP SDK写的真是太烂了,纯属是普及API知识,而不是到手就可以部署的类库..反正自己都写了一个了,就拿出来分享下.. 什么也不多说,直接上代码. Qq_sdk.php < ...
- QQ登录-第三方SDK的接入总结
由于项目的需要,使用了[QQ登录]SDK 的相关功能! 1.集成[QQ登录]SDK [QQ登录]SDK下载地址: http://wiki.open.qq.com/wiki/website/SD ...
- Python3实现QQ机器人自动爬取百度文库的搜索结果并发送给好友(主要是爬虫)
一.效果如下: 二.运行环境: win10系统:python3:PyCharm 三.QQ机器人用的是qqbot模块 用pip安装命令是: pip install qqbot (前提需要有request ...
- 基于WebQQ3.0协议写一个QQ机器人
最近公司需要做个qq机器人获取qq好友列表,并且能够自动向选定的qq好友定时发送消息.没有头绪,硬着头皮上 甘甜的心情瞬间变得苦涩了 哇 多捞吆 1.WEBQQ3.0登陆协议 进入WEBQQ, htt ...
随机推荐
- js中的基本类型与引用类型学习
一.基本数据类型 ECMAScript 有 5 种原始类型(primitive type),即 Undefined.Null.Boolean.Number 和 String,也称为基本数据类型,ES6 ...
- openstack 实用命令
port 1.创建port(create) i.随机ip openstack port create --network public --fixed-ip subnet=sub-public '' ...
- 三,mysql优化--sql语句优化之索引一
1,需求:如何在一个项目中,找到慢查询的select,mysql数据库支持把慢查询语句,记录到日志中.供程序员分析.(默认不启用此功能,需要手动启用) 修改my.cnf文件(有些地方是my.ini) ...
- AndroidManifest.xml文件安全探索
本文作者:i春秋签约作家——icq8756c1a2 最近在做一些apk的安全检测,对AndroidManifest.xml文件进行了研究和探讨,介绍AndroidManifest.xml文件的作用和架 ...
- Mongoose 分页查询优化、获取数据总长度
无论是传统网页还是 ajax api,我们都不得不进行数据分页,一来节省带宽二来提升页面响应速度.作为一个数据完备的 web 应用,做好分页功能能极大提升用户体验. 简单的分页查询 在 mongoos ...
- 详解linux下的串口通讯开发
串行口是计算机一种常用的接口,具有连接线少,通讯简单,得到广泛的使用.常用的串口是RS-232-C接口(又称EIA RS-232-C)它是在1970年由美国电子工业协会(EIA)联合贝尔系统.调制解调 ...
- WIKI常用的表格设计模板
域名服务器管理表格 数据库管理表格 软件路径说明表格 开发测试环境虚拟机表格
- Sql Sever 2012数据库更名失败 error:5030
打开SQL Server 2012数据库时,对HzWind_2MW数据库名修改为HzWind_2MW_GEM,结果出现如图1所示: 图1 数据库更名时出现error:5030 数据库不能重名名5030 ...
- 理解JavaScript的数值型数据类型
分享一些在JavaScript中遇到的一些实用的技巧. 理解JavaScript的数值型数据类型 JavaScript的数值型数据类型只有一种:number.即不管是整数还是浮点数,JavaScrip ...
- oauth三方登陆的原理
一 说明 OAuth是由Blaine Cook.Chris Messina.Larry Halff 及David Recordon共同发起的,目的在于为API访问授权提供一个开放的标准(resful和 ...