本示例将会使用” 嘤鹉学舌” 这个小插件的实现来演示如何使用 Newbe.Mahua 实现第一个机器人插件 。
入坑提示建议开发者先根据自身需求结合表格,选择属于自己的专属开发框架,避免浪费时间 。
- 编写一套代码就能在多个平台运行
- 支持使用除了 C# 之外的开发语言来开发
- 我希望他足够简单,不用学习太多就能掌握,通常只需要半个小时就能掌握所有内容
- 我希望社区的反馈足够快,有问题都可以帮我解决
论坛其他 SDK 的链接
- CQP
- MPQ
- QQLight
基础环境要求
- windows 操作系统
- .Net Framework 4.6.1 及以上
- Powershell 5.0 及以上,仅开发环境要求
简单来说,使用管理员权限在 cmd 中运行以下命令:
powershell -command "Set-ExecutionPolicy RemoteSigned -Force"
下载机器人平台需要从各机器人平台下载最新的软件,各平台官网地址:名称地址费用CQPhttps://cqp.cc/Air 免费,Pro 收费MPQhttps://f.mypcqq.cc/thread-2327-1-1.html免费QQLighthttp://www.52chat.cc/Air 免费,Pro 收费
选择开发者喜欢的平台,下载完毕后,将压缩包解压备用 。
本教程将采用 CQP 作为主要演示平台 。
安装 Newbe.Mahua点击此处 Newbe.Mahua.Installer,下载这个文件夹下所有的文件 。
或者,可以点击此处下载其中的 Newbe.Mahua.Installer.zip 压缩包 。压缩包中的内容与以上链接一致 。
将下载的文件放置到机器人软件的 exe 所在的文件夹 。
使用控制台打开机器人软件的 exe 所在的文件夹,然后执行以下命令
mahua.bat InstallMahua
计算机第一次安装 Newbe.Mahua 时将会花费较多的时间,需要下载约 50M 左右的软件包,需要耐心等待 。以下便是一次安装的效果图:
文章插图
启用 Newbe.Mahua.Agent 插件各个机器人平台的启用方式各不相同 。
CQP按照下图所示,开启开发者模式 。
文章插图
打开插件管理将插件启用 。
MPQ、QQLight打开插件管理将插件启用 。
尝试调用 HTTP APINewbe.Mahua 默认将启动 HTTP API 以便外部进行调用 。API 文档的地址默认是 http://127.0.0.1:36524/apiDoc
以下便是一个调用 CQP 发送好友消息的示例:
注意:以下 API 调用需要根据实际的 API 文档界面的参数提示进行调用 。此处文档可能和真实的调用不同,请以文档为准 。
request
POST http://127.0.0.1:36524/api/v1/Cqp/CQ_sendPrivateMsgContent-Type: Application/json{"account": 472158246,"msg": "月落大佬永远都是唯一的大佬!"}
实际效果如下:文章插图
实现回调订阅与处理除了调用 API,框架本身还提供了回调的实现,也就是在机器人触发了 “收到好友消息” 等事件时,通过一些方式回调开发者的程序 。
本示例利用 HTTP 方式来实现需求 。
默认情况下,安装完 Newbe.Mahua 之后,机器人的所有事件会通过 HTTP 的方式进行回调 。
例如,CQP 平台收到好友消息时,将产生如下请求:
request
POST http://localhost:65321/api/ReceiveMahuaOutputContent-Type: application/json{"TypeCode": "ProcessPrivateMessage","SubType": 11,"FromQQ": 472158246,"Msg": "YUELUO : You unknow every lucky ubuntu owner","MsgId": 1408,"Font": 147911064,"Platform": 0,"CreateTime": "2019-01-26T07:36:11.006313+00:00"}
实现功能基于 “调用” 和 “回调” 两个内容的处理,我们便可以实现以上需求 。这里给出一些常用编程语言的对应实现,其中包含有 C#/JAVA/JavaScript/Typescript 等开发语言 。调用与回调方式包含有 HTTP/Websocket 等 。
开发者可以点击此处查看一些技术实现
成功!发送消息给机器人,你就会收到机器人回发的信息 。
机器人插件启动可能需要一段时间,并且大多数平台都会丢弃离线信息,可能需要等待一会儿再发送 。
推荐阅读
- 机器人Pepper在日本羽田机场“上岗”
- 登月载人飞船第一个 第一个登月之人乘坐的飞船是
- 飞机|坐飞机也可畅快上网了?达美航空开始测试星链互联网服务
- 地球上的外星生物 外星有生物吗
- 小米|小米史上最强!米家全能扫拖机器人今晚首销:3999元到手
- 5分钟内搭建你的第一个Python聊天机器人
- 中国第一个乒乓球大满贯是谁?
- 冬季心脑血管疾病高发 预防从进补开始
- 冬季养生可防前列腺肥大 秋冬开始男人要注意生活
- 地球人第一个人是谁 地球上第一个人是谁他的名字叫什么