采用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 knock\s*$"))
                        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

觉得好点个赞哦

posted @ 2017-08-24 15:59  风清扬 No.1  阅读(635)  评论(1编辑  收藏  举报