本示例將會使用” 嚶鵡學舌” 這個小插件的實現來演示如何使用 Newbe.Mahua 實現第一個機器人插件。
入坑提示
建議開發者先根據自身需求結合表格,選擇屬于自己的專屬開發框架,避免浪費時間。
- 編寫一套代碼就能在多個平臺運行
- 支持使用除了 C# 之外的開發語言來開發
- 我希望他足夠簡單,不用學習太多就能掌握,通常只需要半個小時就能掌握所有內容
- 我希望社區的反饋足夠快,有問題都可以幫我解決
SDK 名稱(1)(2)(3)(4)論壇中的其他 SDK????Jie2GG.Native.Csharp.Frame????Newbe.Mahua V2????Newbe.Mahua V1????
論壇其他 SDK 的鏈接
- CQP
- MPQ
- QQLight
插件功能
自動將發送者的消息回發給發送人,嚶鵡(Parrot,其實是說嚶嚶嚶怪)學舌。
基礎環境要求
- windows 操作系統
- .Net Framework 4.6.1 及以上
- Powershell 5.0 及以上,僅開發環境要求
設置 Powershell 執行策略限制
參考鏈接:http://www.pstips.net/powershell-create-and-start-scripts.html
簡單來說,使用管理員權限在 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 API
Newbe.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_sendPrivateMsg
Content-Type: Application/json
{
"account": 472158246,
"msg": "月落大佬永遠都是唯一的大佬!"
}
實際效果如下:

實現回調訂閱與處理
除了調用 API,框架本身還提供了回調的實現,也就是在機器人觸發了 “收到好友消息” 等事件時,通過一些方式回調開發者的程序。
本示例利用 HTTP 方式來實現需求。
默認情況下,安裝完 Newbe.Mahua 之后,機器人的所有事件會通過 HTTP 的方式進行回調。
例如,CQP 平臺收到好友消息時,將產生如下請求:
request
POST http://localhost:65321/api/ReceiveMahuaOutput
Content-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 等。
開發者可以點擊此處查看一些技術實現
成功!
發送消息給機器人,你就會收到機器人回發的信息。
機器人插件啟動可能需要一段時間,并且大多數平臺都會丟棄離線信息,可能需要等待一會兒再發送。
教程鏈接
- 開始第一個 QQ 機器人【適用于 v2.0 及以上】
發布說明
- Newbe.Mahua 2.4 恢復 QQLight
- Newbe.Mahua 2.3 移除 CleverQQ
- Newbe.Mahua 2.2 可用性修復
- Newbe.Mahua 2.1 支持 Websocket
- Newbe.Mahua 2.0 不再僅僅支持 .Net
- 本文作者: newbe36524
- 本文鏈接: https://www.newbe.pro/Newbe.Mahua/Start-With-Mahua-In-V2.0/
- 版權聲明: 本博客所有文章除特別聲明外,均采用 BY-NC-SA 許可協議。轉載請注明出處!