采用SmartQQ 协议可制作聊天机器人

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

SmartQQ可以:

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

SmartQQ不可以:

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

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

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

特色功能:

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

采用SmartQQ 协议可制作聊天机器人

调用代码

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

觉得好点个赞哦

上一篇:题解报告:hdu 2844 & poj 1742 Coins(多重部分和问题)


下一篇:线程安全及Python中的GIL