主要受到 cq-picsearcher-bot 的启发。我只需要基础的搜图功能,于是忍不住自己也写了一个,用来搜图、搜番、搜本子。
目前支持的搜图服务:
Ascii2D | Baidu | E-Hentai | ExHentai | Google | Iqdb | SauceNAO | TraceMoe | Yandex
以下提到的方法 任选其一 即可
[推荐] 使用 nb-cli 安装
在 nonebot2 项目的根目录下打开命令行, 输入以下指令即可安装nb plugin install YetAnotherPicSearch
使用包管理器安装
在 nonebot2 项目的插件目录下, 打开命令行, 根据你使用的包管理器, 输入相应的安装命令pip
pip install YetAnotherPicSearch
pdm
pdm add YetAnotherPicSearch
poetry
poetry add YetAnotherPicSearch
conda
conda install YetAnotherPicSearch
打开 nonebot2 项目根目录下的 pyproject.toml
文件, 在 [tool.nonebot]
部分的 plugins
项里追加写入
[tool.nonebot]
plugins = [
# ...
"YetAnotherPicSearch"
]
配置项 | 必填 | 默认值 | 说明 |
---|---|---|---|
通用配置 | |||
PROXY |
否 | None |
大部分请求所使用的代理地址,如需要 socks 协议支持请额外执行 pip install YetAnotherPicSearch[socks] 安装 |
数据源配置 | |||
SAUCENAO_API_KEY |
无 | SauceNAO 的 API KEY,在 这里 注册后到 这里 获取 如果 SauceNAO 的 API 使用触发当日上限,请同时换新的 API Key 和代理节点,仅换其中一个没有意义。 |
|
ASCII2D_BASE_URL |
否 | https://ascii2d.net |
Ascii2D Base URL (#139) |
EXHENTAI_COOKIES |
否 | None |
ExHentai 的 Cookies,没有的情况下自动改用 E-Hentai 搜图,获取方式参考 请参考 PicImageSearch 文档 |
NHENTAI_USERAGENT |
否 | None |
用来绕过 NHentai Cloudflare 拦截的 User Agent,配置后在 E-Hentai 标题搜索无结果时会自动调用 NHentai 标题搜索 先用配置的 PROXY 做代理,使用浏览器访问 NHentai 通过 CloudFlare 检测后,获取 UA 和 Cookies 填到对应配置项 |
NHENTAI_COOKIES |
否 | None |
用来绕过 NHentai Cloudflare 拦截的 Cookies,同上 |
行为配置 | |||
SAUCENAO_LOW_ACC |
否 | 60 |
SauceNAO 相似度低于这个百分比将被认定为相似度过低 |
AUTO_USE_ASCII2D |
否 | True |
是否在 SauceNAO 或 IQDB 相似度过低时 / E-Hentai 无结果时 自动使用 Ascii2D 搜索 |
交互配置 | |||
SEARCH_KEYWORD |
否 | 搜图 |
触发插件功能的指令名,使用时记得带上你配置的指令头 |
SEARCH_KEYWORD_ONLY |
否 | False |
是否只响应指令消息(优先级高于 SEARCH_IN_GROUP_ONLY_KEYWORD 与 SEARCH_IMMEDIATELY ) |
SEARCH_IN_GROUP_ONLY_KEYWORD |
否 | True |
是否在群聊中只响应指令消息,否则可以通过 @Bot 触发搜图模式 |
SEARCH_IMMEDIATELY |
否 | True |
私聊发送图片是否直接触发搜图,否则需要使用命令 |
WAIT_FOR_IMAGE_TIMEOUT |
否 | 180 |
当用户未提供图片时,提示用户提供图片的等待时间(秒) |
消息配置 | |||
HIDE_IMG |
否 | False |
隐藏所有搜索结果的缩略图 |
HIDE_IMG_WHEN_LOW_ACC |
否 | True |
SauceNAO / IQDB 得到低相似度结果时隐藏结果缩略图 |
HIDE_IMG_WHEN_WHATANIME_R18 |
否 | True |
WhatAnime 得到 R18 结果时隐藏结果缩略图 |
SAUCENAO_NSFW_HIDE_LEVEL |
否 | 2 |
对 SauceNAO 的搜索结果进行 NSFW 判断的严格程度(依次递增),启用后自动隐藏相应的 NSFW 结果的缩略图0 :不判断, 1 :只判断明确的, 2 :包括可疑的, 3 :非明确为 SFW 的 |
FORWARD_SEARCH_RESULT |
否 | True |
若结果消息有多条,是否采用合并转发方式发送搜图结果(平台不支持会自动回退) |
TO_CONFUSE_URLS |
否 | ... | 要破坏处理的网址列表,减少风控概率(发出来的消息包含这些网址会在网址的 :// 与 . 后加上空格) |
杂项配置 | |||
CACHE_EXPIRE |
否 | 3 |
消息缓存过期时间 (天) |
使用你配置的指令(默认为 搜图
)即可开始使用,附带或回复图片可直接触发搜图,可以一次性带多张图
更详细的使用方法请参考 这里
QQ:3076823485
Telegram:@lgc2333
吹水群:1105946125
邮箱:lgc2333@126.com
感谢大家的赞助!你们的赞助将是我继续创作的动力!
- 兼容 HTTPX 0.28
- 移除重复搜索结果并添加数量提示
- 添加配置项用于自定义 Ascii2D 的 Base URL
- 修复 #137
- 修复文本重复的问题
- 修复 ExHentai 始终显示无法使用的问题
- 修复缓存消息显示问题
- 添加缺失依赖
项目重构:
- 使用 alconna 支持多平台,重构消息缓存
- 将之前的
搜图关键词
改为指令;同时由于不方便判断是否回复的是 Bot 自身消息,所以阉掉了这个 - 其他细节更改
- 配置变动:
- 新增
SEARCH_IN_GROUP_ONLY_KEYWORD
- 新增
WAIT_FOR_IMAGE_TIMEOUT
- 新增
以前的更新日志请在 Releases 中查看