zoukankan      html  css  js  c++  java
  • 采用SmartQQ 协议可制作聊天机器人

    采用.NET CORE可运行在 Linux 、 Windows 和 Mac OSX 平台下。

    SmartQQ可以:

    • 收发文字消息
    • 获取好友、群、讨论组、好友分组和最近会话的列表

    SmartQQ不可以:

    • 包括但不限于收发图片、结构化消息、特殊消息
    • 上传/下载/发送文件
    • 视频、音频

    以下功能在日程上但是暂未实现:

    • 收发系统表情(例:/微笑)

    特色功能:

    • 尽量隐藏了底层API的杂乱架构
    • 可调节的缓存时间
    • 导出cookie便于下次快速登录
    • 便捷的检测消息是否提到我
    • 完善的XML注释
    • 掉线检测
    • 以字节数组形式接收二维码

    调用代码

    SmartQQClient
                    // 登录
                    .Login((bytes) =>
                    {
                        using (var ms = new MemoryStream(bytes))
                        {
                            SmartQQClient.ConsoleWriteImage(new Bitmap(Image.FromStream(ms)));
                            Logger.Instance.Info("二维码已打印在屏幕,请使用手机QQ扫描。");
                        }
                    })
                    // 好友消息回调
                    .ReceivedFriendMessage((message) => {
                        message.Reply("test");
                        Logger.Instance.Info($"{message.Sender.Alias ?? message.Sender.Nickname}:{message.Content}");
                    })
                    // 群消息回调
                    .ReceivedGroupMessage((message) => {
                        Logger.Instance.Info(
                        $"[{message.Group.Name}]{message.Sender.Alias ?? message.Sender.Nickname}:{message.Content}");
                        if (message.Content.IsMatch(@"^s*Knock knocks*$"))
                            message.Reply("Who's there?");
                        else if (message.StrictlyMentionedMe)
                            message.Reply("什么事?");
                    })
                    // 讨论组消息回调
                    .ReceivedDiscussionMessage((message) =>
                    {
                        Logger.Instance.Info($"[{message.Discussion.Name}]{message.Sender.Nickname}:{message.Content}");
                    })
                    // 消息回显
                    .ReceivedMessageEchoEventArgs((e) => {
                        Logger.Instance.Info($"{e.Target.Name}>{e.Content}");
                    })
                    //开始服务
                    .Start((client) => {
                        Logger.Instance.Info($"欢迎,{client.Nickname}!");
                    });
    
                Console.ReadLine();
    

      

    项目地址:https://github.com/WangCharlie/SmartQQ

    觉得好点个赞哦

  • 相关阅读:
    centos6.5-搭建LNMP
    mysql组织结构
    mysql主从复制
    centos6.5-搭建mysql5.7.9
    操作系统的历史
    用户&权限&系统
    awk是全局周期
    在vm上面安装Linux系统
    Linux rpm yum 等安装软件
    linux中execve函数的用法
  • 原文地址:https://www.cnblogs.com/fengqingyangNo1/p/7423560.html
Copyright © 2011-2022 走看看