神代綺凜

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

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

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

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

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

搜图机器人

QQ:*

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

开源

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

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

用法

具体请见 GitHub README

主要功能

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

示例

普通搜图

利用 ascii2d 搜索局部图

搜番

搜本子

其他说明

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

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

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

  • 使用的是原图的局部图,即因剪裁而不完整,此时可以尝试使用 ascii2d 的特征搜索功能
  • 图片被 马赛克/图片马赛克等 遮挡的部分面积过大
  • 截图没截好,留有黑边,例如为了省事直接使用手机截屏或者电脑手动框选截图,这种情况请在搜图前自行编辑裁去与图片无关的部分
  • 清晰度过低的图片
搬瓦工VPS优惠套餐,建站稳如狗,支持支付宝,循环出账94折优惠码BWH26FXH3HIQ
年付$28CN2线路,1核/512M内存/10G硬盘/[email protected]点击购买】(经常售罄,请抓紧机会)
年付$47CN2线路,1核/1G内存/20G硬盘/[email protected]点击购买
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

311 comments

  1. 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后突然就好了,打扰
  2. 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

  3. 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好使了,打扰
  4. 三三白白  Mac OS X 10.12.5(Mac OS X 10.12.5) / Safari 10.1.1(Safari 10.1.1)
    这难道就是那个桃子越大越像天子的机器人吗
    1. 神代綺凜  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 77.0.3865.90(Google Chrome 77.0.3865.90)
  5. 三千院暗  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 77.0.3865.90(Google Chrome 77.0.3865.90)
    大佬考不考虑给setu功能加个关键词功能,以便满足特殊癖好。。。。
    1. 神代綺凜  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 77.0.3865.120(Google Chrome 77.0.3865.120)
      @三千院暗 这个功能实装了
      不过由于我个人图库图数量有限,tag 涵盖面并不是很广
    2. 神代綺凜  Mac OS X 10.14.6(Mac OS X 10.14.6) / Google Chrome 77.0.3865.90(Google Chrome 77.0.3865.90)
      @三千院暗 在计划中的,可惜一直犯拖延症
      1. 三千院暗  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 77.0.3865.90(Google Chrome 77.0.3865.90)
          @三千院暗 目前在进行中的是给图库加入好看的 r18 图并加以区分,默认还是非 r18 的,之后会加到机器人指令or设置中
          https://api.lolicon.app/setu/?r18=0 非r18
          https://api.lolicon.app/setu/?r18=1 r18
          https://api.lolicon.app/setu/?r18=2 混合
          1. 赈早见  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 77.0.3865.90(Google Chrome 77.0.3865.90)
            @神代綺凜 我已经实现了而且用了很久了 ...用pxer扒了20个tag,然而我用的是mongodb ...可以发给你做到之后的版本中吗?
            1. 神代綺凜  Mac OS X 10.14.6(Mac OS X 10.14.6) / Google Chrome 77.0.3865.120(Google Chrome 77.0.3865.120)
              @赈早见 我都是手动加的,不会去爬,那样不能保证质量
              1. 赈早见  Mac OS X(Mac OS X) / Safari(Safari)
                @神代綺凜 扒的基本都是收藏过了一定数量的,也手工删过质量不好的,平时用起来感觉不错OωO。我还写了好几个插件,希望可以看一下 https://github.com/Ninzore/CQ-picfinder-robot-add-on
                1. 神代綺凜  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 77.0.3865.90(Google Chrome 77.0.3865.90)
                  @赈早见 挺好
                  我现在有想法想把这个项目做成可扩展的,到时候如果要自己加插件就不再需要改原来的文件了,现在太大杂烩了不够模块化
  6. 瓦龙233  Android 8.0.0(Android 8.0.0) / QQbrowser(QQbrowser)
    大大佬,怎么设置WhatAnime为第一搜索番剧链接|´・ω・)ノ
    1. 神代綺凜  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 77.0.3865.90(Google Chrome 77.0.3865.90)
      @瓦龙233 如果你指的是直接发送图片不加参数的情况下默认用 WhatAnime 搜索的话,配置 config 中的 saucenaoDefaultDB 为 anime
      1. 瓦龙233  Android 8.0.0(Android 8.0.0) / QQbrowser(QQbrowser)
        @神代綺凜 多谢指教(๑•̀ㅁ•́ฅ)
  7. gumiku  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 76.0.3809.100(Google Chrome 76.0.3809.100)
    酷q只能在Windows上运行吗,Linux类os的vps能运行吗
    1. 神代綺凜  Mac OS X 10.14.6(Mac OS X 10.14.6) / Google Chrome 76.0.3809.100(Google Chrome 76.0.3809.100)
      @gumiku 可以,有 docker 版,实质上是 wine 模拟 win,你去库Q官网就能看到
  8. eyu  Windows Vista(Windows Vista) / Opera 12.14(Opera 12.14)
    QQ上提示:搜索失败惹 QAQ
    有可能是服务器网络爆炸,请重试一次
    1. eyu  Windows Vista(Windows Vista) / Opera 12.14(Opera 12.14)
      @eyu 我把SSR关闭后可以使用了,不知道是什么问题
      1. 神代綺凜  Mac OS X 10.14.6(Mac OS X 10.14.6) / Google Chrome 76.0.3809.100(Google Chrome 76.0.3809.100)
        @eyu ssr 是不会影响到 node 的请求的,除非你设置了 config 里的 proxy 项
  9. eyu  Windows Vista(Windows Vista) / Opera 12.14(Opera 12.14)
    我下载了node了 然后部署这一步要咋么操作啊QAQ,,

    git clone https://github.com/Tsuk1ko/CQ-picfinder-robot.git
    cd CQ-picfinder-robot
    cp config.default.json config.json
    npm i
  10. 狮子堂戌子  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 74.0.3729.169(Google Chrome 74.0.3729.169)
    机器人反馈的这个https://j.loli.best/#aHR0cHM6Ly9kYW5ib29ydS5kb25tYWkudXMvcG9zdC9zaG93LzI2ODE5MzA=开头的链接打不开。
    提示找不到 is.gdahr0chm6ly9kyw5ib29yds5kb25tywkudxmvcg9zdc9zag93lzi2ode5mza%3D 的服务器 IP 地址。
    所有https://j.loli.best的链接都是这样的情况
    1. 神代綺凜  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 76.0.3809.100(Google Chrome 76.0.3809.100)
      @狮子堂戌子 请更新到最新版本
  11. Dandelion  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 76.0.3809.100(Google Chrome 76.0.3809.100)
    大佬,那个setu怎么配置代理啊,我弄了一个代理,可是发送指令**发setu还是推送的 https://pixiv.net/i/123151561 这种,我用的是免费的酷Q
    1. 神代綺凜  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 76.0.3809.100(Google Chrome 76.0.3809.100)
      @Dandelion 免费的酷Q不能发图
      1. Dandelion  Android 8.1.0(Android 8.1.0) / Google Chrome 76.0.3809.111(Google Chrome 76.0.3809.111)
        @神代綺凜 就是说升级成pro后,会发送图片,这个时候才需要设置代理。没升级就发送链接,不需要设置代理。是这样吗?
        1. 神代綺凜  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 76.0.3809.100(Google Chrome 76.0.3809.100)
          @Dandelion

          这个 pximg 代理并不是硬性的,因为程序本身可以直连下载,只是如果国内网速很慢的话才考虑用别人的代理服务

          1. Dandelion  Android 8.1.0(Android 8.1.0) / Google Chrome 76.0.3809.111(Google Chrome 76.0.3809.111)
            @神代綺凜 懂了,谢谢大佬耐心回复▄█▀█●给跪了
  12. 狮子堂戌子  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 74.0.3729.169(Google Chrome 74.0.3729.169)
    用了1个月,不用自己拖到网页上很方便。不过如果能加个指令google搜图的话就更好了,有时候机器人都搜不到的 反倒是google能找到。例如表漫和别人发来发去的不完整截图
  13. Elis  Windows 10 x64 Edition(Windows 10 x64 Edition) / Firefox 68.0(Firefox 68.0)
    萌新表示该怎么使用呀....没有编程基础(ó﹏ò。)
  14. wangtao  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 73.0.3683.86(Google Chrome 73.0.3683.86)
    折腾了一下午,终于搞还了,大佬,这个明日方舟的功能怎么用了,试了一下不太会用
    1. 神代綺凜  Mac OS X 10.14.5(Mac OS X 10.14.5) / Google Chrome 75.0.3770.142(Google Chrome 75.0.3770.142)
      @wangtao 私聊直接发,群里要@

      内容是公开招募截图加上--akhr

      1. wangtao  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 73.0.3683.86(Google Chrome 73.0.3683.86)
        @神代綺凜 对了,这个不可以搜p站id吗?
        1. 神代綺凜  Mac OS X 10.14.5(Mac OS X 10.14.5) / Google Chrome 75.0.3770.142(Google Chrome 75.0.3770.142)
          @wangtao 结果是看 saucenao 的,结果是 p 站那就是,不是的话可以加--pixiv参数强制指定搜索范围,搜不到你要的结果就是这图没在 p 站里或者 saucenao 还没收录
  15. wangtao  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 73.0.3683.86(Google Chrome 73.0.3683.86)
    node-pre-gyp WARN Using request for node-pre-gyp https download
    [canvas] Success: "C:\Users\wangtao\CQ-picfinder-robot\node_modules\canvas\build\Release\canvas.node" is installed via remote
    npm notice created a lockfile as package-lock.json. You should commit this file.
    npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules\fsevents):
    npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})

    这是 npm i时候遇到的问题

  16. Radioactive  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 75.0.3770.142(Google Chrome 75.0.3770.142)
    问一下大大,我遇到一个很奇怪的问题,机器人正常运行一段时间后,突然不回复ascii2d搜索。什么都没有改动过, 回复了“相似度过低... 自动使用ascii2d进行搜索”之后就没了,而且加 “--a2d” 搜图也不会有回复。
    1. 神代綺凜  Mac OS X 10.14.5(Mac OS X 10.14.5) / Google Chrome 75.0.3770.142(Google Chrome 75.0.3770.142)
      @Radioactive 这个问题已知,但是不清楚原因

      经过一段时间之后就会恢复

      1. Radioactive  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 75.0.3770.142(Google Chrome 75.0.3770.142)
        @神代綺凜 对的,其他功能都很正常,ascii2d突然不能用,过一段时间自己又好了,很奇怪...
  17. wangtao  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 73.0.3683.86(Google Chrome 73.0.3683.86)
    Error: Cannot find module 'canvas'
        at Object.Module._extensions..js (internal/modules/cjs/loader.js:787:10)
    npm ERR! code ELIFECYCLE
    npm ERR! errno 1
    npm ERR! [email protected] start: `node index.js`
    npm ERR! Exit status 1
    npm ERR!
    npm ERR! Failed at the [email protected] start script.
    npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
    
    npm ERR! A complete log of this run can be found in:
    npm ERR!     C:\Users\Administrator\AppData\Roaming\npm-cache\_logs\2019-07-28T09_07_23_417Z-debug.log

    555, 这是哪里的问题啊,大佬我第一次上手,只有点python跟linux基础

    1. wangtao  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 73.0.3683.86(Google Chrome 73.0.3683.86)
      @wangtao 好像是缺canvas这个东西,但是npm i 的时候好像报了不少错误,这些软件的配置有什么要求吗,比如32位还是64位之类的
  18. jkmiku  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 75.0.3770.142(Google Chrome 75.0.3770.142)
    大佬救命啊,nodejs用的是LTS版本依旧不行

    $ npm i
    
    > [email protected] install E:\CQP\CQ-picfinder-robot\node_modules\canvas
    > node-pre-gyp install --fallback-to-build
    
    node-pre-gyp WARN Using request for node-pre-gyp https download
    1. 神代綺凜  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 75.0.3770.142(Google Chrome 75.0.3770.142)
      @jkmiku 如果你曾经装过 Latest 版本并且在那时候npm i过,你可以尝试重新 clone 一份项目再npm i
      1. jkmiku  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 75.0.3770.142(Google Chrome 75.0.3770.142)
        @神代綺凜 已经解决了!谢谢,是安装canvas的时候网络问题,换了cnpm就正常了╮(╯▽╰)╭
  19. daytime  Windows 10 x64 Edition(Windows 10 x64 Edition) / Firefox 68.0(Firefox 68.0)
    该评论仅登录用户及评论双方可见
    1. 神代綺凜  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 75.0.3770.100(Google Chrome 75.0.3770.100)
      @daytime
      该评论仅登录用户及评论双方可见
      1. daytime  Windows 10 x64 Edition(Windows 10 x64 Edition) / Firefox 68.0(Firefox 68.0)
        @神代綺凜 嗯明白惹
  20. 星の梦  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 75.0.3770.100(Google Chrome 75.0.3770.100)
    感谢大佬的机器人,挺实用的
    不过我这里有个问题,就是运行时间长了,发图片就没反应了,酷QHTTP-API插件日志显示已成功向0/0 Websocket客户端推送事件,我一般是重启node插件就正常了,不过长时间这样也不是办法,请问如何避免这个问题发生?
    1. 神代綺凜  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 75.0.3770.100(Google Chrome 75.0.3770.100)
      @星の梦 你是否有用 pm2 守护运行,如果守护了即使程序出错结束也会自动重启

      我目前没有出现你这种情况,可以稳定运行几个月并且也没有程序意外结束的情况,除非你设置了 mysql 并且连接出现问题

      1. 星の梦  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 75.0.3770.100(Google Chrome 75.0.3770.100)
        @神代綺凜 是用pm2运行的,我看了貌似没--watch参数,还特意加上了--watch参数,不过也没用(没用的话是不是应该去掉啊)进程貌似没有意外结束,只是酷Q处理消息有时候就0/0了,无法发送到node插件,只有重启node插件重新连接下酷Q才行。
        也可能因为我linux vps运行node插件,windows运行酷Q,分别运行的原因(主要是我docker搞不来。。。)
        那么问题来了,求推荐稳定运行的环境~是不是linux环境下node+docker版酷Q好点?
        1. 神代綺凜  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 75.0.3770.100(Google Chrome 75.0.3770.100)
          @星の梦 最好是 Windows 下 node + 酷Q
          1. 星の梦  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 75.0.3770.100(Google Chrome 75.0.3770.100)
            @神代綺凜 OK ,有时间重新布置下