mirror of
https://github.com/tgbot-collection/YYeTsBot.git
synced 2025-11-25 19:37:34 +08:00
update README.md
This commit is contained in:
40
DEVELOPMENT.md
Normal file
40
DEVELOPMENT.md
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
# bot开发手册
|
||||||
|
|
||||||
|
## 添加新的资源网站
|
||||||
|
|
||||||
|
欢迎各位开发提交新的资源网站!方法非常简单,重写 `BaseFansub`,实现`search_preview`和`search_result`,按照约定的格式返回数据。
|
||||||
|
|
||||||
|
然后把类名字添加到 `FANSUB_ORDER` 就可以了!是不是很简单!
|
||||||
|
|
||||||
|
## bot无响应
|
||||||
|
|
||||||
|
有时不知为何遇到了bot卡死,无任何反馈。😂~~这个时候需要client api了~~😂
|
||||||
|
|
||||||
|
原因找到了,是因为有时爬虫会花费比较长的时间,然后pytelegrambotapi默认只有两个线程,那么后续的操作就会被阻塞住。
|
||||||
|
|
||||||
|
临时的解决办法是增加线程数量,长期的解决办法是使用celery分发任务。
|
||||||
|
|
||||||
|
# 网站开发手册
|
||||||
|
|
||||||
|
## 接口列表
|
||||||
|
|
||||||
|
* `/api/resource?id=3` GET 获取id=3的资源
|
||||||
|
* `/api/resource?kw=逃避` GET 搜索关键词
|
||||||
|
* `/api/top` GET 获取大家都在看
|
||||||
|
* `/api/name` GET 所有剧集名字
|
||||||
|
* `/api/name?human=1` GET 人类可读的方式获取所有剧集名字
|
||||||
|
* `/api/metrics` GET 获取网站访问量
|
||||||
|
|
||||||
|
## 防爬
|
||||||
|
|
||||||
|
### 1. referer
|
||||||
|
|
||||||
|
网站使用referer验证请求
|
||||||
|
|
||||||
|
### 2. 加密headers
|
||||||
|
|
||||||
|
使用headers `ne1` 进行加密验证,详细信息可以[参考这里](https://t.me/mikuri520/726)
|
||||||
|
|
||||||
|
### 3. rate limit
|
||||||
|
|
||||||
|
404的访问会被计数,超过10次会被拉入黑名单,持续3600秒,再次访问会持续叠加。
|
||||||
34
README.md
34
README.md
@@ -10,7 +10,6 @@
|
|||||||
|
|
||||||
机器人和网站由我长期维护,如果遇到问题可以提issue。
|
机器人和网站由我长期维护,如果遇到问题可以提issue。
|
||||||
|
|
||||||
|
|
||||||
- [使用说明](#使用说明)
|
- [使用说明](#使用说明)
|
||||||
- [命令](#命令)
|
- [命令](#命令)
|
||||||
- [截图](#截图)
|
- [截图](#截图)
|
||||||
@@ -35,7 +34,6 @@
|
|||||||
- [支持我](#支持我)
|
- [支持我](#支持我)
|
||||||
- [License](#license)
|
- [License](#license)
|
||||||
|
|
||||||
|
|
||||||
# 使用说明
|
# 使用说明
|
||||||
|
|
||||||
直接发送想要看的剧集名称就可以了,可选分享网页或者链接(ed2k和磁力链接)。
|
直接发送想要看的剧集名称就可以了,可选分享网页或者链接(ed2k和磁力链接)。
|
||||||
@@ -46,7 +44,6 @@
|
|||||||
|
|
||||||
**由于译名的不同,建议输入部分译名,然后从列表中进行选择。比如说想看权力的游戏第四季,那么直接搜索"权力的游戏"就可以了。**
|
**由于译名的不同,建议输入部分译名,然后从列表中进行选择。比如说想看权力的游戏第四季,那么直接搜索"权力的游戏"就可以了。**
|
||||||
|
|
||||||
|
|
||||||
# 命令
|
# 命令
|
||||||
|
|
||||||
```
|
```
|
||||||
@@ -83,7 +80,24 @@ yyets_offline - 人人影视离线数据
|
|||||||
|
|
||||||
## docker-compose
|
## docker-compose
|
||||||
|
|
||||||
参见 [这里](https://github.com/tgbot-collection/BotsRunner)
|
* 参见 [这里](https://github.com/tgbot-collection/BotsRunner)
|
||||||
|
* 本目录下的 `docker-compose.yml` 也可以作为参考
|
||||||
|
* nginx reverse proxy可以[参考这里](https://github.com/BennyThink/WebsiteRunner)
|
||||||
|
* [参考这里获取数据库](web/README.md)
|
||||||
|
|
||||||
|
```shell
|
||||||
|
# 启动数据库
|
||||||
|
docker-compose up -d mongo
|
||||||
|
# 导入数据库
|
||||||
|
docker cp db.tgz 1234da:/tmp
|
||||||
|
# 进入容器
|
||||||
|
docker-compose exec mongo bash
|
||||||
|
tar xf db.tgz
|
||||||
|
mongorestore
|
||||||
|
exit
|
||||||
|
# 开启服务
|
||||||
|
docker-compose up -d
|
||||||
|
```
|
||||||
|
|
||||||
## 常规方式
|
## 常规方式
|
||||||
|
|
||||||
@@ -152,17 +166,7 @@ python /path/to/YYeTsBot/yyetsbot/bot.py
|
|||||||
|
|
||||||
# 开发
|
# 开发
|
||||||
|
|
||||||
## 添加新的资源网站
|
如何参与开发、具体API接口,可以 [参考这个文档](DEVELOPMENT.md)
|
||||||
|
|
||||||
欢迎各位开发提交新的资源网站!方法非常简单,重写 `BaseFansub`,按照约定的格式返回数据。 然后把类名字添加到 `FANSUB_ORDER` 就可以了!是不是很简单!
|
|
||||||
|
|
||||||
## health check
|
|
||||||
|
|
||||||
有时不知为何遇到了bot卡死,无任何反馈。😂~~这个时候需要client api了~~😂
|
|
||||||
|
|
||||||
好的,这个原因找到了,是因为有时爬虫会花费比较长的时间,然后pytelegrambotapi默认只有两个线程,那么后续的操作就会被阻塞住。
|
|
||||||
|
|
||||||
临时的解决办法是增加线程数量,长期的解决办法是使用celery分发任务。
|
|
||||||
|
|
||||||
# Credits
|
# Credits
|
||||||
|
|
||||||
|
|||||||
43
docker-compose.yml
Normal file
43
docker-compose.yml
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
version: '3.1'
|
||||||
|
|
||||||
|
services:
|
||||||
|
redis:
|
||||||
|
image: redis:alpine
|
||||||
|
restart: always
|
||||||
|
logging:
|
||||||
|
driver: none
|
||||||
|
|
||||||
|
mongo:
|
||||||
|
image: mongo
|
||||||
|
restart: always
|
||||||
|
volumes:
|
||||||
|
- ./data/mongodb:/data/db
|
||||||
|
logging:
|
||||||
|
driver: none
|
||||||
|
|
||||||
|
socat:
|
||||||
|
image: alpine/socat
|
||||||
|
restart: always
|
||||||
|
volumes:
|
||||||
|
- /var/run/docker.sock:/var/run/docker.sock
|
||||||
|
entrypoint: [ "socat", "tcp-listen:2375,fork,reuseaddr","unix-connect:/var/run/docker.sock" ]
|
||||||
|
|
||||||
|
yyets-web:
|
||||||
|
image: bennythink/yyetsbot
|
||||||
|
restart: unless-stopped
|
||||||
|
environment:
|
||||||
|
- mongo=mongo
|
||||||
|
working_dir: /YYeTsBot/web/
|
||||||
|
command: [ "python3","server.py","-h=0.0.0.0" ]
|
||||||
|
ports:
|
||||||
|
- 0.0.0.0:8888:8888
|
||||||
|
|
||||||
|
yyets:
|
||||||
|
image: bennythink/yyetsbot
|
||||||
|
depends_on:
|
||||||
|
- redis
|
||||||
|
- socat
|
||||||
|
- mongo
|
||||||
|
restart: on-failure
|
||||||
|
env_file:
|
||||||
|
- env/yyets.env
|
||||||
Reference in New Issue
Block a user