<p align="center">
<a href="https://v2.nonebot.dev/store">
<img src="https://user-images.githubusercontent.com/44545625/209862575-acdc9feb-3c76-471d-ad89-cc78927e5875.png" width="180" height="180" alt="NoneBotPluginLogo"></a>
</p>
<div align="center">
# nonebot_plugin_setu_customization
_✨ Nonebot2 可动态管理API并带网页浏览的setu插件 ✨_
</div>
<p align="center">
<a href="https://opensource.org/licenses/MIT">
<img src="https://img.shields.io/badge/License-MIT-yellow.svg" alt="license">
</a>
<a href="https://v2.nonebot.dev/">
<img src="https://img.shields.io/static/v1?label=nonebot&message=v2rc1%2B&color=green" alt="nonebot2">
</a>
<img src="https://img.shields.io/static/v1?label=python+&message=3.8%2B&color=blue" alt="python">
</p>
## 开发者信息
- nikiss,个人QQ 1299577815,插件反馈QQ群 226462236,插件有问题到群里反馈响应更快哦
- <img width="100" src="https://avatars.githubusercontent.com/u/31379266"/>
## 简介
可以动态增删网络上的图片API接口,也可以载入本地图库链接对外提供图片API接口,支持接口分类管理,不再受限于单个API出图,如果服务器有公网IP还可以在网页浏览图片。
<img width="300" src="https://raw.githubusercontent.com/nikissXI/nonebot_plugins/main/nonebot_plugin_setu_customization/readme_img/soutu.jpg"/><img width="300" src="https://raw.githubusercontent.com/nikissXI/nonebot_plugins/main/nonebot_plugin_setu_customization/readme_img/tutu_web.jpg"/> <img width="300" src="https://raw.githubusercontent.com/nikissXI/nonebot_plugins/main/nonebot_plugin_setu_customization/readme_img/tutu_test.jpg"/>
### 搜图功能移除,商店有同类插件
## 安装
使用nb-cli安装
```bash
# 如果没找到这个插件,使用nb plugin list 刷新缓存
nb plugin install nonebot_plugin_setu_customization
```
或者
直接把插件clone下来,把nonebot_plugin_setu_customization文件夹放进去plugins目录
## 配置
在bot对应的.env文件修改
```bash
# 必填项
# api超时,这个时间建议设置一分钟以上,否则发图多的时候容易超时报错
api_timeout = 60
# 管理员的QQ号(别问我为什么要另外写)
tutu_admin_qqnum = 114514
# 以下选填项,自己按需求填,不需要的就不要写进配置!
# 以下选填项,自己按需求填,不需要的就不要写进配置!
# 以下选填项,自己按需求填,不需要的就不要写进配置!
# 机器人的QQ号列表,如果有多个bot连接,会按照填写的list,左边的机器人QQ优先级最高 1234 > 5678 > 6666,会自动切换
# 如果不填该配置则由第一个连上的bot响应
tutu_bot_qqnum_list = [1234, 5678, 6666]
# 图片下载模式,真则nonebot下载,假则协议端下载,让协议端下载响应更快
tutu_img_nonebot_download = false
# 图图命令CD时间(秒)
tutu_cooldown = 3
# 一次最多发多少张图
once_send = 5
# 如果要使用网页访问才配置
# 监听地址和端口号是对应nonebot的,如 http://hahaha.com:80
# 由于涉及到图片跨域的问题,如果出问题不会搞就别折腾了
tutu_site_url = http://127.0.0.1:8080
# R18类别的名称
tutu_r18_name = R18
# 本地图片库的路径
tutu_local_api_path = data/tutu_local_img_lib/
# 本地库二次元文件名称
tutu_self_anime_lib = self_anime
# 本地库三次元文件名称
tutu_self_cosplay_lib = self_cosplay
# 插件数据文件名
tutu_data_filename = tutu_data.json
# 自定义字体文件路径(要填真实路径,这里只是举个例子)
tutu_font_path = __file__/font/HYWenHei-85W.ttf
# 字体大小
tutu_font_size = 18
# pixiv图片反代地址,自己可以看看哪个快用哪个 https://i.pixiv.re/ 、 https://i.pixiv.cat/ 、 https://i.loli.best/
tutu_pixiv_proxy = https://i.pixiv.re/
# http代理地址,如 http://127.0.0.1:1234
tutu_http_proxy = http://127.0.0.1:1234
# socks5代理地址,如 socks5://127.0.0.1:1234
tutu_socks5_proxy = socks5://127.0.0.1:1234
# 使用网页访问时,新浪图片反代地址,不用网页浏览可不填,如 http://img.example.top:514
tutu_sina_img_proxy = https://i0.wp.com/tvax1.sinaimg.cn/
# 使用网页访问时,微信图片反代地址,不用网页浏览可不填,如 http://img.example.top:114
tutu_wx_img_proxy = http://img.example.top:114
# 使用网页访问时,B站图片反代地址,不用网页浏览可不填,如 http://img.example.top:514
tutu_bili_img_proxy = http://img.example.top:514
# 爬取文章图片时,图片的宽或高小于多少忽略爬取
tutu_crawler_min_width = 500
tutu_crawler_min_height = 500
# 自动爬取功能,文章url文件放置路径
tutu_crawler_file_path = tutu_crawler/
# 自动爬取功能,检测文章标题,含有其中关键字则忽略爬取
tutu_crawler_keyword = ["删", "薪", "敏感", "暂停", "停更", "图包"]
```
## 目录
data/tutu_data.json 存储群白名单信息,api接口信息,合并发送开关
data/tutu_local_img_lib/ 存储用户自己上传的图片url文件,如下图
<img width="600" src="https://raw.githubusercontent.com/nikissXI/nonebot_plugins/main/nonebot_plugin_setu_customization/readme_img/local_img_lib.jpg"/>
如果要自己爬图入库的看readme的《文章图片爬取》
tutu_crawler/ 自动爬取文章图片用的,里面放待爬取的文章url文件,还是看readme的《文章图片爬取》
## 命令
| 指令 | 说明 |
|:-----:|:----:|
| 图图 | 机器人出图(好友私聊,群聊要添加白名单) |
| 图图帮助 | 查看图图命令的更多使用姿势 |
| (下面都是管理员命令) | (发送命令有使用格式) |
| 图图群管理 | 增删群白名单 |
| 图图接口管理 | 增删API接口 |
| 图图接口测试 | 测试接口连接情况和返回的数据 |
| 图片测试 | 测试某张图能否正常发出来 |
| 文章爬取 | 爬取微信文章或B站专栏的图片 |
| 爬取合并 | 是否将爬取结果合并发送,默认合并 |
| 图片序号 | 每张发出来的图片都有一个序号,可查看之前发送的图片url |
| 图片删除 | 删除本地库的某张图片 |
| 开爬 | 上传指定格式的文件让nb爬,详情看readme的《文章图片爬取》 |
## 网页搜图(需要公网)
http://127.0.0.1:8080/tutu (具体域名和端口看你nb绑定的地址)
由于涉及到图片跨域的问题,如果出问题不会搞就别折腾了
## 自定义图片url关键字替换
在data_handle.py文件里面的 url_diy_replace 函数,如果有其他更好的反代地址或其他需求可以自行调整,主要是解决跨域问题,不懂可以不折腾
<img width="600" src="https://raw.githubusercontent.com/nikissXI/nonebot_plugins/main/nonebot_plugin_setu_customization/readme_img/url_diy_replace.jpg"/>
## 使用示例、导入api和图片库
接口不一定能用或稳定使用,这些只是以前找的接口
**二次元图片api**
http://api.tangdouz.com/sjdmbz.php
https://api.dujin.org/pic/yuanshen/
https://www.dmoe.cc/random.php
https://setu.yuban10703.xyz/setu
https://tuapi.eees.cc/api.php?category=dongman&type=302
https://api.yimian.xyz/img/
https://image.anosu.top/pixiv/direct
https://api.lolicon.app/setu/v2
https://moe.anosu.top/img/?sort=pixiv
https://moe.anosu.top/img/?sort=setu
**R18图片api**
https://setu.yuban10703.xyz/setu?r18=1
https://image.anosu.top/pixiv/direct?r18=1
https://api.lolicon.app/setu/v2?r18=1
https://moe.anosu.top/img/?sort=r18
**三次元图片api**
没收集到好的,但是我爬了很多,在仓库的tutu_local_img_lib文件夹,下载放进去data/tutu_local_img_lib/里面,没事来看看有没有更新,里面也有二次元的
**本地图片库**
即data/tutu_local_img_lib/中的图片,放入图片url文件后,使用命令“图图接口管理 刷新本地”进行导入
访问接口url如果没有在.env配置tutu_site_url,就是nonebot的地址和端口号,如绑定的host=127.0.0.1,port=8080,就是http://127.0.0.1:8080/img_api?fw=1&fn=<filename\>
| 参数 | 说明 |
|:-----:|:----:|
| fw | 是否重定向,0返回网页,1重定向到图片url |
| fn | 本地图片库文件名 |
| mode | 图片类型,没有fn参数时有效 |
| c | 返回的图片数量,没有fw参数时有效 |
```bash
# 添加一个接口到二次元类型接口
图图接口管理 二次元 + https://api.lolicon.app/setu/v2
# 支持批量添加接口
图图接口管理 二次元 +
https://api.lolicon.app/setu/v2
http://api.tangdouz.com/sjdmbz.php
https://api.dujin.org/pic/yuanshen/
# 添加一个本地图片库接口到三次元类型接口
图图接口管理 三次元 + 本地图库self_cosplay
# 爬取一篇微信文章的图片到本地图片库self_anime
https://mp.weixin.qq.com/s/IHeYqZTu8xYLv7nDkRwxUQ self_anime
# 该命令等效于上面的命令 默认2指self_anime,3指self_cosplay
https://mp.weixin.qq.com/s/IHeYqZTu8xYLv7nDkRwxUQ 2
```
## 文章图片爬取(不想折腾就忽略)
下载mitmproxy_script文件夹中的两个脚本
```bash
# 安装mitmproxy
pip install mitmproxy
# 运行papa.py,8080的监听端口,可以自己改
python papa.py -p 8080
# 手机或电脑设置好代理后,用浏览器访问以下网站,如果看到证书选择那就是代理对了,然后看说明安装证书
mitm.it
# 然后根据下面的方法爬取,结果输出在result文件夹中
```
**爬取微信公众号文章url 方法一**
PS:建议iOS微信爬取,装证书简单
微信连上代理后,大部分微信公众号的对话框有个查看历史文章(有的没有),点进去后浏览,一直往下刷到底就行,如果没有历史文章接口看方法二
<img width="600" src="https://raw.githubusercontent.com/nikissXI/nonebot_plugins/main/nonebot_plugin_setu_customization/readme_img/weixin1.jpg"/>
**爬取微信公众号文章url 方法二**
PS:容易被限制,如果翻页不回显数据就是被限制了,被限制就等几个小时再来(具体时间自己摸索),否则限制时间会大幅度延长
注册一个微信公众平台账号
https://mp.weixin.qq.com/
依次点草稿箱、新的创作、写新图文,会有个新页面,在最上面有个超链接,点选择公众号,搜索公众号,然后选择就可以看到历史文章了,一页页往下翻,一次翻二三十页就好,不然容易被限制
<img width="600" src="https://raw.githubusercontent.com/nikissXI/nonebot_plugins/main/nonebot_plugin_setu_customization/readme_img/weixin2.jpg"/>
**爬取B站专栏图片**
用网页打开某个UP的账号空间,点TA的专栏,就会打开 https://space.bilibili.com/XXXXXXX/article
<img width="600" src="https://raw.githubusercontent.com/nikissXI/nonebot_plugins/main/nonebot_plugin_setu_customization/readme_img/bili.jpg"/>
然后就会自动翻页爬取所有文章url了,可以在结果文件夹里看到进度,爬取完会有个DONE文件
**提取文章url**
爬取到新数据会生成“new_data_XXX”文件在结果文件夹中,里面的格式是“标题 *** 文章url”,可以通过标题进行筛选,不要的文章整行剪切丢到“history_data_XXX”
“history_data_XXX”是历史数据,每次运行爬取脚本会读取历史数据,爬过的就不会再爬
最后就是筛选好的“new_data_XXX”文件
```bash
# 运行split_url.py
python 运行split_url.py
```
split_url.py会遍历result里面的文件,把里面命名含有“new_data_”的文件里的url提取出来输出到“wait_for_upload”文件夹
在nonebot根目录的“tutu_crawler”里新建一个文件夹,文件夹名字是爬取的图片加入的本地图片库,如“self_anime”,也可以直接新建一个名字“2”的文件夹,默认2指self_anime,3指self_cosplay
把wait_for_upload里面的文件根据类型上传到 tutu_crawler/<本地图片库>/里面
然后给机器人私聊发送“开爬”就会自动爬取
## 更新日志
### 2024/6/25 \[v1.8.0]
* 优化readme
* 修改插件元数据
### 2023/3/31 \[v1.7.0]
* 优化readme
* 有个bug忘记修了
* 图片下载超时时间从30秒改为10秒
* 修复了一个导致图片发送慢的究极傻逼逻辑,
### 2023/3/21 \[v1.6.2]
* 修复readme里的错误
* 更换默认pixiv反代,之前的挂了(咋没人告诉我
### 2023/1/24 \[v1.6.0]
* 修复多bot处理bug
* 移除搜图功能
### 2023/1/23 \[v1.5.1]
* 恢复搜图功能,使用pixivpy调用P站的接口完成搜图功能 https://github.com/upbit/pixivpy
* 优化搜图前端界面
### 2023/1/16 \[v1.4.9]
* 最低python版本兼容至3.8
* 默认字体大小从16改到18
### 2023/1/16 \[v1.4.8]
* 换个好看的字体
### 2023/1/15 \[v1.4.7]
* 依赖错误修复
* 增加单次图片发送数量设置
* 优化多bot逻辑,机器人qq号配置改为可选
### 2023/1/14 \[v1.4.5]
* 依赖错误修复,优化逻辑
### 2023/1/9 \[v1.4.3]
* 页面细节优化
### 2023/1/8 \[v1.4.2]
* 增加P站搜图功能(需要公网服务器网页访问结果),优化图片下载状态判断
* P站搜图功能基础上增加网页预览 http://127.0.0.1:8080/soutu (具体域名和端口看你nb绑定的地址)
### 2023/1/4 \[v1.3.1]
* 增加本地下图和远端下图配置,优化api请求逻辑
### 2023/1/4 \[v1.2.2]
* 出图改为nb下载好再发送,优化大量细节,修bug
### 2023/1/3 \[v1.1.1]
* 优化接口管理功能
### 2023/1/3 \[v1.1.0]
* 增加批量导入api
### 2023/1/3 \[v1.0.0]
* 发布插件
Raw data
{
"_id": null,
"home_page": "https://github.com/nikissXI/nonebot_plugins/tree/main/nonebot_plugin_setu_customization",
"name": "nonebot_plugin_setu_customization",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": null,
"author": "nikissXI",
"author_email": "1299577815@qq.com",
"download_url": "https://files.pythonhosted.org/packages/bc/fc/9574527655a886acb6e2103273f171c79d87a58136557f5ecf68f156ad34/nonebot_plugin_setu_customization-1.8.1.tar.gz",
"platform": null,
"description": "<p align=\"center\">\n <a href=\"https://v2.nonebot.dev/store\">\n <img src=\"https://user-images.githubusercontent.com/44545625/209862575-acdc9feb-3c76-471d-ad89-cc78927e5875.png\" width=\"180\" height=\"180\" alt=\"NoneBotPluginLogo\"></a>\n</p>\n\n<div align=\"center\">\n\n# nonebot_plugin_setu_customization\n\n_\u2728 Nonebot2 \u53ef\u52a8\u6001\u7ba1\u7406API\u5e76\u5e26\u7f51\u9875\u6d4f\u89c8\u7684setu\u63d2\u4ef6 \u2728_\n\n</div>\n\n<p align=\"center\">\n <a href=\"https://opensource.org/licenses/MIT\">\n <img src=\"https://img.shields.io/badge/License-MIT-yellow.svg\" alt=\"license\">\n </a>\n <a href=\"https://v2.nonebot.dev/\">\n <img src=\"https://img.shields.io/static/v1?label=nonebot&message=v2rc1%2B&color=green\" alt=\"nonebot2\">\n </a>\n <img src=\"https://img.shields.io/static/v1?label=python+&message=3.8%2B&color=blue\" alt=\"python\">\n</p>\n\n## \u5f00\u53d1\u8005\u4fe1\u606f\n- nikiss\uff0c\u4e2a\u4ebaQQ 1299577815\uff0c\u63d2\u4ef6\u53cd\u9988QQ\u7fa4 226462236\uff0c\u63d2\u4ef6\u6709\u95ee\u9898\u5230\u7fa4\u91cc\u53cd\u9988\u54cd\u5e94\u66f4\u5feb\u54e6\n- <img width=\"100\" src=\"https://avatars.githubusercontent.com/u/31379266\"/> \n\n## \u7b80\u4ecb\n\u53ef\u4ee5\u52a8\u6001\u589e\u5220\u7f51\u7edc\u4e0a\u7684\u56fe\u7247API\u63a5\u53e3\uff0c\u4e5f\u53ef\u4ee5\u8f7d\u5165\u672c\u5730\u56fe\u5e93\u94fe\u63a5\u5bf9\u5916\u63d0\u4f9b\u56fe\u7247API\u63a5\u53e3\uff0c\u652f\u6301\u63a5\u53e3\u5206\u7c7b\u7ba1\u7406\uff0c\u4e0d\u518d\u53d7\u9650\u4e8e\u5355\u4e2aAPI\u51fa\u56fe\uff0c\u5982\u679c\u670d\u52a1\u5668\u6709\u516c\u7f51IP\u8fd8\u53ef\u4ee5\u5728\u7f51\u9875\u6d4f\u89c8\u56fe\u7247\u3002 \n\n<img width=\"300\" src=\"https://raw.githubusercontent.com/nikissXI/nonebot_plugins/main/nonebot_plugin_setu_customization/readme_img/soutu.jpg\"/><img width=\"300\" src=\"https://raw.githubusercontent.com/nikissXI/nonebot_plugins/main/nonebot_plugin_setu_customization/readme_img/tutu_web.jpg\"/> <img width=\"300\" src=\"https://raw.githubusercontent.com/nikissXI/nonebot_plugins/main/nonebot_plugin_setu_customization/readme_img/tutu_test.jpg\"/>\n\n### \u641c\u56fe\u529f\u80fd\u79fb\u9664\uff0c\u5546\u5e97\u6709\u540c\u7c7b\u63d2\u4ef6\n\n## \u5b89\u88c5\n\n\u4f7f\u7528nb-cli\u5b89\u88c5\n```bash\n# \u5982\u679c\u6ca1\u627e\u5230\u8fd9\u4e2a\u63d2\u4ef6\uff0c\u4f7f\u7528nb plugin list \u5237\u65b0\u7f13\u5b58\nnb plugin install nonebot_plugin_setu_customization\n```\n\n\u6216\u8005 \n\u76f4\u63a5\u628a\u63d2\u4ef6clone\u4e0b\u6765\uff0c\u628anonebot_plugin_setu_customization\u6587\u4ef6\u5939\u653e\u8fdb\u53bbplugins\u76ee\u5f55\n\n## \u914d\u7f6e\n\u5728bot\u5bf9\u5e94\u7684.env\u6587\u4ef6\u4fee\u6539\n\n```bash\n# \u5fc5\u586b\u9879\n# api\u8d85\u65f6\uff0c\u8fd9\u4e2a\u65f6\u95f4\u5efa\u8bae\u8bbe\u7f6e\u4e00\u5206\u949f\u4ee5\u4e0a\uff0c\u5426\u5219\u53d1\u56fe\u591a\u7684\u65f6\u5019\u5bb9\u6613\u8d85\u65f6\u62a5\u9519\napi_timeout = 60\n# \u7ba1\u7406\u5458\u7684QQ\u53f7\uff08\u522b\u95ee\u6211\u4e3a\u4ec0\u4e48\u8981\u53e6\u5916\u5199\uff09\ntutu_admin_qqnum = 114514 \n\n\n# \u4ee5\u4e0b\u9009\u586b\u9879\uff0c\u81ea\u5df1\u6309\u9700\u6c42\u586b\uff0c\u4e0d\u9700\u8981\u7684\u5c31\u4e0d\u8981\u5199\u8fdb\u914d\u7f6e\uff01\n# \u4ee5\u4e0b\u9009\u586b\u9879\uff0c\u81ea\u5df1\u6309\u9700\u6c42\u586b\uff0c\u4e0d\u9700\u8981\u7684\u5c31\u4e0d\u8981\u5199\u8fdb\u914d\u7f6e\uff01\n# \u4ee5\u4e0b\u9009\u586b\u9879\uff0c\u81ea\u5df1\u6309\u9700\u6c42\u586b\uff0c\u4e0d\u9700\u8981\u7684\u5c31\u4e0d\u8981\u5199\u8fdb\u914d\u7f6e\uff01\n\n# \u673a\u5668\u4eba\u7684QQ\u53f7\u5217\u8868\uff0c\u5982\u679c\u6709\u591a\u4e2abot\u8fde\u63a5\uff0c\u4f1a\u6309\u7167\u586b\u5199\u7684list\uff0c\u5de6\u8fb9\u7684\u673a\u5668\u4ebaQQ\u4f18\u5148\u7ea7\u6700\u9ad8 1234 > 5678 > 6666\uff0c\u4f1a\u81ea\u52a8\u5207\u6362\n# \u5982\u679c\u4e0d\u586b\u8be5\u914d\u7f6e\u5219\u7531\u7b2c\u4e00\u4e2a\u8fde\u4e0a\u7684bot\u54cd\u5e94\ntutu_bot_qqnum_list = [1234, 5678, 6666]\n# \u56fe\u7247\u4e0b\u8f7d\u6a21\u5f0f\uff0c\u771f\u5219nonebot\u4e0b\u8f7d\uff0c\u5047\u5219\u534f\u8bae\u7aef\u4e0b\u8f7d\uff0c\u8ba9\u534f\u8bae\u7aef\u4e0b\u8f7d\u54cd\u5e94\u66f4\u5feb\ntutu_img_nonebot_download = false\n# \u56fe\u56fe\u547d\u4ee4CD\u65f6\u95f4\uff08\u79d2\uff09\ntutu_cooldown = 3\n# \u4e00\u6b21\u6700\u591a\u53d1\u591a\u5c11\u5f20\u56fe\nonce_send = 5\n\n# \u5982\u679c\u8981\u4f7f\u7528\u7f51\u9875\u8bbf\u95ee\u624d\u914d\u7f6e\n# \u76d1\u542c\u5730\u5740\u548c\u7aef\u53e3\u53f7\u662f\u5bf9\u5e94nonebot\u7684\uff0c\u5982 http://hahaha.com:80\n# \u7531\u4e8e\u6d89\u53ca\u5230\u56fe\u7247\u8de8\u57df\u7684\u95ee\u9898\uff0c\u5982\u679c\u51fa\u95ee\u9898\u4e0d\u4f1a\u641e\u5c31\u522b\u6298\u817e\u4e86\ntutu_site_url = http://127.0.0.1:8080\n\n# R18\u7c7b\u522b\u7684\u540d\u79f0\ntutu_r18_name = R18\n# \u672c\u5730\u56fe\u7247\u5e93\u7684\u8def\u5f84\ntutu_local_api_path = data/tutu_local_img_lib/\n# \u672c\u5730\u5e93\u4e8c\u6b21\u5143\u6587\u4ef6\u540d\u79f0\ntutu_self_anime_lib = self_anime\n# \u672c\u5730\u5e93\u4e09\u6b21\u5143\u6587\u4ef6\u540d\u79f0\ntutu_self_cosplay_lib = self_cosplay\n# \u63d2\u4ef6\u6570\u636e\u6587\u4ef6\u540d\ntutu_data_filename = tutu_data.json\n# \u81ea\u5b9a\u4e49\u5b57\u4f53\u6587\u4ef6\u8def\u5f84\uff08\u8981\u586b\u771f\u5b9e\u8def\u5f84\uff0c\u8fd9\u91cc\u53ea\u662f\u4e3e\u4e2a\u4f8b\u5b50\uff09\ntutu_font_path = __file__/font/HYWenHei-85W.ttf\n# \u5b57\u4f53\u5927\u5c0f\ntutu_font_size = 18\n# pixiv\u56fe\u7247\u53cd\u4ee3\u5730\u5740\uff0c\u81ea\u5df1\u53ef\u4ee5\u770b\u770b\u54ea\u4e2a\u5feb\u7528\u54ea\u4e2a https://i.pixiv.re/ \u3001 https://i.pixiv.cat/ \u3001 https://i.loli.best/\ntutu_pixiv_proxy = https://i.pixiv.re/\n# http\u4ee3\u7406\u5730\u5740\uff0c\u5982 http://127.0.0.1:1234\ntutu_http_proxy = http://127.0.0.1:1234\n# socks5\u4ee3\u7406\u5730\u5740\uff0c\u5982 socks5://127.0.0.1:1234\ntutu_socks5_proxy = socks5://127.0.0.1:1234\n# \u4f7f\u7528\u7f51\u9875\u8bbf\u95ee\u65f6\uff0c\u65b0\u6d6a\u56fe\u7247\u53cd\u4ee3\u5730\u5740\uff0c\u4e0d\u7528\u7f51\u9875\u6d4f\u89c8\u53ef\u4e0d\u586b\uff0c\u5982 http://img.example.top:514\ntutu_sina_img_proxy = https://i0.wp.com/tvax1.sinaimg.cn/\n# \u4f7f\u7528\u7f51\u9875\u8bbf\u95ee\u65f6\uff0c\u5fae\u4fe1\u56fe\u7247\u53cd\u4ee3\u5730\u5740\uff0c\u4e0d\u7528\u7f51\u9875\u6d4f\u89c8\u53ef\u4e0d\u586b\uff0c\u5982 http://img.example.top:114\ntutu_wx_img_proxy = http://img.example.top:114\n# \u4f7f\u7528\u7f51\u9875\u8bbf\u95ee\u65f6\uff0cB\u7ad9\u56fe\u7247\u53cd\u4ee3\u5730\u5740\uff0c\u4e0d\u7528\u7f51\u9875\u6d4f\u89c8\u53ef\u4e0d\u586b\uff0c\u5982 http://img.example.top:514\ntutu_bili_img_proxy = http://img.example.top:514\n# \u722c\u53d6\u6587\u7ae0\u56fe\u7247\u65f6\uff0c\u56fe\u7247\u7684\u5bbd\u6216\u9ad8\u5c0f\u4e8e\u591a\u5c11\u5ffd\u7565\u722c\u53d6\ntutu_crawler_min_width = 500\ntutu_crawler_min_height = 500\n# \u81ea\u52a8\u722c\u53d6\u529f\u80fd\uff0c\u6587\u7ae0url\u6587\u4ef6\u653e\u7f6e\u8def\u5f84\ntutu_crawler_file_path = tutu_crawler/\n# \u81ea\u52a8\u722c\u53d6\u529f\u80fd\uff0c\u68c0\u6d4b\u6587\u7ae0\u6807\u9898\uff0c\u542b\u6709\u5176\u4e2d\u5173\u952e\u5b57\u5219\u5ffd\u7565\u722c\u53d6\ntutu_crawler_keyword = [\"\u5220\", \"\u85aa\", \"\u654f\u611f\", \"\u6682\u505c\", \"\u505c\u66f4\", \"\u56fe\u5305\"]\n```\n\n## \u76ee\u5f55\ndata/tutu_data.json \u5b58\u50a8\u7fa4\u767d\u540d\u5355\u4fe1\u606f\uff0capi\u63a5\u53e3\u4fe1\u606f\uff0c\u5408\u5e76\u53d1\u9001\u5f00\u5173 \ndata/tutu_local_img_lib/ \u5b58\u50a8\u7528\u6237\u81ea\u5df1\u4e0a\u4f20\u7684\u56fe\u7247url\u6587\u4ef6\uff0c\u5982\u4e0b\u56fe \n<img width=\"600\" src=\"https://raw.githubusercontent.com/nikissXI/nonebot_plugins/main/nonebot_plugin_setu_customization/readme_img/local_img_lib.jpg\"/>\n\n\u5982\u679c\u8981\u81ea\u5df1\u722c\u56fe\u5165\u5e93\u7684\u770breadme\u7684\u300a\u6587\u7ae0\u56fe\u7247\u722c\u53d6\u300b \ntutu_crawler/ \u81ea\u52a8\u722c\u53d6\u6587\u7ae0\u56fe\u7247\u7528\u7684\uff0c\u91cc\u9762\u653e\u5f85\u722c\u53d6\u7684\u6587\u7ae0url\u6587\u4ef6\uff0c\u8fd8\u662f\u770breadme\u7684\u300a\u6587\u7ae0\u56fe\u7247\u722c\u53d6\u300b \n\n## \u547d\u4ee4 \n| \u6307\u4ee4 | \u8bf4\u660e |\n|:-----:|:----:|\n| \u56fe\u56fe | \u673a\u5668\u4eba\u51fa\u56fe\uff08\u597d\u53cb\u79c1\u804a\uff0c\u7fa4\u804a\u8981\u6dfb\u52a0\u767d\u540d\u5355\uff09 |\n| \u56fe\u56fe\u5e2e\u52a9 | \u67e5\u770b\u56fe\u56fe\u547d\u4ee4\u7684\u66f4\u591a\u4f7f\u7528\u59ff\u52bf |\n| \uff08\u4e0b\u9762\u90fd\u662f\u7ba1\u7406\u5458\u547d\u4ee4\uff09 | \uff08\u53d1\u9001\u547d\u4ee4\u6709\u4f7f\u7528\u683c\u5f0f\uff09 |\n| \u56fe\u56fe\u7fa4\u7ba1\u7406 | \u589e\u5220\u7fa4\u767d\u540d\u5355 |\n| \u56fe\u56fe\u63a5\u53e3\u7ba1\u7406 | \u589e\u5220API\u63a5\u53e3 |\n| \u56fe\u56fe\u63a5\u53e3\u6d4b\u8bd5 | \u6d4b\u8bd5\u63a5\u53e3\u8fde\u63a5\u60c5\u51b5\u548c\u8fd4\u56de\u7684\u6570\u636e |\n| \u56fe\u7247\u6d4b\u8bd5 | \u6d4b\u8bd5\u67d0\u5f20\u56fe\u80fd\u5426\u6b63\u5e38\u53d1\u51fa\u6765 |\n| \u6587\u7ae0\u722c\u53d6 | \u722c\u53d6\u5fae\u4fe1\u6587\u7ae0\u6216B\u7ad9\u4e13\u680f\u7684\u56fe\u7247 |\n| \u722c\u53d6\u5408\u5e76 | \u662f\u5426\u5c06\u722c\u53d6\u7ed3\u679c\u5408\u5e76\u53d1\u9001\uff0c\u9ed8\u8ba4\u5408\u5e76 |\n| \u56fe\u7247\u5e8f\u53f7 | \u6bcf\u5f20\u53d1\u51fa\u6765\u7684\u56fe\u7247\u90fd\u6709\u4e00\u4e2a\u5e8f\u53f7\uff0c\u53ef\u67e5\u770b\u4e4b\u524d\u53d1\u9001\u7684\u56fe\u7247url |\n| \u56fe\u7247\u5220\u9664 | \u5220\u9664\u672c\u5730\u5e93\u7684\u67d0\u5f20\u56fe\u7247 |\n| \u5f00\u722c | \u4e0a\u4f20\u6307\u5b9a\u683c\u5f0f\u7684\u6587\u4ef6\u8ba9nb\u722c\uff0c\u8be6\u60c5\u770breadme\u7684\u300a\u6587\u7ae0\u56fe\u7247\u722c\u53d6\u300b |\n\n## \u7f51\u9875\u641c\u56fe\uff08\u9700\u8981\u516c\u7f51\uff09\nhttp://127.0.0.1:8080/tutu \uff08\u5177\u4f53\u57df\u540d\u548c\u7aef\u53e3\u770b\u4f60nb\u7ed1\u5b9a\u7684\u5730\u5740\uff09 \n\u7531\u4e8e\u6d89\u53ca\u5230\u56fe\u7247\u8de8\u57df\u7684\u95ee\u9898\uff0c\u5982\u679c\u51fa\u95ee\u9898\u4e0d\u4f1a\u641e\u5c31\u522b\u6298\u817e\u4e86 \n\n## \u81ea\u5b9a\u4e49\u56fe\u7247url\u5173\u952e\u5b57\u66ff\u6362\n\u5728data_handle.py\u6587\u4ef6\u91cc\u9762\u7684 url_diy_replace \u51fd\u6570\uff0c\u5982\u679c\u6709\u5176\u4ed6\u66f4\u597d\u7684\u53cd\u4ee3\u5730\u5740\u6216\u5176\u4ed6\u9700\u6c42\u53ef\u4ee5\u81ea\u884c\u8c03\u6574\uff0c\u4e3b\u8981\u662f\u89e3\u51b3\u8de8\u57df\u95ee\u9898\uff0c\u4e0d\u61c2\u53ef\u4ee5\u4e0d\u6298\u817e \n<img width=\"600\" src=\"https://raw.githubusercontent.com/nikissXI/nonebot_plugins/main/nonebot_plugin_setu_customization/readme_img/url_diy_replace.jpg\"/>\n\n## \u4f7f\u7528\u793a\u4f8b\u3001\u5bfc\u5165api\u548c\u56fe\u7247\u5e93\n\u63a5\u53e3\u4e0d\u4e00\u5b9a\u80fd\u7528\u6216\u7a33\u5b9a\u4f7f\u7528\uff0c\u8fd9\u4e9b\u53ea\u662f\u4ee5\u524d\u627e\u7684\u63a5\u53e3 \n**\u4e8c\u6b21\u5143\u56fe\u7247api** \nhttp://api.tangdouz.com/sjdmbz.php \nhttps://api.dujin.org/pic/yuanshen/ \nhttps://www.dmoe.cc/random.php \nhttps://setu.yuban10703.xyz/setu \nhttps://tuapi.eees.cc/api.php?category=dongman&type=302 \nhttps://api.yimian.xyz/img/ \nhttps://image.anosu.top/pixiv/direct \nhttps://api.lolicon.app/setu/v2 \nhttps://moe.anosu.top/img/?sort=pixiv \nhttps://moe.anosu.top/img/?sort=setu \n\n**R18\u56fe\u7247api** \nhttps://setu.yuban10703.xyz/setu?r18=1 \nhttps://image.anosu.top/pixiv/direct?r18=1 \nhttps://api.lolicon.app/setu/v2?r18=1 \nhttps://moe.anosu.top/img/?sort=r18 \n\n**\u4e09\u6b21\u5143\u56fe\u7247api** \n\u6ca1\u6536\u96c6\u5230\u597d\u7684\uff0c\u4f46\u662f\u6211\u722c\u4e86\u5f88\u591a\uff0c\u5728\u4ed3\u5e93\u7684tutu_local_img_lib\u6587\u4ef6\u5939\uff0c\u4e0b\u8f7d\u653e\u8fdb\u53bbdata/tutu_local_img_lib/\u91cc\u9762\uff0c\u6ca1\u4e8b\u6765\u770b\u770b\u6709\u6ca1\u6709\u66f4\u65b0\uff0c\u91cc\u9762\u4e5f\u6709\u4e8c\u6b21\u5143\u7684\n\n**\u672c\u5730\u56fe\u7247\u5e93** \n\u5373data/tutu_local_img_lib/\u4e2d\u7684\u56fe\u7247\uff0c\u653e\u5165\u56fe\u7247url\u6587\u4ef6\u540e\uff0c\u4f7f\u7528\u547d\u4ee4\u201c\u56fe\u56fe\u63a5\u53e3\u7ba1\u7406 \u5237\u65b0\u672c\u5730\u201d\u8fdb\u884c\u5bfc\u5165 \n\u8bbf\u95ee\u63a5\u53e3url\u5982\u679c\u6ca1\u6709\u5728.env\u914d\u7f6etutu_site_url\uff0c\u5c31\u662fnonebot\u7684\u5730\u5740\u548c\u7aef\u53e3\u53f7\uff0c\u5982\u7ed1\u5b9a\u7684host=127.0.0.1\uff0cport=8080\uff0c\u5c31\u662fhttp://127.0.0.1:8080/img_api?fw=1&fn=<filename\\>\n| \u53c2\u6570 | \u8bf4\u660e |\n|:-----:|:----:|\n| fw | \u662f\u5426\u91cd\u5b9a\u5411\uff0c0\u8fd4\u56de\u7f51\u9875\uff0c1\u91cd\u5b9a\u5411\u5230\u56fe\u7247url |\n| fn | \u672c\u5730\u56fe\u7247\u5e93\u6587\u4ef6\u540d |\n| mode | \u56fe\u7247\u7c7b\u578b\uff0c\u6ca1\u6709fn\u53c2\u6570\u65f6\u6709\u6548 |\n| c | \u8fd4\u56de\u7684\u56fe\u7247\u6570\u91cf\uff0c\u6ca1\u6709fw\u53c2\u6570\u65f6\u6709\u6548 |\n\n```bash\n# \u6dfb\u52a0\u4e00\u4e2a\u63a5\u53e3\u5230\u4e8c\u6b21\u5143\u7c7b\u578b\u63a5\u53e3\n\u56fe\u56fe\u63a5\u53e3\u7ba1\u7406 \u4e8c\u6b21\u5143 + https://api.lolicon.app/setu/v2\n# \u652f\u6301\u6279\u91cf\u6dfb\u52a0\u63a5\u53e3\n\u56fe\u56fe\u63a5\u53e3\u7ba1\u7406 \u4e8c\u6b21\u5143 + \nhttps://api.lolicon.app/setu/v2 \nhttp://api.tangdouz.com/sjdmbz.php \nhttps://api.dujin.org/pic/yuanshen/ \n# \u6dfb\u52a0\u4e00\u4e2a\u672c\u5730\u56fe\u7247\u5e93\u63a5\u53e3\u5230\u4e09\u6b21\u5143\u7c7b\u578b\u63a5\u53e3\n\u56fe\u56fe\u63a5\u53e3\u7ba1\u7406 \u4e09\u6b21\u5143 + \u672c\u5730\u56fe\u5e93self_cosplay\n# \u722c\u53d6\u4e00\u7bc7\u5fae\u4fe1\u6587\u7ae0\u7684\u56fe\u7247\u5230\u672c\u5730\u56fe\u7247\u5e93self_anime\nhttps://mp.weixin.qq.com/s/IHeYqZTu8xYLv7nDkRwxUQ self_anime\n# \u8be5\u547d\u4ee4\u7b49\u6548\u4e8e\u4e0a\u9762\u7684\u547d\u4ee4 \u9ed8\u8ba42\u6307self_anime\uff0c3\u6307self_cosplay\nhttps://mp.weixin.qq.com/s/IHeYqZTu8xYLv7nDkRwxUQ 2\n```\n\n## \u6587\u7ae0\u56fe\u7247\u722c\u53d6\uff08\u4e0d\u60f3\u6298\u817e\u5c31\u5ffd\u7565\uff09 \n\u4e0b\u8f7dmitmproxy_script\u6587\u4ef6\u5939\u4e2d\u7684\u4e24\u4e2a\u811a\u672c \n```bash\n# \u5b89\u88c5mitmproxy\npip install mitmproxy\n# \u8fd0\u884cpapa.py\uff0c8080\u7684\u76d1\u542c\u7aef\u53e3\uff0c\u53ef\u4ee5\u81ea\u5df1\u6539\npython papa.py -p 8080\n# \u624b\u673a\u6216\u7535\u8111\u8bbe\u7f6e\u597d\u4ee3\u7406\u540e\uff0c\u7528\u6d4f\u89c8\u5668\u8bbf\u95ee\u4ee5\u4e0b\u7f51\u7ad9\uff0c\u5982\u679c\u770b\u5230\u8bc1\u4e66\u9009\u62e9\u90a3\u5c31\u662f\u4ee3\u7406\u5bf9\u4e86\uff0c\u7136\u540e\u770b\u8bf4\u660e\u5b89\u88c5\u8bc1\u4e66\nmitm.it\n# \u7136\u540e\u6839\u636e\u4e0b\u9762\u7684\u65b9\u6cd5\u722c\u53d6\uff0c\u7ed3\u679c\u8f93\u51fa\u5728result\u6587\u4ef6\u5939\u4e2d\n```\n\n**\u722c\u53d6\u5fae\u4fe1\u516c\u4f17\u53f7\u6587\u7ae0url \u65b9\u6cd5\u4e00** \nPS\uff1a\u5efa\u8baeiOS\u5fae\u4fe1\u722c\u53d6\uff0c\u88c5\u8bc1\u4e66\u7b80\u5355 \n\u5fae\u4fe1\u8fde\u4e0a\u4ee3\u7406\u540e\uff0c\u5927\u90e8\u5206\u5fae\u4fe1\u516c\u4f17\u53f7\u7684\u5bf9\u8bdd\u6846\u6709\u4e2a\u67e5\u770b\u5386\u53f2\u6587\u7ae0\uff08\u6709\u7684\u6ca1\u6709\uff09\uff0c\u70b9\u8fdb\u53bb\u540e\u6d4f\u89c8\uff0c\u4e00\u76f4\u5f80\u4e0b\u5237\u5230\u5e95\u5c31\u884c\uff0c\u5982\u679c\u6ca1\u6709\u5386\u53f2\u6587\u7ae0\u63a5\u53e3\u770b\u65b9\u6cd5\u4e8c \n<img width=\"600\" src=\"https://raw.githubusercontent.com/nikissXI/nonebot_plugins/main/nonebot_plugin_setu_customization/readme_img/weixin1.jpg\"/>\n\n**\u722c\u53d6\u5fae\u4fe1\u516c\u4f17\u53f7\u6587\u7ae0url \u65b9\u6cd5\u4e8c** \nPS\uff1a\u5bb9\u6613\u88ab\u9650\u5236\uff0c\u5982\u679c\u7ffb\u9875\u4e0d\u56de\u663e\u6570\u636e\u5c31\u662f\u88ab\u9650\u5236\u4e86\uff0c\u88ab\u9650\u5236\u5c31\u7b49\u51e0\u4e2a\u5c0f\u65f6\u518d\u6765\uff08\u5177\u4f53\u65f6\u95f4\u81ea\u5df1\u6478\u7d22\uff09\uff0c\u5426\u5219\u9650\u5236\u65f6\u95f4\u4f1a\u5927\u5e45\u5ea6\u5ef6\u957f\n\u6ce8\u518c\u4e00\u4e2a\u5fae\u4fe1\u516c\u4f17\u5e73\u53f0\u8d26\u53f7 \nhttps://mp.weixin.qq.com/ \n\u4f9d\u6b21\u70b9\u8349\u7a3f\u7bb1\u3001\u65b0\u7684\u521b\u4f5c\u3001\u5199\u65b0\u56fe\u6587\uff0c\u4f1a\u6709\u4e2a\u65b0\u9875\u9762\uff0c\u5728\u6700\u4e0a\u9762\u6709\u4e2a\u8d85\u94fe\u63a5\uff0c\u70b9\u9009\u62e9\u516c\u4f17\u53f7\uff0c\u641c\u7d22\u516c\u4f17\u53f7\uff0c\u7136\u540e\u9009\u62e9\u5c31\u53ef\u4ee5\u770b\u5230\u5386\u53f2\u6587\u7ae0\u4e86\uff0c\u4e00\u9875\u9875\u5f80\u4e0b\u7ffb\uff0c\u4e00\u6b21\u7ffb\u4e8c\u4e09\u5341\u9875\u5c31\u597d\uff0c\u4e0d\u7136\u5bb9\u6613\u88ab\u9650\u5236 \n<img width=\"600\" src=\"https://raw.githubusercontent.com/nikissXI/nonebot_plugins/main/nonebot_plugin_setu_customization/readme_img/weixin2.jpg\"/>\n\n**\u722c\u53d6B\u7ad9\u4e13\u680f\u56fe\u7247** \n\u7528\u7f51\u9875\u6253\u5f00\u67d0\u4e2aUP\u7684\u8d26\u53f7\u7a7a\u95f4\uff0c\u70b9TA\u7684\u4e13\u680f\uff0c\u5c31\u4f1a\u6253\u5f00 https://space.bilibili.com/XXXXXXX/article \n<img width=\"600\" src=\"https://raw.githubusercontent.com/nikissXI/nonebot_plugins/main/nonebot_plugin_setu_customization/readme_img/bili.jpg\"/> \n\u7136\u540e\u5c31\u4f1a\u81ea\u52a8\u7ffb\u9875\u722c\u53d6\u6240\u6709\u6587\u7ae0url\u4e86\uff0c\u53ef\u4ee5\u5728\u7ed3\u679c\u6587\u4ef6\u5939\u91cc\u770b\u5230\u8fdb\u5ea6\uff0c\u722c\u53d6\u5b8c\u4f1a\u6709\u4e2aDONE\u6587\u4ef6\n\n**\u63d0\u53d6\u6587\u7ae0url** \n\u722c\u53d6\u5230\u65b0\u6570\u636e\u4f1a\u751f\u6210\u201cnew_data_XXX\u201d\u6587\u4ef6\u5728\u7ed3\u679c\u6587\u4ef6\u5939\u4e2d\uff0c\u91cc\u9762\u7684\u683c\u5f0f\u662f\u201c\u6807\u9898 *** \u6587\u7ae0url\u201d\uff0c\u53ef\u4ee5\u901a\u8fc7\u6807\u9898\u8fdb\u884c\u7b5b\u9009\uff0c\u4e0d\u8981\u7684\u6587\u7ae0\u6574\u884c\u526a\u5207\u4e22\u5230\u201chistory_data_XXX\u201d \n\u201chistory_data_XXX\u201d\u662f\u5386\u53f2\u6570\u636e\uff0c\u6bcf\u6b21\u8fd0\u884c\u722c\u53d6\u811a\u672c\u4f1a\u8bfb\u53d6\u5386\u53f2\u6570\u636e\uff0c\u722c\u8fc7\u7684\u5c31\u4e0d\u4f1a\u518d\u722c\n\u6700\u540e\u5c31\u662f\u7b5b\u9009\u597d\u7684\u201cnew_data_XXX\u201d\u6587\u4ef6\n```bash\n# \u8fd0\u884csplit_url.py\npython \u8fd0\u884csplit_url.py\n```\nsplit_url.py\u4f1a\u904d\u5386result\u91cc\u9762\u7684\u6587\u4ef6\uff0c\u628a\u91cc\u9762\u547d\u540d\u542b\u6709\u201cnew_data_\u201d\u7684\u6587\u4ef6\u91cc\u7684url\u63d0\u53d6\u51fa\u6765\u8f93\u51fa\u5230\u201cwait_for_upload\u201d\u6587\u4ef6\u5939 \n\u5728nonebot\u6839\u76ee\u5f55\u7684\u201ctutu_crawler\u201d\u91cc\u65b0\u5efa\u4e00\u4e2a\u6587\u4ef6\u5939\uff0c\u6587\u4ef6\u5939\u540d\u5b57\u662f\u722c\u53d6\u7684\u56fe\u7247\u52a0\u5165\u7684\u672c\u5730\u56fe\u7247\u5e93\uff0c\u5982\u201cself_anime\u201d\uff0c\u4e5f\u53ef\u4ee5\u76f4\u63a5\u65b0\u5efa\u4e00\u4e2a\u540d\u5b57\u201c2\u201d\u7684\u6587\u4ef6\u5939\uff0c\u9ed8\u8ba42\u6307self_anime\uff0c3\u6307self_cosplay \n\u628await_for_upload\u91cc\u9762\u7684\u6587\u4ef6\u6839\u636e\u7c7b\u578b\u4e0a\u4f20\u5230 tutu_crawler/<\u672c\u5730\u56fe\u7247\u5e93>/\u91cc\u9762 \n\u7136\u540e\u7ed9\u673a\u5668\u4eba\u79c1\u804a\u53d1\u9001\u201c\u5f00\u722c\u201d\u5c31\u4f1a\u81ea\u52a8\u722c\u53d6\n\n## \u66f4\u65b0\u65e5\u5fd7\n### 2024/6/25 \\[v1.8.0]\n\n* \u4f18\u5316readme\n* \u4fee\u6539\u63d2\u4ef6\u5143\u6570\u636e\n\n### 2023/3/31 \\[v1.7.0]\n\n* \u4f18\u5316readme\n* \u6709\u4e2abug\u5fd8\u8bb0\u4fee\u4e86\n* \u56fe\u7247\u4e0b\u8f7d\u8d85\u65f6\u65f6\u95f4\u4ece30\u79d2\u6539\u4e3a10\u79d2\n* \u4fee\u590d\u4e86\u4e00\u4e2a\u5bfc\u81f4\u56fe\u7247\u53d1\u9001\u6162\u7684\u7a76\u6781\u50bb\u903c\u903b\u8f91\uff0c\n\n### 2023/3/21 \\[v1.6.2]\n\n* \u4fee\u590dreadme\u91cc\u7684\u9519\u8bef\n* \u66f4\u6362\u9ed8\u8ba4pixiv\u53cd\u4ee3\uff0c\u4e4b\u524d\u7684\u6302\u4e86\uff08\u548b\u6ca1\u4eba\u544a\u8bc9\u6211\n\n### 2023/1/24 \\[v1.6.0]\n\n* \u4fee\u590d\u591abot\u5904\u7406bug\n* \u79fb\u9664\u641c\u56fe\u529f\u80fd\n\n### 2023/1/23 \\[v1.5.1]\n\n* \u6062\u590d\u641c\u56fe\u529f\u80fd\uff0c\u4f7f\u7528pixivpy\u8c03\u7528P\u7ad9\u7684\u63a5\u53e3\u5b8c\u6210\u641c\u56fe\u529f\u80fd https://github.com/upbit/pixivpy\n* \u4f18\u5316\u641c\u56fe\u524d\u7aef\u754c\u9762\n\n### 2023/1/16 \\[v1.4.9]\n\n* \u6700\u4f4epython\u7248\u672c\u517c\u5bb9\u81f33.8\n* \u9ed8\u8ba4\u5b57\u4f53\u5927\u5c0f\u4ece16\u6539\u523018\n\n### 2023/1/16 \\[v1.4.8]\n\n* \u6362\u4e2a\u597d\u770b\u7684\u5b57\u4f53\n\n### 2023/1/15 \\[v1.4.7]\n\n* \u4f9d\u8d56\u9519\u8bef\u4fee\u590d\n* \u589e\u52a0\u5355\u6b21\u56fe\u7247\u53d1\u9001\u6570\u91cf\u8bbe\u7f6e\n* \u4f18\u5316\u591abot\u903b\u8f91\uff0c\u673a\u5668\u4ebaqq\u53f7\u914d\u7f6e\u6539\u4e3a\u53ef\u9009\n\n### 2023/1/14 \\[v1.4.5]\n\n* \u4f9d\u8d56\u9519\u8bef\u4fee\u590d\uff0c\u4f18\u5316\u903b\u8f91\n\n### 2023/1/9 \\[v1.4.3]\n\n* \u9875\u9762\u7ec6\u8282\u4f18\u5316\n\n### 2023/1/8 \\[v1.4.2]\n\n* \u589e\u52a0P\u7ad9\u641c\u56fe\u529f\u80fd\uff08\u9700\u8981\u516c\u7f51\u670d\u52a1\u5668\u7f51\u9875\u8bbf\u95ee\u7ed3\u679c\uff09\uff0c\u4f18\u5316\u56fe\u7247\u4e0b\u8f7d\u72b6\u6001\u5224\u65ad\n* P\u7ad9\u641c\u56fe\u529f\u80fd\u57fa\u7840\u4e0a\u589e\u52a0\u7f51\u9875\u9884\u89c8 http://127.0.0.1:8080/soutu \uff08\u5177\u4f53\u57df\u540d\u548c\u7aef\u53e3\u770b\u4f60nb\u7ed1\u5b9a\u7684\u5730\u5740\uff09\n\n### 2023/1/4 \\[v1.3.1]\n\n* \u589e\u52a0\u672c\u5730\u4e0b\u56fe\u548c\u8fdc\u7aef\u4e0b\u56fe\u914d\u7f6e\uff0c\u4f18\u5316api\u8bf7\u6c42\u903b\u8f91\n\n### 2023/1/4 \\[v1.2.2]\n\n* \u51fa\u56fe\u6539\u4e3anb\u4e0b\u8f7d\u597d\u518d\u53d1\u9001\uff0c\u4f18\u5316\u5927\u91cf\u7ec6\u8282\uff0c\u4feebug\n\n### 2023/1/3 \\[v1.1.1]\n\n* \u4f18\u5316\u63a5\u53e3\u7ba1\u7406\u529f\u80fd\n\n### 2023/1/3 \\[v1.1.0]\n\n* \u589e\u52a0\u6279\u91cf\u5bfc\u5165api\n\n### 2023/1/3 \\[v1.0.0]\n\n* \u53d1\u5e03\u63d2\u4ef6",
"bugtrack_url": null,
"license": "MIT",
"summary": "Nonebot2 \u53ef\u52a8\u6001\u7ba1\u7406API\u5e76\u5e26\u7f51\u9875\u6d4f\u89c8\u7684setu\u63d2\u4ef6",
"version": "1.8.1",
"project_urls": {
"Documentation": "https://github.com/nikissXI/nonebot_plugins/tree/main/nonebot_plugin_setu_customization#README.md",
"Homepage": "https://github.com/nikissXI/nonebot_plugins/tree/main/nonebot_plugin_setu_customization",
"Repository": "https://github.com/nikissXI/nonebot_plugins/tree/main/nonebot_plugin_setu_customization"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "4a9bb9c591afcfa336812634446df9f23b2807cb4cc2ef58cb7bc59d03182511",
"md5": "39c7266d24d69381aa87a05f3e980c2b",
"sha256": "058df2a86b61c8caac0322dec51c3c71438e0fa4183362c71d4d10e3f77c8a76"
},
"downloads": -1,
"filename": "nonebot_plugin_setu_customization-1.8.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "39c7266d24d69381aa87a05f3e980c2b",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 4626314,
"upload_time": "2024-06-25T02:34:14",
"upload_time_iso_8601": "2024-06-25T02:34:14.855957Z",
"url": "https://files.pythonhosted.org/packages/4a/9b/b9c591afcfa336812634446df9f23b2807cb4cc2ef58cb7bc59d03182511/nonebot_plugin_setu_customization-1.8.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "bcfc9574527655a886acb6e2103273f171c79d87a58136557f5ecf68f156ad34",
"md5": "da1c8eac8a3adb63ab35ced595a536c6",
"sha256": "b923cbdd9218a3af6e083f85ff562a76a668424691fa204ebd087459be499765"
},
"downloads": -1,
"filename": "nonebot_plugin_setu_customization-1.8.1.tar.gz",
"has_sig": false,
"md5_digest": "da1c8eac8a3adb63ab35ced595a536c6",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 4611480,
"upload_time": "2024-06-25T02:34:31",
"upload_time_iso_8601": "2024-06-25T02:34:31.267727Z",
"url": "https://files.pythonhosted.org/packages/bc/fc/9574527655a886acb6e2103273f171c79d87a58136557f5ecf68f156ad34/nonebot_plugin_setu_customization-1.8.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-06-25 02:34:31",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "nikissXI",
"github_project": "nonebot_plugins",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "nonebot_plugin_setu_customization"
}