{"id":13756674,"url":"https://github.com/floatinghotpot/qqbot","last_synced_at":"2025-05-10T04:30:52.688Z","repository":{"id":57364047,"uuid":"45128639","full_name":"floatinghotpot/qqbot","owner":"floatinghotpot","description":":fire: SmartQQ Robot and API Server, powered by node.js","archived":false,"fork":true,"pushed_at":"2017-03-03T13:31:14.000Z","size":344,"stargazers_count":384,"open_issues_count":0,"forks_count":81,"subscribers_count":35,"default_branch":"master","last_synced_at":"2025-04-18T11:44:20.488Z","etag":null,"topics":["bot","qq","robot"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"xhan/qqbot","license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/floatinghotpot.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-10-28T17:07:16.000Z","updated_at":"2025-04-17T00:58:27.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/floatinghotpot/qqbot","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/floatinghotpot%2Fqqbot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/floatinghotpot%2Fqqbot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/floatinghotpot%2Fqqbot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/floatinghotpot%2Fqqbot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/floatinghotpot","download_url":"https://codeload.github.com/floatinghotpot/qqbot/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253365163,"owners_count":21897180,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bot","qq","robot"],"created_at":"2024-08-03T11:00:50.957Z","updated_at":"2025-05-10T04:30:52.377Z","avatar_url":"https://github.com/floatinghotpot.png","language":"JavaScript","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"readme":"SmartQQ-Bot\n------\nSmartQQ-Bot powered by node.js\n\nFYI: QQ is a instant messaging service widely used in china provided by Tencent. SmartQQ is the web implmentation.\n\n基于 [WebQQ](http://w.qq.com/) 的机器人。原项目是 Xu Han 用 CoffeeScript 开发，这是一个很棒的项目。Raymond Xie 主要增加了对 二维码扫描认证登陆的支持。这个版本全部代码转换为 javascript，并且发布为 npm 包，无需配置，安装即可使用，更加方便。\n\n![SmartQQ-Bot](qqbot.png)\n\nFeatures\n-----\n* 手机QQ二维码扫描登录，貌似这是目前 WebQQ 唯一允许的登录方式\n* 支持好友，群，讨论组的接入\n* 插件化，目前支持消息的派发\n* 提供HTTP API支持（比如群通知什么的都能做哦）\n* 除了 qqbot，还附带了一个命令行的 qq 来连接 qqbot，可以用来显示好友、群组列表，发送消息等操作\n* 通过对 poll 信息的分析，自动重新登录，提高了稳定性\n* 移除了扫描二维码之后的键盘输入，改为自动轮询二维码扫描结果\n* nohup qqbot \u0026, 使 qqbot 在后台运行，stdout 结果重定向到 nohup.out\n\n你可以用TA来  \n\n经典案例：\n* 持续集成自动通知 (这是软件项目开发必备的，也是我使用并改进 qqbot 最初的原因 --- Raymond)\n* 用来集成团队协作系统的消息推送（有QQ消息推送的看板系统，是真的即时沟通 --- Raymond）\n\n其它可能的用途：\n* 监控报警机器人（监控报警啊什么的，对于天天做电脑前，报警还得通过邮件短信提醒多不直接呢）\n* 辅助管理群成员，比如自动清理刷屏用户啊（请自己实现）\n* 聊天机器人（请自己实现AI）\n* 部署机器人（请了解hubot的概念）\n\nInstallation\n-----\n```bash\n$ [sudo] npm install -g smartqq-bot\n```\n\nUsage as Standalone Robot\n-----\n```bash\n$ qqbot\n```\n\n* 执行 `qqbot` 启动 SmartQQ-Bot，会从QQ服务器请求二维码图片。\n  ** 如果是 Mac 系统，会打开图片文件，进行扫描。\n  ** 如果是其他系统的话，则会启动一个 http服务器，请用浏览器访问 http://本机IP:3100/ 显示二维码，进行扫描。\n* 用手机QQ扫描二维码，并选择允许 smartQQ 登录\n* qqbot 自动检测二维码扫描结果，进入运行状态\n* 接下来，可以用其他的程序访问 qqbot 的 apiserver，调用 SmartQQ-Bot 的功能，协议为：\n`http://localhost:3200/send?type=[group|buddy|discuss]\u0026to=[qqnumber/nick/gname]\u0026msg=[msg]`\n\n* 或者，用附带的命令行的 qq，访问启动后 qqbot，可以用来显示好友、群组列表，发送消息等操作\n\n```bash\n$ qq list buddy\n$ qq list group\n$ qq send buddy {qq_number/nick} {msg}\n$ qq send group {group_number/gname} {msg}\n$ qq quit\n```\n\nqq 命令行也可以向在其他主机上启动的 qqbot 发请求，只需指定 ip 及可选端口 -h host -p port, host 默认是 localhost, port 默认是 3200.\n\nqqbot 也可以在后台运行，启动命令为:\n```bash\nnohup qqbot \u0026\n```\n此时 stdout 的输出重定向到文件 nohup.out，不在屏幕显示。\n\n参考资料\n----\n* [CHANGELOG.md](CHANGELOG.md)\n* [WebQQ协议](protocol.md)\n* 访问 http://w.qq.com/ ，事实上，了解 WebQQ 协议更直接的方式，是通过 Chrome 打开“审查元素”模式，观察和服务器之间的网络交互\n\nTODO\n---\n* 用户信息,qq号等\n* 机器人响应前缀\n* 图片发送支持\n\nCredits\n----\n* QQBot 主要由 [xhan](https://github.com/xhan) 从 2013年12月开始，陆陆续续实现绝大部分功能。\n* [Raymond Xie](https://github.com/floatinghotpot) 于 2015年10月 增加了 手机QQ二维码扫描认证登陆。\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffloatinghotpot%2Fqqbot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffloatinghotpot%2Fqqbot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffloatinghotpot%2Fqqbot/lists"}