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. [译]在 Andriod/IOS 程序中使用自己的字体

    原文链接:http://firemonkeyblog.blogspot.com/2014/12/using-custom-fonts-in-android-delphi.html 你应该能够在 And ...

  2. Android-普通菜单Menu

    第一种方式,使用Java方式 第二种方式,使用menu.xml package liudeli.activity; import android.app.Activity; import androi ...

  3. Android-XML格式描述

    XML是W3C公司提出的标准,使用范围非常广阔,在框架的配置,程序的配置,布局文件的定义,网络传输等,无所不在: 以前学Java的时候,对XML的名词定义是,根节点,子节点 等等,而在Android里 ...

  4. Python学习-31.Python中集合的一些操作

    add方法: s = {1,2,3} s.add(4) print(s)# {1, 2, 3, 4} 同list的append方法,若调用s.add(3),则不会有任何影响.这点与C#中的HashSe ...

  5. Mono For Android 之 配置环境

    下载 Xamarin Mono For Android 4.6.07004 完整离线破解版 (包括除 Android SDK 外的所有文件) Android SDK. 资源源自 http://www. ...

  6. 修改ActiveReports验证文字“给不能为 null 的参数指定一个 null 值”

    转:http://gcdn.gcpowertools.com.cn/showtopic-13759.html ActiveReports官方网站:http://www.gcpowertools.com ...

  7. Day 20 Time 模块.

    from collections import namedtuplePoint =namedtuple("Point",["x","y"]) ...

  8. 程序猿的日常——JVM内存模型与垃圾回收

    Java开发有个很基础的问题,虽然我们平时接触的不多,但是了解它却成为Java开发的必备基础--这就是JVM.在C++中我们需要手动申请内存然后释放内存,否则就会出现对象已经不再使用内存却仍被占用的情 ...

  9. 一个Unix内核级别漏洞(一)

    翻译原创稿件,prison整理翻译,首发ichunqiu,原地址:http://lsd-pl.net/kernelvuln.pdf 这是一篇关于Unix内核级别漏洞的paper,由某团队发布在一次黑客 ...

  10. poj3624 Charm Bracelet

    http://poj.org/problem?id=3624 题目大意:贝茜去了商场的珠宝店,发现了一个迷人的手镯.当然,她想装最好的魅力(N(1≤N≤3402)可用的魅力).每个魅力提供的列表中都有 ...