Skip to main content

Yet Another Picture Search Nonebot Plugin

Project description

NoneBotPluginLogo

NoneBotPluginText

YetAnotherPicSearch

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

python uv
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)
HIDE_ASCII2D_BASE_URL True 当自定义 Ascii2D Base URL 后,是否将自定义的 URL 替换回官方 URL
EXHENTAI_COOKIES None ExHentai 的 Cookies,没有的情况下自动改用 E-Hentai 搜图,获取方式参考 请参考 PicImageSearch 文档
NHENTAI_BASE_URL https://ascii2d.net NHentai Base URL (#139)
HIDE_NHENTAI_BASE_URL True 当自定义 NHentai Base URL 后,是否将自定义的 URL 替换回官方 URL
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 消息缓存过期时间 (天)

🎉 使用

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

效果图

📞 联系

LgCookie

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

💡 鸣谢

💰 赞助

赞助我

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

⭐ Star History

Star History

📝 更新日志

2.0.9 ~ 2.0.10

  • 修复无法从用户消息中获取图片的问题

2.0.8

  • 兼容 alconna 0.59

2.0.7

  • 修复 SauceNAO 搜索时出现的一个 Bug

2.0.6

  • 添加配置 NHENTAI_BASE_URLHIDE_NHENTAI_BASE_URL

2.0.5

  • feat: 添加隐藏 ascii2d 网页反向代理地址的配置及功能 by @iona-s in #186

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 中查看

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

yetanotherpicsearch-2.0.10.tar.gz (1.6 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

yetanotherpicsearch-2.0.10-py3-none-any.whl (490.0 kB view details)

Uploaded Python 3

File details

Details for the file yetanotherpicsearch-2.0.10.tar.gz.

File metadata

File hashes

Hashes for yetanotherpicsearch-2.0.10.tar.gz
Algorithm Hash digest
SHA256 1d2f8ae540ec687c3a86cd17ce5ea36ab474a0ec0e7fde2ca10979b1f306ef31
MD5 08e1dc26e6172bf75b860dba1072f9e1
BLAKE2b-256 387593ede79139783c8f95d3ec832b56fca0e2dd3c44ab6aafb5291fc74df646

See more details on using hashes here.

File details

Details for the file yetanotherpicsearch-2.0.10-py3-none-any.whl.

File metadata

File hashes

Hashes for yetanotherpicsearch-2.0.10-py3-none-any.whl
Algorithm Hash digest
SHA256 ee7ad7ea7636097217262c1cc08c7d5e2fdf0fdaa0feda7dc9206a4448696e5a
MD5 e031ba3028be81c21676f56dad1bbd37
BLAKE2b-256 47732a11a3d33590e5bbb17f9795ef2f17c2919aeea7dcadac9e9a1c24ed613a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page