神代綺凜

[开源] 二次元搜图QQ机器人
↑↑↑推销搜图机器人↑↑↑ 终于算是完成了第一件假期想做的事情
扫描右侧二维码阅读全文
13
2018/07

[开源] 二次元搜图QQ机器人

↑↑↑推销搜图机器人↑↑↑

终于算是完成了第一件假期想做的事情

Head Pic: 「第六駆逐隊」/「ふわり」のイラスト [pixiv]

搜图机器人

QQ:*

抱歉,因各种复杂的原因,本体已经转为私用,现已不再公开允许加好友或群,有兴趣可自行部署玩耍

开源

项目原来是使用酷Q的易语言 SDK 开发,目前使用 Nodejs 重写并开源

开源版本不含咬人功能,因为懒得移植了……

用法

具体请见 GitHub README 以及 wiki

主要功能

  • 搜图/本子
  • 复读
  • OCR
  • 明日方舟公招计算器 (new)

示例

普通搜图

利用 ascii2d 搜索局部图

搜番

搜本子

搬瓦工VPS优惠套餐,建站稳如狗,支持支付宝,循环出账94折优惠码BWH3HYATVBJW
年付$47CN2线路,1核/1G内存/20G硬盘/1T@1Gbps【点击购买】($28套餐已经不再销售)
年付$47CN2 GIA线路,1核/512MB内存/10G硬盘/500G@1Gbps【点击购买】(可能已售罄)
Last modification:May 4th, 2020 at 07:53 pm
If you think my article is useful to you, please feel free to appreciate

Leave a Comment

