开始第一个QQ机器人【适用于v1.9-v1.X】
本示例将会使用”嘤鹉学舌”这个小插件的实现来演示如何使用Newbe.Mahua
实现第一个机器人插件。
入坑提示
建议开发者先根据自身需求结合表格,选择属于自己的专属开发框架,避免浪费时间。
- 编写一套代码就能在多个平台运行
- 支持使用除了 C#之外的开发语言来开发
- 我希望他足够简单,不用学习太多就能掌握,通常只需要半个小时就能掌握所有内容
- 我希望社区的反馈足够快,有问题都可以帮我解决
SDK 名称 | (1) | (2) | (3) | (4) |
---|---|---|---|---|
论坛中的其他 SDK | ✔ | ✔ | ✔ | ✔ |
Jie2GG.Native.Csharp.Frame | ✔ | ✘ | ✔ | ✔ |
Newbe.Mahua V2 | ✔ | ✔ | ✘ | ✘ |
Newbe.Mahua V1 | ✔ | ✘ | ✘ | ✘ |
论坛其他 SDK 的链接
插件功能
自动将发送者的消息回发给发送人,嘤鹉(Parrot,其实是说嘤嘤嘤怪)学舌。
基础环境要求
- Windows 操作系统
- .Net Framework 4.5.2 及以上
- Powershell 5.0 及以上,仅开发环境要求
- .Net Core SDK 2.2 及以上,仅开发环境要求
IDE
开发者可以任选以下任意一款 IDE
- Visual Studio 2017(VS2015 update 3 理论上也能够开发,但开发遇到的问题,需自行解决)
- Visual Studio Code
- Rider(Newbe 更加推荐)
设置 Powershell 执行策略限制
简单来说,使用管理员权限在 cmd 中运行以下命令:
1 | powershell -command "Set-ExecutionPolicy RemoteSigned -Force" |
参考资料:http://www.pstips.net/powershell-create-and-start-scripts.html
安装项目模板
在安装好 .Net Core SDK
之后,启动控制台运行以下命令:
1 | dotnet new -i Newbe.Mahua.Template |
出现以下内容,则说明项目模板已经安装成功。
新建项目
项目模板包含有五个,包含四个对应平台的模板和一个全平台的模板。
名称 | 说明 |
---|---|
newbe.mahua.all | 全平台 |
newbe.mahua.cqp | 酷 Q |
newbe.mahua.mpq | MyPcQQ |
newbe.mahua.qqlight | QQLight |
本示例使用全平台模板 newbe.mahua.all 进行演示。
特别注意:为了确保新建的项目的能够在所有平台运行,项目名称至少需要包含 AAA.BBB.CCC 三段。
本次实例使用名称 Newbe.Mahua.Plugins.Parrot 进行演示。
使用 Rider
直接使用 Rider 创建项目,可以在 Other 模板分组中找到该框架相关的模板。
等待 Rider 创建完毕后,进入新建的项目文件夹中。使用控制台执行更新命令,更新相应的组件包到最新:
1 | build.bat UpdateMahuaPackages |
使用其他 IDE
新建一个空的文件夹,启动控制台,cd 进入该文件夹,运行以下命令:
1 | REM 创建解决方案 |
初次执行这些命令需要 1-2 分钟时间。
具体效果如图所示:
修改插件基本信息
打开PluginInfo.cs
文件,按照实际需求和注释内容进行修改。
1 | namespace Newbe.Mahua.Plugins.Parrot |
添加”接收好友消息事件”代码实现
新建出来的项目中包含一个 ItemTemplate
文件夹,里面包含了所有需要的项模板。
注意,这个文件夹默认没有包含到项目中,需要使用资源管理器进行查看。
将 ItemTemplate/MahuaEvent/PrivateMessageReceivedMahuaEvent.cs
文件复制到 MahuaEvents/PrivateMessageReceivedMahuaEvent.cs
,并使用 IDE 将复制后的文件包含在项目中。
处理事件
在PrivateMessageFromFriendReceivedMahuaEvent.cs
中,调用IMahuaApi
,将好友消息回发给好友,实现嘤鹉学舌的效果。
1 | using Newbe.Mahua.MahuaEvents; |
在模块中注册事件
打开MahuaModule.cs
文件,在MahuaEventsModule
中注册刚刚添加的PrivateMessageFromFriendReceivedMahuaEvent
。
1 | using Autofac; |
生成与打包
生成项目,然后双击位于项目根目录的build.bat
文件。
复制文件到机器人平台
在bin
目录下会按照当前安装的平台生成相应的目录。本示例将会生成 CQP、Amanda 和 MPQ 三个目录。
分别将三个文件夹下的所有文件和文件夹都复制到对应的机器人平台根目录。
以 CQP 为例,进行一次复制过程如下图所示:
各机器人软件下载地址:
名称 | 地址 |
---|---|
CQP | https://cqp.cc/ |
MPQ | https://f.mypcqq.cc/thread-2327-1-1.html |
QQLight | http://www.52chat.cc/ |
启用插件
各个机器人平台的启用方式各不相同。
CQP
按照下图所示,开启开发者模式。
打开插件管理将插件启用。
MPQ、QQLight
打开插件管理将插件启用。
成功!
发送消息给机器人,你就会收到机器人回发的信息。
机器人插件启动可能需要一段时间,并且大多数平台都会丢弃离线信息,可能需要等待一会儿在发送。
继续了解
Newbe.Mahua 1.X 主要特性介绍与常见问题讲解教程链接
- 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 开发便利性提升