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

觉得好点个赞哦

转载于:https://www.cnblogs.com/fengqingyangNo1/p/7423560.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
注意:此框架现已基本稳定,文档会尽快完善。 该分支使用二维码登陆的协议参考了原名:SmartQQ-for-Raspberry-Pi(PiWebQQV2)这一项目,自行整合开发了基于SmartQQ的自动机器人框架。 登陆时采用QQ安全中心的二维码做为登陆条件, 不需要在程序里输入QQ号码及QQ密码。 旧版机器人仍有保留在old_QQBot.py中。 基本功能 群聊功能: 注:以下命令皆是在qq中发送,群聊命令发送到所在群中 群聊吐槽功能(tucao),类似于小黄鸡,在群中通过发送!learn {ha}{哈哈}语句,则机器人检测到发言中包含“ha”时将自动回复“哈哈”。!delete {ha}{哈哈}可以删除该内容。吐槽内容本地保存在data/tucao_save/中。 群聊复读功能(repeat),检测到群聊中连续两个回复内容相同,将自动复读该内容1次。 群聊关注功能(follow),使用命令!follow qq号可以使机器人复读此人所有发言(除命令外)使用命令!unfollow qq号解除关注。qq号处可使用"me"来快速关注与解除关注自己,例:!follow me 群聊唤出功能(callout),群聊中检测关键词智障机器人,若发言中包含该词,将自动回复干嘛(‘·д·),此功能一般用于检测机器人状态与调戏 群聊命令功能(command_0arg/command_1arg):使用![命令名]格式或![命令名] {参数1}执行命令,命令“吐槽列表”,使用命令!吐槽列表在群聊中激活,列出当前群的吐槽列表。 !删除关键字 {blablabla}:删除关键字“blablabla”下的所有吐槽内容 !吐槽列表:列出当前群的吐槽列表 现有无参数命令: 现有单参数命令: 私聊功能: 私聊唤出功能(callout),私聊中检测关键词智障机器人,若发言中包含该词,将自动回复干嘛(‘·д·),此功能一般用于检测机器人状态与调戏 私聊复读功能(repeat),检测到私聊中连续两个回复内容相同,将自动复读该内容1次。 临时对话功能: 唤出功能(callout),具体同私聊与群聊。   标签:smartqq  smartqqbot

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值