Newbe.Mahua 1.X 主要特性介紹與常見問題講解
- 2020 年 3 月 16 日
- 筆記
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 的操作方法,開發者可以類似於資料庫事務一樣,在多個對象中拼裝消息內容,而在最終決定是否發送消息。
設置中心
框架提供了一套基於 WPF 的統一設置中心,開發者可以使用此設置中心來製作自己的應用設置介面。
當然開發者可以完全擴展出自己的設置中心。
擴展API與平台原生API
開發者可以通過 IMahuaApi 調用框架提供的API,通過這些API能夠實現大部分的業務需求。
但由於不同平台的支援程度不同,因此實現上存在差異。但開發者可以通過擴展 IMahuaApi 的實現,進一步達到自己的需求。
並且,框架也提供了各平台原生的API。
常見問題
大佬,這裡有個問題能幫我看一下嗎?
不能。
框架免費嗎?
免費。
哪裡有框架的源碼?
無法將「Install-PackageProvider」項識別為 cmdlet、函數、腳本文件或可運行程式的名稱…
升級到 Powershell 5。https://www.cnblogs.com/wenBlog/p/6198354.html
怎麼非同步發送消息?
由於 Session 機制的存在,直接調用注入事件的IMahuaApi執行是必然失敗的。因此,需要在非同步程式碼中能夠開啟新的 Session 才能夠正常使用介面。
示例如下:
// 非同步發送消息,不能使用 _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?
沒有。
為什麼複製了啟動之後,報錯了?
- 重看教程,確認真的都看完了看準了
- 看日誌,日誌中記錄了錯誤資訊
教程鏈接
- 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 開發便利性提升

