采用.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

觉得好点个赞哦

采用SmartQQ 协议可制作聊天机器人的更多相关文章

  1. 计算机网络课设之基于UDP协议的简易聊天机器人

    前言:2017年6月份计算机网络的课设任务,在同学的帮助和自学下基本搞懂了,基于UDP协议的基本聊天的实现方法.实现起来很简单,原理也很简单,主要是由于老师必须要求使用C语言来写,所以特别麻烦,而且C ...

  2. TensorFlow练习13: 制作一个简单的聊天机器人

    现在很多卖货公司都使用聊天机器人充当客服人员,许多科技巨头也纷纷推出各自的聊天助手,如苹果Siri.Google Now.Amazon Alexa.微软小冰等等.前不久有一个视频比较了Google N ...

  3. 【Python成长之路】从零学GUI -- 制作智能聊天机器人

    [写在前面] 鹏哥:最近老惹小燕同学不开心,结果都没人陪我聊天了.哎,好无聊呀! 肥宅男:女朋友什么的最无聊了,还没我的图灵机器人好玩. 鹏哥:图灵?好巧,和我部门同名. [效果如下] [实现过程] ...

  4. python3+qqBot+图灵机器人实现qq聊天机器人

    原理: 通过Python3的qqBot开源库,基于腾讯的smartQQ协议登录个人QQ,实现监控.收集QQ消息,进而通过图灵机器人API接入方式实现自动聊天. 零.前期准备: 1.Python3 2. ...

  5. AI中台——智能聊天机器人平台的架构与应用(分享实录)

    内容来源:宜信技术学院第3期技术沙龙-线上直播|AI中台——智能聊天机器人平台 主讲人:宜信科技中心AI中台团队负责人王东 导读:随着“中台”战略的提出,目前宜信中台建设在思想理念及架构设计上都已经取 ...

  6. 在网络7层协议中,如果想使用UDP协议达到TCP协议的效果,可以在哪层做文章?(QQ 为什么采用 UDP 协议,而不采用 TCP 协议实现?)

    为了解决这题,可以具体看看下面这个讨论. 解灵运工程师 185 人赞同 某次架构师大会上那个58同城做即时通信的人说:原因是因为当时没有epoll这种可以支持成千上万tcp并发连接的技术,所以他们使用 ...

  7. vue-miniQQ——基于Vue2实现的仿手机QQ单页面应用(接入了聊天机器人,能够进行正常对话)

    使用Vue2进行的仿手机QQ的webapp的制作,作品由个人独立开发,源码中进行了详细的注释. 由于自己也是初学Vue2,所以注释写的不够精简,请见谅. 项目地址 https://github.com ...

  8. 学习笔记TF059:自然语言处理、智能聊天机器人

    自然语言处理,语音处理.文本处理.语音识别(speech recognition),让计算机能够"听懂"人类语音,语音的文字信息"提取". 日本富国生命保险公司 ...

  9. Mianbot:基于向量匹配的情境式聊天机器人

    Mianbot是采用样板与检索式模型搭建的聊天机器人,目前有两种产生回覆的方式,专案仍在开发中:) 其一(左图)是以词向量进行短语分类,针对分类的目标模组实现特征抽取与记忆回覆功能,以进行多轮对话,匹 ...

随机推荐

  1. 使用cxf做webservice接口调用

    一.服务端 建javaweb工程,去官网下载所需的cxf接口发布的jar包,导入到工程.官网地址:http://cxf.apache.org/download.html 1.建立调用接口 packag ...

  2. spring boot 事件发布与接收

    1.创建发布对象 LoginEvent 2.在要发布对象的地方注入 ApplicationEventPublisher @Autowired ApplicationEventPublisher pub ...

  3. Java缓存框架使用EhCache结合Spring AOP

    一.Ehcache简介     EhCache是一个纯Java的进程内缓存框架,具有如下特点:     1. 快速简单,非常容易和应用集成.     2.支持多种缓存策略 .     3. 缓存数据有 ...

  4. Android - DrawerLayout

    Android DrawerLayout 的使用 Android L Android Studio 1.4 从主视图左侧能抽出一个导航栏,效果图:  点击后弹出新界面:  新界面也可以抽出左侧导航栏 ...

  5. C/C++中static的用法全局变量与局部变量

    1.什么是static? static 是C/C++中很常用的修饰符,它被用来控制变量的存储方式和可见性. 1.1static的引入 我们知道在函数内部定义的变量,当程序执行到它的定义处时,编译器为它 ...

  6. zTree学习实例

    今天做完一个zTree的实例,供有需要的学习! 效果图如下:

  7. java多态加深

    当超类对象引用变量引用子类对象时,被引用对象的类型而不是引用变量的类型决定了调用谁的成员方法,但是这个被调用的方法必须是在超类中定义过的,也就是说被子类覆盖的方法. public class Dtai ...

  8. 【tomcat8】consider increasing the maximum size of the cache

    [/WEB-INF/classes/hudson/model/Messages_zh_CN.properties] to the cache for web application [/jenkins ...

  9. 二.GC相关之Java内存模型

    根据上节描述的问题,我们知道其最终原因是GC导致的.本节我们就先详细探讨下与GC息息相关的Java内存模型. 名词解释:变量,理解为java的基本类型.对象,理解为java new出来的实例. Jav ...

  10. 【nodejs之我的开源module】 使用express搭建web服务器,代码即文档的实现。

    前言 都说nodejs适合制作restful_API,因为它有异步处理能力,能吞吐更多的请求,这一点是大家都认可的.前不久我使用nodejs+express+postgresql搭建了一个restfu ...