神代綺凜

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

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

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

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

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

搜图机器人

QQ:*

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

开源

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

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

用法

具体请见 GitHub README

主要功能

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

示例

普通搜图

利用 ascii2d 搜索局部图

搜番

搜本子

其他说明

为什么有时候搜不想要的出结果?

需要说明的是,搜图引擎发现新图片并收录也是需要时间的,因此画师刚上传的画作一般情况下是没办法搜到的

另外,搜图时发送的图片必须是刚好完整的图片,使用以下几种情况的图片会导致大概率搜不到结果:

  • 使用的是原图的局部图,即因剪裁而不完整,此时可以尝试使用 ascii2d 的特征搜索功能
  • 图片被 马赛克/图片马赛克等 遮挡的部分面积过大
  • 截图没截好,留有黑边,例如为了省事直接使用手机截屏或者电脑手动框选截图,这种情况请在搜图前自行编辑裁去与图片无关的部分
  • 清晰度过低的图片
搬瓦工VPS优惠套餐,建站稳如狗,支持支付宝,循环出账94折优惠码BWH3HYATVBJW
年付$47CN2线路,1核/1G内存/20G硬盘/1T@1Gbps【点击购买】($28套餐已经不再销售)
年付$47CN2 GIA线路,1核/512MB内存/10G硬盘/500G@1Gbps【点击购买】(可能已售罄)
Last modification:May 22nd, 2019 at 03:46 pm
If you think my article is useful to you, please feel free to appreciate

Leave a Comment