473 comments

  1. 萝卜  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 80.0.3987.132(Google Chrome 80.0.3987.132)
    博主你好,我是使用图灵版的酷Q搭建的,昨天前还使用的好好的, 但是昨天在另一台新的服务器上重新搭建了机器人,就开始出现私聊时可以正常发送图片,群聊只有极小的概率的可以成功发送图片,在酷Q的日志里却都显示图片已发送,反和谐已开启,我想问一下这是因为和谐力度加大了还是另有其它原因
    1. 神代綺凜  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 80.0.3987.132(Google Chrome 80.0.3987.132)
  2. 凛一  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 80.0.3987.122(Google Chrome 80.0.3987.122)
    大佬还有cdk版本的吗......小白给搞自闭了
    1. 神代綺凜  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 80.0.3987.122(Google Chrome 80.0.3987.122)
      @凛一 没有
  3. 古客  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 78.0.3904.108(Google Chrome 78.0.3904.108)
    太棒了!!!|´・ω・)ノ,感谢大佬
  4. 赈早见  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 80.0.3987.116(Google Chrome 80.0.3987.116)
    插件仍在绝赞更新中!最近多了教说话功能欢迎体验φ( ̄∇ ̄o) 地址 https://github.com/Ninzore/CQ-picfinder-robot-add-on
  5. 282318916  Windows 7 x64 Edition(Windows 7 x64 Edition) / Google Chrome 63.0.3239.132(Google Chrome 63.0.3239.132)
    该评论仅登录用户及评论双方可见
    1. 神代綺凜  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 80.0.3987.106(Google Chrome 80.0.3987.106)
      @282318916
      该评论仅登录用户及评论双方可见
      1. 282318916  Windows 7 x64 Edition(Windows 7 x64 Edition) / Google Chrome 63.0.3239.132(Google Chrome 63.0.3239.132)
        @神代綺凜
        该评论仅登录用户及评论双方可见
        1. 神代綺凜  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 80.0.3987.106(Google Chrome 80.0.3987.106)
          @282318916
          该评论仅登录用户及评论双方可见
          1. 282318916  Windows 7 x64 Edition(Windows 7 x64 Edition) / Google Chrome 63.0.3239.132(Google Chrome 63.0.3239.132)
            @神代綺凜
            该评论仅登录用户及评论双方可见
            1. 282318916  Windows 7 x64 Edition(Windows 7 x64 Edition) / Google Chrome 63.0.3239.132(Google Chrome 63.0.3239.132)
              @282318916
              该评论仅登录用户及评论双方可见
  6. KYPOKABA  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 70.0.3538.25(Google Chrome 70.0.3538.25)
    博主你好,我想请问你是怎么解决随机调用setu后,酷Q里生产的那个缓存,就是删除缓存的?简单的说就是我调用了随机图片的API,第一次调用会生成一个tmp缓存文件,不手动删除的话接下来都会只是用这一张图片,就不随机了
    1. 神代綺凜  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 80.0.3987.87(Google Chrome 80.0.3987.87)
      @KYPOKABA 我没有出现过每次都是同一张图的情况,也没有调用一次都去删一次这样

      可能是 cq-http 插件或者酷Q自己的问题

      1. KYPOKABA  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 70.0.3538.25(Google Chrome 70.0.3538.25)
        @神代綺凜 我是直接用CQcode调用api的地址,且我看监控里你的setu发送出去的缓存名字是一样的,实在没办法我就用最笨的方法吧,用插件每秒自动清理一次缓存目录。感谢作答
  7. Mogician  Windows 10 x64 Edition(Windows 10 x64 Edition) / Sogou Explorer(Sogou Explorer)
    博主,试了试setu功能,发现私聊有网址+图片,群里只有网址发的出来。后台显示图片应该有发了,但是并没有显示。反和谐功能也开启了,是和谐力度不够大吗
    1. 神代綺凜  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 80.0.3987.87(Google Chrome 80.0.3987.87)
      @Mogician 反和谐只是尝试性的功能,并不能保证一定不和谐哈
      1. Mogician  Windows 10 x64 Edition(Windows 10 x64 Edition) / Sogou Explorer(Sogou Explorer)
        @神代綺凜 开了个小号来回尝试,确定是和谐的问题了,谢谢博主
  8. simplesmall  Windows 10 x64 Edition(Windows 10 x64 Edition) / Microsoft Edge 18.18362(Microsoft Edge 18.18362)
    大佬能告知一下插件用的端口号是多少吗
    1. 神代綺凜  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 79.0.3945.130(Google Chrome 79.0.3945.130)
      @simplesmall 没有特定端口号,你只要保证该程序配置文件中的 port 和 cq-http 插件中的 ws_port 一致即可
      1. simplesmall  Windows 10 x64 Edition(Windows 10 x64 Edition) / Microsoft Edge 18.18362(Microsoft Edge 18.18362)
        @神代綺凜 我现在发送图片回复的全是网络爆炸电脑已经挂代理在墙外了 有人说是要开主动代理代理插件的端口
        1. 神代綺凜  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 79.0.3945.130(Google Chrome 79.0.3945.130)
          @simplesmall 系统代理是无法代理 node 进程的,配置文件提供了 proxy 项,你需要配置这个
          1. simplesmall  Windows 10 x64 Edition(Windows 10 x64 Edition) / Microsoft Edge 18.18362(Microsoft Edge 18.18362)
            @神代綺凜 还有就是我每次打开机器人为什么都要安装PM2还要运行
            1. 神代綺凜  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 79.0.3945.130(Google Chrome 79.0.3945.130)
              @simplesmall pm2 只用装一次
              1. simplesmall  Android 9(Android 9) / Google Chrome 79.0.3945.136(Google Chrome 79.0.3945.136)
                @神代綺凜 可是我要是每次不重新装给他发图片他甚至都不理我
                1. 神代綺凜  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 79.0.3945.130(Google Chrome 79.0.3945.130)
                  @simplesmall 装完一次 pm2 后,你想控制程序运行停止和重启只需要在程序目录下运行这些指令

                  # 运行
                  npm run pm2start
                  
                  # 停止
                  npm run pm2stop
                  
                  # 重启
                  npm run pm2restart
                  1. simplesmall  Android 9(Android 9) / Google Chrome 79.0.3945.136(Google Chrome 79.0.3945.136)
                    @神代綺凜 我是个直接运行程序但是会报错出现好几个warn
          2. simplesmall  Windows 10 x64 Edition(Windows 10 x64 Edition) / Microsoft Edge 18.18362(Microsoft Edge 18.18362)
            @神代綺凜 谢谢
  9. fsjgd  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 79.0.3945.130(Google Chrome 79.0.3945.130)
    dalao想问下,能不能配置成准确率低于50%的搜图结果不显示呢,搜不到的图片竹竹整天开车
    1. 神代綺凜  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 79.0.3945.130(Google Chrome 79.0.3945.130)
      @fsjgd 最新版本加了个设置,见更新日志
      1. fsjgd  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 79.0.3945.130(Google Chrome 79.0.3945.130)
        @神代綺凜 dalao我想确认下,更新是下载新版覆盖然后npm i就可以了是吗,我更新后saucenaoHideImgWhenLowAcc打开的时候准确率低的话会用ascii2d 色合検索和ascii2d 特徴検索,关掉则不会,无论开还是关SauceNAO的结果都还是有缩略图,是我没更新成功还是配置错了?还有顺便伸手,能不能改成低于多少准确率的百分比可以设置,并且完全不返回结果,返回可以设置的特定句子,比如“匹配率过低不返回结果”这样
        1. 神代綺凜  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 79.0.3945.130(Google Chrome 79.0.3945.130)
          @fsjgd 直接git pull更新然后npm i,修改配置文件之后重启程序

          saucenaoHideImgWhenLowAccuseAscii2dWhenLowAcc是两个不同的独立的设置,注意区分

          自定义低相似度百分比和用于代替图片的特定句子在 v2.11.5 支持设置

          至于完全不返回结果,我个人不赞成,隐藏结果图已经能起到一定的防开车效果,如果真的想一点车都不开,建议不要用本程序

          1. fsjgd  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 79.0.3945.130(Google Chrome 79.0.3945.130)
            @神代綺凜 可能是我改错了,谢谢dalao
  10. Matcha_sama  Android 9(Android 9) / Firefox 68.0(Firefox 68.0)
    dalao能不能把这个移植到Telegram上?(Telegram用的比QQ多
    1. 神代綺凜  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 79.0.3945.130(Google Chrome 79.0.3945.130)
      @Matcha_sama 懒得移植(qq用的比tg多

      如果会点 node 可以尝试自己整,因为逻辑都完整的,只是用的机器人框架不同,tg 用 telegraf.js

  11. 弱雪  Windows Server 2003(Windows Server 2003) / Google Chrome 57.0.2987.108(Google Chrome 57.0.2987.108)
    为什么最近把图片发给机器人都没有回复了呢
    1. 神代綺凜  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 79.0.3945.130(Google Chrome 79.0.3945.130)
      @弱雪 冻结太多次了,暂时不用那个号了
      1. 弱雪  Windows Server 2003(Windows Server 2003) / Google Chrome 57.0.2987.108(Google Chrome 57.0.2987.108)
        @神代綺凜 那会有别的机器人嘛
        1. 神代綺凜  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 79.0.3945.130(Google Chrome 79.0.3945.130)
          @弱雪 想用可以自己搭一个,这也是我开源的原因

          我自己的都是私人的,没有义务提供给他人使用

          1. 弱雪  Windows Server 2003(Windows Server 2003) / Google Chrome 57.0.2987.108(Google Chrome 57.0.2987.108)
            @神代綺凜 好的,非常感谢博主
  12. whitealco  Windows 7 x64 Edition(Windows 7 x64 Edition) / Google Chrome 63.0.3239.132(Google Chrome 63.0.3239.132)
    诶,我第一次运行pm2的时候它提示说error;在master的目录下找不到一个cqpf的文件(夹),然后我手动创建了一个。后来我再启动(用第一次启动的指令)的时候可以了,但是格子里的status一直显示stopped,弄了一晚上了,还是不行QAQ
  13. 赈早见  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 79.0.3945.88(Google Chrome 79.0.3945.88)
    给机器人添加了几个插件OωO,地址 https://github.com/Ninzore/CQ-picfinder-robot-add-on
    现在可以掷骰子,看微博和订阅微博,缓慢更新中...
    需要安装MongoDB
    1. 赈早见  Mac OS X(Mac OS X) / Safari(Safari)
      @赈早见 现在可以在群里玩简单直接宝可梦小游戏了
  14. 鹭泽  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 74.0.3729.169(Google Chrome 74.0.3729.169)
    请问应该如何才能使用签到功能呢,配置文件的那个看的不太明白
    1. 神代綺凜  Mac OS X 10.14.6(Mac OS X 10.14.6) / Google Chrome 79.0.3945.88(Google Chrome 79.0.3945.88)
      @鹭泽 在群里发符合配置中正则表达式的句子就行,例如默认是我(.*)签到,只要发送我签到或者我x签到即可,此处 x 可以是不限字数的任意字
      1. 鹭泽  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 74.0.3729.169(Google Chrome 74.0.3729.169)
        @神代綺凜 抱歉这么晚才回复,签到这里我用的就是默认的,但是“我签到”这一条我也尝试过了,日志还是HTTPAPI的CMD窗口都没有返回任何信息
        1. 神代綺凜  Mac OS X 10.14.6(Mac OS X 10.14.6) / Google Chrome 79.0.3945.88(Google Chrome 79.0.3945.88)
          @鹭泽 直接发送,不用@
          1. 鹭泽  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 74.0.3729.169(Google Chrome 74.0.3729.169)
            @神代綺凜 没@就是直接发送的,试了“我签到”“我今天签到”“签到”这些指令都没有反应
            1. 神代綺凜  Mac OS X 10.14.6(Mac OS X 10.14.6) / Google Chrome 79.0.3945.88(Google Chrome 79.0.3945.88)
              @鹭泽 如果其它功能也是正常的话,我也不清楚这种莫名其妙的原因,至少我这边还是正常的
  15. 兔耳丶萌小喵  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 78.0.3904.108(Google Chrome 78.0.3904.108)
    诶诶诶?报403错误是为神马啊。。。我明明可以直接访问的。。。软件却不行了
    1. 兔耳丶萌小喵  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 78.0.3904.108(Google Chrome 78.0.3904.108)
      @兔耳丶萌小喵 我指的是搜图那个网页。。
      1. 神代綺凜  Mac OS X(Mac OS X) / Safari(Safari)
        @兔耳丶萌小喵 saucenao 还是 ascii2d
        1. 兔耳丶萌小喵  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 78.0.3904.108(Google Chrome 78.0.3904.108)
          @神代綺凜 随机瑟图。。我做的那个软件,我记得我还传百度云来着。。。是不是你给删掉了那条评论。。
          1. 神代綺凜  Mac OS X 10.14.6(Mac OS X 10.14.6) / Google Chrome 79.0.3945.88(Google Chrome 79.0.3945.88)
            @兔耳丶萌小喵 我发现有个憨批在 CC 我 API,我闲着没事干就一直在 block 他玩,可能会误伤
  16. lkljty  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 79.0.3945.88(Google Chrome 79.0.3945.88)
    ∠( ᐛ 」∠)_问一下大佬因为无意中搜图api调用次数太多被服务器拒绝访问应该怎么办?
    返回的error code是1020
    我查了一下貌似是cloudflare拒绝访问的原因
    1. 神代綺凜  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 79.0.3945.88(Google Chrome 79.0.3945.88)
      @lkljty 没有无意,只有有意
  17. 幻雨之秋  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 75.0.3770.100(Google Chrome 75.0.3770.100)
    搭建的时候使用的插件都是最新的,全都运行正常了, status和watching也显示绿色,数值也出来了。但是聊天窗口却没反应。自己使用的node是v10.16.3-x86版本的,查了一下反馈,显示这个(说是找不到节点,不清楚是哪里出错了,求大佬看一下):
    0|CQPF | C:\Users\lenovo\Desktop\node_modules\sqlite3\lib\sqlite3.js:1
    0|CQPF | Error: Cannot find module 'C:\Users\lenovo\Desktop\node_modules\sqlite3\lib\binding\node-v64-win32-ia32\node_sqlite3.node'
    0|CQPF | at Object. (C:\Users\lenovo\Desktop\node_modules\sqlite3\lib\sqlite3.js:4:15)
    0|CQPF | at Generator.next ()
    0|CQPF | C:\Users\lenovo\Desktop\node_modules\sqlite3\lib\sqlite3.js:1
    0|CQPF | Error: Cannot find module 'C:\Users\lenovo\Desktop\node_modules\sqlite3\lib\binding\node-v64-win32-ia32\node_sqlite3.node'
    0|CQPF | at Object. (C:\Users\lenovo\Desktop\node_modules\sqlite3\lib\sqlite3.js:4:15)
    0|CQPF | at Generator.next ()
    0|CQPF | C:\Users\lenovo\Desktop\node_modules\sqlite3\lib\sqlite3.js:1
    0|CQPF | Error: Cannot find module 'C:\Users\lenovo\Desktop\node_modules\sqlite3\lib\binding\node-v64-win32-ia32\node_sqlite3.node'
    0|CQPF | at Object. (C:\Users\lenovo\Desktop\node_modules\sqlite3\lib\sqlite3.js:4:15)
    0|CQPF | at Generator.next ()
    0|CQPF | C:\Users\lenovo\Desktop\node_modules\sqlite3\lib\sqlite3.js:1
    0|CQPF | Error: Cannot find module 'C:\Users\lenovo\Desktop\node_modules\sqlite3\lib\binding\node-v64-win32-ia32\node_sqlite3.node'
    0|CQPF | at Object. (C:\Users\lenovo\Desktop\node_modules\sqlite3\lib\sqlite3.js:4:15)
    0|CQPF | at Generator.next ()
    0|CQPF | C:\Users\lenovo\Desktop\node_modules\sqlite3\lib\sqlite3.js:1
    0|CQPF | Error: Cannot find module 'C:\Users\lenovo\Desktop\node_modules\sqlite3\lib\binding\node-v64-win32-ia32\node_sqlite3.node'
    0|CQPF | at Object. (C:\Users\lenovo\Desktop\node_modules\sqlite3\lib\sqlite3.js:4:15)
    0|CQPF | at Generator.next ()
    1. 幻雨之秋  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 75.0.3770.100(Google Chrome 75.0.3770.100)
      @幻雨之秋 忘记看 提问的智慧了,管理员如果在的话,请删了我发的这些评论吧。。。没注意到场合,万分抱歉。。。。
      1. 神代綺凜  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 79.0.3945.88(Google Chrome 79.0.3945.88)
        @幻雨之秋 没事,你这个问题是 npm 没装上 sqlite 的依赖,wiki 里写了你可以尝试换用 yarn,一般能解决问题
        1. gumiku  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 79.0.3945.88(Google Chrome 79.0.3945.88)
          @神代綺凜 感谢,装了sqlite3终于正常运行不报错了
  18. Pony  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 70.0.3538.25(Google Chrome 70.0.3538.25)
    qq浏览器无法打开短链接,,,j.loli.best域名的
    1. 神代綺凜  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 79.0.3945.88(Google Chrome 79.0.3945.88)
      @Pony 你知道我为什么要弄这个跳转吗,就是为了防止红名链接被qq浏览器拦截,别用qq浏览器谢谢
  19. clivnala  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 79.0.3945.79(Google Chrome 79.0.3945.79)
    大佬,显示连接成功然后下面报错(node:7436) UnhandledPromiseRejectionWarning: Error: API socket has not been initialized.
    cqhttp显示成功向websocket推送事件,但是机器人没反应,日志里也回复
    1. clivnala  Android 10(Android 10) / Google Chrome 78.0.3904.108(Google Chrome 78.0.3904.108)
      @clivnala 解决了,酷Q设置了access_token
  20. 馒头  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 63.0.3239.26(Google Chrome 63.0.3239.26)
    重启后怎么开来着。。
    1. 神代綺凜  Mac OS X 10.14.6(Mac OS X 10.14.6) / Google Chrome 79.0.3945.88(Google Chrome 79.0.3945.88)
      @馒头 新版本已经不需要npm run pm2first,详情见 wiki
      1. 馒头  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 63.0.3239.26(Google Chrome 63.0.3239.26)
        @神代綺凜 已解决 话说你的评论模块是什么
        1. 神代綺凜  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 79.0.3945.88(Google Chrome 79.0.3945.88)
          @馒头 Typecho 原生的