mirror of
https://github.com/tgbot-collection/YYeTsBot.git
synced 2025-11-25 11:29:38 +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。
|
||||
|
||||
|
||||
- [使用说明](#使用说明)
|
||||
- [命令](#命令)
|
||||
- [截图](#截图)
|
||||
@@ -35,7 +34,6 @@
|
||||
- [支持我](#支持我)
|
||||
- [License](#license)
|
||||
|
||||
|
||||
# 使用说明
|
||||
|
||||
直接发送想要看的剧集名称就可以了,可选分享网页或者链接(ed2k和磁力链接)。
|
||||
@@ -46,7 +44,6 @@
|
||||
|
||||
**由于译名的不同,建议输入部分译名,然后从列表中进行选择。比如说想看权力的游戏第四季,那么直接搜索"权力的游戏"就可以了。**
|
||||
|
||||
|
||||
# 命令
|
||||
|
||||
```
|
||||
@@ -83,7 +80,24 @@ yyets_offline - 人人影视离线数据
|
||||
|
||||
## 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
|
||||
|
||||
# 开发
|
||||
|
||||
## 添加新的资源网站
|
||||
|
||||
欢迎各位开发提交新的资源网站!方法非常简单,重写 `BaseFansub`,按照约定的格式返回数据。 然后把类名字添加到 `FANSUB_ORDER` 就可以了!是不是很简单!
|
||||
|
||||
## health check
|
||||
|
||||
有时不知为何遇到了bot卡死,无任何反馈。😂~~这个时候需要client api了~~😂
|
||||
|
||||
好的,这个原因找到了,是因为有时爬虫会花费比较长的时间,然后pytelegrambotapi默认只有两个线程,那么后续的操作就会被阻塞住。
|
||||
|
||||
临时的解决办法是增加线程数量,长期的解决办法是使用celery分发任务。
|
||||
如何参与开发、具体API接口,可以 [参考这个文档](DEVELOPMENT.md)
|
||||
|
||||
# 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