Newbe.Mahua 1.13 支持撤回消息

2020-03-16 14:16:36 浏览数 (1)

感谢kotoneme开发者的PR。为本框架添加了消息撤回的支持。

版本亮点

支持消息撤回

此版本添加了消息撤回的支持。详细的用法分为两类。

撤回自己的消息

样例代码如下:

代码语言:javascript复制
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();
        }
    }
}
撤回群成员消息

样例代码如下:

代码语言:javascript复制
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-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 开发便利性提升

0 人点赞