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 的操作方法,开发者可以类似于数据库事务一样,在多个对象中拼装消息内容,而在最终决定是否发送消息。

点击此处,学习如何使用Fluent API

设置中心

框架提供了一套基于 WPF 的统一设置中心,开发者可以使用此设置中心来制作自己的应用设置界面。

当然开发者可以完全扩展出自己的设置中心。

点击此处,学习如何开发设置中心

扩展API与平台原生API

开发者可以通过 IMahuaApi 调用框架提供的API,通过这些API能够实现大部分的业务需求。

但由于不同平台的支持程度不同,因此实现上存在差异。但开发者可以通过扩展 IMahuaApi 的实现,进一步达到自己的需求。

点击此处,学习如何扩展IMahuaApi

并且,框架也提供了各平台原生的API。

点击此处,学习如何调用原生API

常见问题

大佬,这里有个问题能帮我看一下吗?

不能。

框架免费吗?

免费。

哪里有框架的源码?

无法将“Install-PackageProvider”项识别为 cmdlet、函数、脚本文件或可运行程序的名称…

升级到 Powershell 5。https://www.cnblogs.com/wenBlog/p/6198354.html

怎么异步发送消息?

由于 Session 机制的存在,直接调用注入事件的IMahuaApi执行是必然失败的。因此,需要在异步代码中能够开启新的 Session 才能够正常使用接口。

示例如下:

 
csharp

// 异步发送消息,不能使用 _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
文章作者: newbe36524
文章链接: https://www.newbe.pro/Newbe.Mahua/Feature-And-FAQ-Of-Mahua-With-Version-1-X/
本文章著作权归作者所有,任何形式的转载都请注明出处。

体验 QQ机器人C# SDK 1.X 特性总结的更多相关文章

  1. 第一讲 从头开始做一个web qq 机器人,第一步获取smart qq二维码

    新手教程: 前言:最近在看了一下很久很久以前做的qq机器人失效了,最近也在换工作目前还在职,时间很挺宽裕的.就决定从新搞一个web qq机器人 PC的协议解析出来有点费时间以后再做. 准备工作: 编译 ...

  2. 使用C# 开始第一个QQ机器人

    本示例将会使用”嘤鹉学舌”这个小插件的实现来演示如何使用Newbe.Mahua实现第一个机器人插件. 插件功能 自动将发送者的消息回发给发送人,嘤鹉(Parrot,其实是说嘤嘤嘤怪)学舌. 开发环境要 ...

  3. Mirai框架qq机器人教程

    Mirai框架qq机器人教程 0.前言 1. 安装Java 2.安装Mirai启动器 3.下载IDEA或其他编译器 4.创建mirai-console插件项目 4.1 通过git创建 4.2 通过插件 ...

  4. 实现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 ...

  5. QQ登录-第三方SDK的接入总结(搜索 qq互联)

    由于项目的需要,使用了[QQ登录]SDK 的相关功能!   1.集成[QQ登录]SDK   [QQ登录]SDK下载地址: http://wiki.open.qq.com/wiki/website/SD ...

  6. 分享QQ第三方登陆SDK

    主要是考虑到QQ的PHP SDK写的真是太烂了,纯属是普及API知识,而不是到手就可以部署的类库..反正自己都写了一个了,就拿出来分享下.. 什么也不多说,直接上代码. Qq_sdk.php < ...

  7. QQ登录-第三方SDK的接入总结

    由于项目的需要,使用了[QQ登录]SDK 的相关功能!   1.集成[QQ登录]SDK   [QQ登录]SDK下载地址: http://wiki.open.qq.com/wiki/website/SD ...

  8. Python3实现QQ机器人自动爬取百度文库的搜索结果并发送给好友(主要是爬虫)

    一.效果如下: 二.运行环境: win10系统:python3:PyCharm 三.QQ机器人用的是qqbot模块 用pip安装命令是: pip install qqbot (前提需要有request ...

  9. 基于WebQQ3.0协议写一个QQ机器人

    最近公司需要做个qq机器人获取qq好友列表,并且能够自动向选定的qq好友定时发送消息.没有头绪,硬着头皮上 甘甜的心情瞬间变得苦涩了 哇 多捞吆 1.WEBQQ3.0登陆协议 进入WEBQQ, htt ...

随机推荐

  1. Windows / Windows Phone 8.1 预留应用名称及应用上传

    最近比较懒好久没有来这里跟大家聊了,WP 8.1 的 preview 发布已经有一阵子了,并且商店支持 8.1 应用也有一段时间了.我就把这篇 8.1 的应用商店预留提交作为 8.1 的一个开始吧. ...

  2. Java开发 小工具累计

    array to list Integer[] spam = new Integer[] { 1, 2, 3 }; List<Integer> rlt = Arrays.asList(sp ...

  3. VS2017 无法使用"XXX"附加到应用程序

    可能是启用了腾讯的网游,可以关闭游戏,再试一下,如果还是不行,重启一下就可以了.好像是游戏的什么防篡改的作用

  4. sqlserver学习

    清空数据表: delete from TableName  清除表中的所有的数据,保留表的结构 truncate table TableName 清除表中所有行,保留表结构 (重置ID) 删除表 Dr ...

  5. Day 9 作业题(完成)

    # 练习题# 1.整理函数相关知识点,画思维导图,写博客 # 2.写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新列表返回给调用者.'''def func1(argv): f ...

  6. JQuery Mobile - 为什么绑定事件后会被多次执行?

    JQuery Mobile 在绑定事件时候,发现会被多次执行,为什么啊? 原来,jquery click  不是替换原有的function ,而是接着添加,所以才会执行次数越来越多,怎么办才能按需实现 ...

  7. 关于popup

    p1.html:点击添加按钮,开启窗口,打开p2.html,填写数据后返回p3.html,p3.html将数据回传到p1.html,且关闭自己   p1.html: <!DOCTYPE html ...

  8. jzoj5832. 【省选模拟8.20】Emotional Flutter

    tj:我們發現,每一次走過的步長都是k,設當前走的步數是x,走到了一個白條 那麼,每一次走就是把所有黑條都向前移k位,我們可以考慮把所有黑條的左邊界不斷的向前移動k,直到下一次移動時,其左邊界小於0, ...

  9. 队列(链式队列)----C语言

    链式队列----用链表实现,链式队列就是一个操作受限的单向链表,如果读者了解单向链表的建立过程,那理解链式队列就很容易了,先回顾一下单向链表的建立过程 (不熟悉单向链表的可以先看看另一片随笔,再回来看 ...

  10. ssh 登陆 端口转发

    man ssh ssh [-1246AaCfgKkMNnqsTtVvXxYy] [-b bind_address] [-c cipher_spec] [-D [bind_address:]port] ...