Newbe.Mahua 1.13 支持撤回消息

感谢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提示进行操作即可。

教程链接

Newbe.Mahua 1.X 主要特性介绍与常见问题讲解

开始第一个QQ机器人【适用于v1.9-1.12】

Newbe.Mahua 插件热更新

Newbe.Mahua.Samples.ApiExtensions 对IMahuaApi进行扩展

Newbe.Mahua.Samples.LiveGirl 操作定时任务

Newbe.Mahua.Samples.Sqlite SQLite操作实例

Newbe.Mahua 测试与调试

Newbe.Mahua 扩展设置中心

【开源访谈】对接 QQ 机器人平台,对接共同成长的开源社区(开源中国采访)

发布说明

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 开发便利性提升