369 comments

  1. 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
  2. 赈早见  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
  3. 鹭泽  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)
              @鹭泽 如果其它功能也是正常的话,我也不清楚这种莫名其妙的原因,至少我这边还是正常的
  4. 兔耳丶萌小喵  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 他玩,可能会误伤
  5. 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 没有无意,只有有意
  6. 幻雨之秋  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终于正常运行不报错了
  7. 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浏览器谢谢
  8. 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
  9. 馒头  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 原生的
  10. Cofalt  Windows 7 x64 Edition(Windows 7 x64 Edition) / Google Chrome 53.0.2785.104(Google Chrome 53.0.2785.104)
    博主博主,最近机器人离线没法搜图是因为被爆了吗?想她了_(:з」∠)_
    1. 神代綺凜  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 78.0.3904.108(Google Chrome 78.0.3904.108)
      @Cofalt 差不多,可能还得清一次好友和群来减少使用人数
      所以还是不要抱有太大希望了,本体只会越来越私用化,真的想用的话最好还是和有能群友自行搭一个
      1. Cofalt  Windows 7 x64 Edition(Windows 7 x64 Edition) / Google Chrome 53.0.2785.104(Google Chrome 53.0.2785.104)
        @神代綺凜 明白了,感谢博主回复。
    2. Cofalt  Windows 7 x64 Edition(Windows 7 x64 Edition) / Google Chrome 53.0.2785.104(Google Chrome 53.0.2785.104)
      @Cofalt 另外机器人真的很好用,一年过去了尽不了什么力最后还是只能再次赞美博主|´・ω・)ノ
  11. 单纯  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 77.0.3865.90(Google Chrome 77.0.3865.90)
    机器人不能用了哎
  12. 兔耳丶萌小喵  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 78.0.3904.108(Google Chrome 78.0.3904.108)
    git clone https://github.com/Tsuk1ko/CQ-picfinder-robot.git
    Thrown:
    git clone https://github.com/Tsuk1ko/CQ-picfinder-robot.git
    ^^^^^

    SyntaxError: Unexpected identifier
    。。。第一次用这个软件就我一个人出现这个问题吗QwQ,另外说QQ在网站里有写。。我为什么没看到。。。我QQ是0x115274b7,拜托了!秋梨膏!我先买了酷Q 的pro然后发现部署不上呜呜呜呜

    1. 兔耳丶萌小喵  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 78.0.3904.108(Google Chrome 78.0.3904.108)
      @兔耳丶萌小喵 那几个^指的是clone,对了,我也是第一次用node.js
      1. 神代綺凜  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 78.0.3904.108(Google Chrome 78.0.3904.108)
        @兔耳丶萌小喵 麻烦先去下 git
        这些不是在 nodejs 中键入的命令
        1. 兔耳丶萌小喵  Windows 7 x64 Edition(Windows 7 x64 Edition) / Google Chrome 78.0.3904.70(Google Chrome 78.0.3904.70)
          @神代綺凜
          该评论仅登录用户及评论双方可见
          1. 兔耳丶萌小喵  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 78.0.3904.108(Google Chrome 78.0.3904.108)
            @兔耳丶萌小喵 大佬大佬在吗。。。QwQ每天来网站上看一看1/1
            1. 神代綺凜  Mac OS X 10.14.6(Mac OS X 10.14.6) / Google Chrome 79.0.3945.79(Google Chrome 79.0.3945.79)
              @兔耳丶萌小喵 建议寻求身边懂的好友的帮助
              1. 兔耳丶萌小喵  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 78.0.3904.108(Google Chrome 78.0.3904.108)
                @神代綺凜
                该评论仅登录用户及评论双方可见
              2. 兔耳丶萌小喵  Android 9.0(Android 9.0) / Google Chrome 56.0.2924.87(Google Chrome 56.0.2924.87)
                @神代綺凜
                该评论仅登录用户及评论双方可见
                1. 神代綺凜  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 79.0.3945.79(Google Chrome 79.0.3945.79)
                  @兔耳丶萌小喵
                  该评论仅登录用户及评论双方可见
            2. 兔耳丶萌小喵  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 78.0.3904.108(Google Chrome 78.0.3904.108)
              @兔耳丶萌小喵 QwQ我来探望大佬啦
  13. daytime  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 78.0.3904.108(Google Chrome 78.0.3904.108)
    该评论仅登录用户及评论双方可见
  14. Pony  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 70.0.3538.25(Google Chrome 70.0.3538.25)
    该评论仅登录用户及评论双方可见
    1. 神代綺凜  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 78.0.3904.108(Google Chrome 78.0.3904.108)
      @Pony
      该评论仅登录用户及评论双方可见
      1. Pony  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 70.0.3538.25(Google Chrome 70.0.3538.25)
        @神代綺凜
        该评论仅登录用户及评论双方可见
        1. 神代綺凜  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 78.0.3904.108(Google Chrome 78.0.3904.108)
          @Pony
          该评论仅登录用户及评论双方可见
          1. Pony  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 70.0.3538.25(Google Chrome 70.0.3538.25)
            @神代綺凜 麻烦你啦 再次感谢大佬开源
  15. Mikakei  Android 9(Android 9) / Google Chrome 74.0.3729.157(Google Chrome 74.0.3729.157)
    大佬啊,有时候机器人在群聊发指令没有回消息,到时候后台看已经推送消息了,私聊却一切正常,请问这是啥情况呢
    1. 神代綺凜  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 78.0.3904.97(Google Chrome 78.0.3904.97)
      @Mikakei 1、帐号不在常用地登录,会有隐藏的单位时间内群聊发言数限制,如果达到上限则无法再发出消息,等被登记为常用地后就会正常
      2、有些敏感内容在群聊会被 tx 屏蔽,比如 setu,但私聊不会屏蔽
      1. Mikakei  Android 9(Android 9) / Google Chrome 74.0.3729.157(Google Chrome 74.0.3729.157)
        @神代綺凜 明白了,感谢!
  16. 鹭泽  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 74.0.3729.169(Google Chrome 74.0.3729.169)
    node-pre-gyd install ——fallback-to-build
    这个怎么解决,依照github上的方法还是提示这个,尝试了几遍还是一样的结果
    1. 鹭泽  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 74.0.3729.169(Google Chrome 74.0.3729.169)
      @鹭泽 emmm 用yarn搞定了,迷幻
      1. 神代綺凜  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 78.0.3904.87(Google Chrome 78.0.3904.87)
        @鹭泽 嗯,yarn 比 npm 在处理依赖关系上要好些,所以我在 wiki 里提了下
    2. 神代綺凜  Mac OS X(Mac OS X) / Safari(Safari)
      @鹭泽 这个提示没有问题,让他编译就好了
  17.   Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 77.0.3865.90(Google Chrome 77.0.3865.90)
    该评论仅登录用户及评论双方可见
    1. 神代綺凜  Mac OS X 10.14.6(Mac OS X 10.14.6) / Google Chrome 78.0.3904.87(Google Chrome 78.0.3904.87)
      @枫 用 i.pixiv.cat
      pixiv.re 只提供与 pixiv.cat 相同的服务,不包含 i.pixiv.cat
      1.   Windows 7 x64 Edition(Windows 7 x64 Edition) / Google Chrome 49.0.2623.87(Google Chrome 49.0.2623.87)
        @神代綺凜 感谢大佬!
  18. Fubuki  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 77.0.3865.120(Google Chrome 77.0.3865.120)
    该评论仅登录用户及评论双方可见
    1. Fubuki  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 77.0.3865.120(Google Chrome 77.0.3865.120)
      @Fubuki 重新npm install后突然就好了,打扰
  19. Sagiri°  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 73.0.3683.86(Google Chrome 73.0.3683.86)
    大佬,可不可以把明日方舟查公招改成发完口令再发图呢
    没撸懂代码太难了 还有之前查公招的触发词是可以改的,更新了我突然发现我找不到了
    1. 神代綺凜  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 77.0.3865.120(Google Chrome 77.0.3865.120)
      @Sagiri° 那种需要记录之前的发言再判断,有点麻烦就懒得做了
      反正手机发图也是可以同时带文字的,或者你可以用我开发的网页版工具箱也支持图片识别

      想改触发词的话是这行,我后面改成统一解析 args 了,不过前提是必须得带--,如果不想带你可以把条件改成context.message.indexOf('触发词')>=0
      https://github.com/Tsuk1ko/CQ-picfinder-robot/blob/93a4368bcd7867a6211fad495bb874d0f442a3d8/main.js#L337

  20. kneesbuster  Windows 10 x64 Edition(Windows 10 x64 Edition) / Firefox 69.0(Firefox 69.0)
    npm install安装依赖的时候canvas包一直报错
    挂v和cnpm试过都不行
    1. kneesbuster  Windows 10 x64 Edition(Windows 10 x64 Edition) / Firefox 69.0(Firefox 69.0)
      @kneesbuster 换yarn好使了,打扰