本示例將會使用” 嚶鵡學(xué)舌” 這個小插件的實現(xiàn)來演示如何使用 Newbe.Mahua 實現(xiàn)第一個機器人插件。
入坑提示
建議開發(fā)者先根據(jù)自身需求結(jié)合表格,選擇屬于自己的專屬開發(fā)框架,避免浪費時間。
- 編寫一套代碼就能在多個平臺運行
- 支持使用除了 C# 之外的開發(fā)語言來開發(fā)
- 我希望他足夠簡單,不用學(xué)習(xí)太多就能掌握,通常只需要半個小時就能掌握所有內(nèi)容
- 我希望社區(qū)的反饋足夠快,有問題都可以幫我解決
SDK 名稱(1)(2)(3)(4)論壇中的其他 SDK????Jie2GG.Native.Csharp.Frame????Newbe.Mahua V2????Newbe.Mahua V1????
論壇其他 SDK 的鏈接
- CQP
- MPQ
- QQLight
插件功能
自動將發(fā)送者的消息回發(fā)給發(fā)送人,嚶鵡(Parrot,其實是說嚶嚶嚶怪)學(xué)舌。
基礎(chǔ)環(huán)境要求
- windows 操作系統(tǒng)
- .Net Framework 4.6.1 及以上
- Powershell 5.0 及以上,僅開發(fā)環(huán)境要求
設(shè)置 Powershell 執(zhí)行策略限制
參考鏈接:http://www.pstips.net/powershell-create-and-start-scripts.html
簡單來說,使用管理員權(quán)限在 cmd 中運行以下命令:
powershell -command "Set-ExecutionPolicy RemoteSigned -Force"
下載機器人平臺
需要從各機器人平臺下載最新的軟件,各平臺官網(wǎng)地址:
名稱地址費用CQPhttps://cqp.cc/Air 免費,Pro 收費MPQhttps://f.mypcqq.cc/thread-2327-1-1.html免費QQLighthttp://www.52chat.cc/Air 免費,Pro 收費
選擇開發(fā)者喜歡的平臺,下載完畢后,將壓縮包解壓備用。
本教程將采用 CQP 作為主要演示平臺。
安裝 Newbe.Mahua
點擊此處 Newbe.Mahua.Installer,下載這個文件夾下所有的文件。
或者,可以點擊此處下載其中的 Newbe.Mahua.Installer.zip 壓縮包。壓縮包中的內(nèi)容與以上鏈接一致。
將下載的文件放置到機器人軟件的 exe 所在的文件夾。
使用控制臺打開機器人軟件的 exe 所在的文件夾,然后執(zhí)行以下命令
mahua.bat InstallMahua
計算機第一次安裝 Newbe.Mahua 時將會花費較多的時間,需要下載約 50M 左右的軟件包,需要耐心等待。
以下便是一次安裝的效果圖:

啟用 Newbe.Mahua.Agent 插件
各個機器人平臺的啟用方式各不相同。
CQP
按照下圖所示,開啟開發(fā)者模式。

打開插件管理將插件啟用。
MPQ、QQLight
打開插件管理將插件啟用。
嘗試調(diào)用 HTTP API
Newbe.Mahua 默認將啟動 HTTP API 以便外部進行調(diào)用。API 文檔的地址默認是 http://127.0.0.1:36524/apiDoc
以下便是一個調(diào)用 CQP 發(fā)送好友消息的示例:
注意:以下 API 調(diào)用需要根據(jù)實際的 API 文檔界面的參數(shù)提示進行調(diào)用。此處文檔可能和真實的調(diào)用不同,請以文檔為準(zhǔn)。
request
POST http://127.0.0.1:36524/api/v1/Cqp/CQ_sendPrivateMsg
Content-Type: Application/json
{
"account": 472158246,
"msg": "月落大佬永遠都是唯一的大佬!"
}
實際效果如下:

實現(xiàn)回調(diào)訂閱與處理
除了調(diào)用 API,框架本身還提供了回調(diào)的實現(xiàn),也就是在機器人觸發(fā)了 “收到好友消息” 等事件時,通過一些方式回調(diào)開發(fā)者的程序。
本示例利用 HTTP 方式來實現(xiàn)需求。
默認情況下,安裝完 Newbe.Mahua 之后,機器人的所有事件會通過 HTTP 的方式進行回調(diào)。
例如,CQP 平臺收到好友消息時,將產(chǎn)生如下請求:
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"
}
實現(xiàn)功能
基于 “調(diào)用” 和 “回調(diào)” 兩個內(nèi)容的處理,我們便可以實現(xiàn)以上需求。
這里給出一些常用編程語言的對應(yīng)實現(xiàn),其中包含有 C#/JAVA/JavaScript/Typescript 等開發(fā)語言。調(diào)用與回調(diào)方式包含有 HTTP/Websocket 等。
開發(fā)者可以點擊此處查看一些技術(shù)實現(xiàn)
成功!
發(fā)送消息給機器人,你就會收到機器人回發(fā)的信息。
機器人插件啟動可能需要一段時間,并且大多數(shù)平臺都會丟棄離線信息,可能需要等待一會兒再發(fā)送。
教程鏈接
- 開始第一個 QQ 機器人【適用于 v2.0 及以上】
發(fā)布說明
- Newbe.Mahua 2.4 恢復(fù) QQLight
- Newbe.Mahua 2.3 移除 CleverQQ
- Newbe.Mahua 2.2 可用性修復(fù)
- Newbe.Mahua 2.1 支持 Websocket
- Newbe.Mahua 2.0 不再僅僅支持 .Net
- 本文作者: newbe36524
- 本文鏈接: https://www.newbe.pro/Newbe.Mahua/Start-With-Mahua-In-V2.0/
- 版權(quán)聲明: 本博客所有文章除特別聲明外,均采用 BY-NC-SA 許可協(xié)議。轉(zhuǎn)載請注明出處!