QQ 机器人平台 Newbe.Mahua 1.13 支持撤回消息

栏目: 软件资讯 · 发布时间: 6年前

内容简介:开篇一张图,功能全靠编。 QQ机器人平台意指那些支持通过QQ进行消息收发和群员软件平台。 使用该SDK开发可以实现一次开发,运行于多个不同QQ机器人平台平台的绝佳体验。 基于SDK开发,可以实现包含但不限于以下功...

开篇一张图,功能全靠编。

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


【声明】文章转载自:开源中国社区 [http://www.oschina.net]


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

RabbitMQ实战

RabbitMQ实战

Alvaro Videla、Jason J. W. Williams / 汪佳南 / 电子工业出版社 / 2015-10 / 75.00元

本书对RabbitMQ做了全面、翔实的讲解,体现了两位专家的真知灼见。本书首先介绍了有关MQ的历史,然后从基本的消息通信原理讲起,带领读者一路探索RabbitMQ的消息通信世界。这当中不仅包含了针对单台RabbitMQ服务器和RabbitMQ集群的讲解,还教导读者如何使用各种工具来进行监控。 本书内容浅显易懂,文笔风趣幽默。书中包含了丰富的、可以运行的示例程序源代码,读者可以自行下载并运行,......一起来看看 《RabbitMQ实战》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器