QQ 機器人平臺 Newbe.Mahua 1.13 支援撤回訊息
開篇一張圖,功能全靠編。
QQ機器人平臺意指那些支援通過QQ進行訊息收發和群員軟體平臺。
使用該SDK開發可以實現一次開發,運行於多個不同QQ機器人平臺平臺的絕佳體驗。
基於SDK開發,可以實現包含但不限於以下功能:
-
QQ訊息智慧回覆
-
通過QQ傳送圖片
-
QQ名片點贊
-
QQ群成員管理
-
@指定QQ群成員傳送訊息
ofollow,noindex">點選此處開始你的第一個QQ機器人吧
感謝 kotoneme 開發者的PR。為本框架添加了訊息撤回的支援。
版本亮點
支援訊息撤回
此版本添加了訊息撤回的支援。詳細的用法分為兩類。
撤回自己的訊息
樣例程式碼如下:
using Newbe.Mahua.MahuaEvents; namespace Newbe.Mahua.Plugins.Parrot.MahuaEvents { /// <summary> ///來自好友的私聊訊息接收事件 /// </summary> public class PrivateMessageFromFriendReceivedMahuaEvent : IPrivateMessageFromFriendReceivedMahuaEvent { private readonly IMahuaApi _mahuaApi; public PrivateMessageFromFriendReceivedMahuaEvent( IMahuaApi mahuaApi) { _mahuaApi = mahuaApi; } public void ProcessFriendMessage(PrivateMessageFromFriendReceivedContext context) { // 普通的 Fluent API 傳送訊息 _mahuaApi.SendPrivateMessage(context.FromQq) .Text("嚶嚶嚶:") .Text(context.Message) .Done(); // 支援撤回的 Fluent API 傳送訊息 var token = _mahuaApi.SendPrivateMessage(context.FromQq) .Text("嚶嚶嚶:") .Text(context.Message) .DoneWithToken(); // 撤回訊息 token.Cancel(); // 普通 API 傳送訊息 _mahuaApi.SendPrivateMessage(context.FromQq, context.Message); // 支援撤回的 API 傳送訊息 var token2 = _mahuaApi.SendPrivateMessageWithCancelToken(context.FromQq, context.Message); // 撤回訊息 token2.Cancel(); } } }
撤回群成員訊息
樣例程式碼如下:
using Newbe.Mahua.MahuaEvents; namespace Newbe.Mahua.Plugins.Parrot.MahuaEvents { /// <summary> ///處理群成員訊息 /// </summary> public class GroupMessageReceivedMahuaEvent : IGroupMessageReceivedMahuaEvent { public void ProcessGroupMessage(GroupMessageReceivedContext context) { // 獲取用於撤回訊息的 token var token = context.MessageCancelToken; // 撤回訊息 token.Cancel(); } } }
各平臺支援情況
訊息撤回功能各平臺的支援力度各不相同。 詳情點選此處進行了解 。
升級注意
從 1.12 版本直接更新全部的 Newbe.Mahua.* nuget 包,重新生成便可以。
升級過程中需要覆蓋 build.bat 和 build.ps1 檔案。若有自行定製的內容,請提前保留備份。
VS外掛更新只需要按照VS提示進行操作即可。