Skip to content

lgc-NB2Dev/YetAnotherPicSearch

Repository files navigation

NoneBotPluginLogo

NoneBotPluginText

YetAnotherPicSearch

✨ 基于 NoneBot2PicImageSearch 的另一个 NoneBot 搜图插件 ✨

python pdm-managed
Pydantic Version 1 Or 2 license pypi pypi download
NoneBot Registry Supported Adapters

📖 介绍

主要受到 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 $${\textsf{\color{red}是}}$$ 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_KEYWORDSEARCH_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 消息缓存过期时间 (天)

🎉 使用

使用你配置的指令(默认为 搜图)即可开始使用,附带或回复图片可直接触发搜图,可以一次性带多张图
更详细的使用方法请参考 这里

效果图

📞 联系

student_2333

QQ:3076823485
Telegram:@lgc2333
吹水群:1105946125
邮箱:lgc2333@126.com

💡 鸣谢

💰 赞助

赞助我

感谢大家的赞助!你们的赞助将是我继续创作的动力!

⭐ Star History

Star History

📝 更新日志

2.0.4

  • 兼容 HTTPX 0.28

2.0.3

  • 移除重复搜索结果并添加数量提示

2.0.2

  • 添加配置项用于自定义 Ascii2D 的 Base URL

2.0.1

  • 修复 #137
    • 修复文本重复的问题
    • 修复 ExHentai 始终显示无法使用的问题
  • 修复缓存消息显示问题
  • 添加缺失依赖

2.0.0

项目重构:

  • 使用 alconna 支持多平台,重构消息缓存
  • 将之前的 搜图关键词 改为指令;同时由于不方便判断是否回复的是 Bot 自身消息,所以阉掉了这个
  • 其他细节更改
  • 配置变动:
    • 新增 SEARCH_IN_GROUP_ONLY_KEYWORD
    • 新增 WAIT_FOR_IMAGE_TIMEOUT

以前的更新日志请在 Releases 中查看