开篇一张图,功能全靠编。
QQ机器人平台意指那些支持通过QQ进行消息收发和群员软件平台。
使用该SDK开发可以实现一次开发,运行于多个不同QQ机器人平台平台的绝佳体验。
基于SDK开发,可以实现包含但不限于以下功能:
QQ消息智能回复
通过QQ发送图片
QQ名片点赞
QQ群成员管理
@指定QQ群成员发送消息
点击此处开始你的第一个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提示进行操作即可。
评论删除后,数据将无法恢复
QQ 机器人平台 Newbe.Mahua 1.13 支持撤回消息
开篇一张图,功能全靠编。
QQ机器人平台意指那些支持通过QQ进行消息收发和群员软件平台。
使用该SDK开发可以实现一次开发,运行于多个不同QQ机器人平台平台的绝佳体验。
基于SDK开发,可以实现包含但不限于以下功能:
QQ消息智能回复
通过QQ发送图片
QQ名片点赞
QQ群成员管理
@指定QQ群成员发送消息
点击此处开始你的第一个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提示进行操作即可。