mirror of
https://github.com/tgbot-collection/YYeTsBot.git
synced 2025-11-25 19:37:34 +08:00
origin:comment,yyets
separate comment to higher level update fe and dockerfile
This commit is contained in:
110
API.md
110
API.md
@@ -49,9 +49,9 @@
|
|||||||
|
|
||||||
## 搜索
|
## 搜索
|
||||||
|
|
||||||
同时搜索资源和评论,会以type字段区分,评论会额外返回 `comment_id`(能根据这个ID过滤评论最好了)
|
同时搜索资源和评论,会以type字段区分,评论会额外返回 `comment_id`
|
||||||
|
|
||||||
* GET `/api/resource?keyword=逃避`
|
* GET `/api/resource?keyword=权力的游戏`
|
||||||
|
|
||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
@@ -66,105 +66,27 @@
|
|||||||
"area": "美国",
|
"area": "美国",
|
||||||
"show_type": "",
|
"show_type": "",
|
||||||
"expire": "1610372082",
|
"expire": "1610372082",
|
||||||
"views": 34,
|
"views": 8691,
|
||||||
"year": [
|
"year": [
|
||||||
2011
|
2011
|
||||||
],
|
],
|
||||||
"type": "🎦"
|
"origin": "yyets"
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 35844,
|
|
||||||
"cnname": "权力的游戏:征服与反抗",
|
|
||||||
"enname": "Game of Thrones: Conquest and Rebellion",
|
|
||||||
"aliasname": "",
|
|
||||||
"channel": "movie",
|
|
||||||
"channel_cn": "电影",
|
|
||||||
"area": "美国",
|
|
||||||
"show_type": "",
|
|
||||||
"expire": "1610399882",
|
|
||||||
"views": 1,
|
|
||||||
"year": [
|
|
||||||
2017
|
|
||||||
],
|
|
||||||
"type": "🎦"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"cnname": "我用阿里云盘分享了「权力的游戏.1-8季无删减版.1080P......",
|
|
||||||
"enname": "👉︎👉︎👉︎ happy69",
|
|
||||||
"aliasname": "我用阿里云盘分享了「权力的游戏.1-8季无删减版.1080P」,你可以不限速下载🚀\n复制这段内容打开「阿里云盘」App 即可获取\n链接:https://www.aliyundrive.com/s/zf3WotW6oiC",
|
|
||||||
"channel_cn": "happy69",
|
|
||||||
"type": "💬",
|
|
||||||
"id": 233,
|
|
||||||
"comment_id": "614bfc698510b2408c1926b5"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"cnname": "我用阿里云盘分享了「权力的游戏人人影视版」,你可以不限速下载......",
|
|
||||||
"enname": "👉︎👉︎👉︎ jadydou",
|
|
||||||
"aliasname": "我用阿里云盘分享了「权力的游戏人人影视版」,你可以不限速下载🚀\n复制这段内容打开「阿里云盘」App 即可获取\n链接:https://www.aliyundrive.com/s/WDsKgqyxGps",
|
|
||||||
"channel_cn": "jadydou",
|
|
||||||
"type": "💬",
|
|
||||||
"id": 10733,
|
|
||||||
"comment_id": "6147fa307af3626caa5523a1"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"cnname": "我用阿里云盘分享了「权力的游戏.1-8季无删减版.1080P......",
|
|
||||||
"enname": "👉︎👉︎👉︎ 18103421965",
|
|
||||||
"aliasname": "我用阿里云盘分享了「权力的游戏.1-8季无删减版.1080P」,你可以不限速下载🚀\n复制这段内容打开「阿里云盘」App 即可获取\n链接:https://www.aliyundrive.com/s/A5qPZoP2Jrt",
|
|
||||||
"channel_cn": "18103421965",
|
|
||||||
"type": "💬",
|
|
||||||
"id": 10733,
|
|
||||||
"comment_id": "614798052afd8de53754bedb"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"cnname": "我用阿里云盘分享了「权力的游戏.1-8季无删减版.1080P......",
|
|
||||||
"enname": "👉︎👉︎👉︎ 18103421965",
|
|
||||||
"aliasname": "我用阿里云盘分享了「权力的游戏.1-8季无删减版.1080P」,你可以不限速下载🚀\n复制这段内容打开「阿里云盘」App 即可获取\n链接:https://www.aliyundrive.com/s/A5qPZoP2Jrt",
|
|
||||||
"channel_cn": "18103421965",
|
|
||||||
"type": "💬",
|
|
||||||
"id": 10914,
|
|
||||||
"comment_id": "614797cd7af3626caa54cf47"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"cnname": "我用阿里云盘分享了「权力的游戏.1-8季无删减版.1080P......",
|
|
||||||
"enname": "👉︎👉︎👉︎ kevinluo",
|
|
||||||
"aliasname": "我用阿里云盘分享了「权力的游戏.1-8季无删减版.1080P」,你可以不限速下载🚀\n复制这段内容打开「阿里云盘」App 即可获取\n链接:https://www.aliyundrive.com/s/o58i7s3dcYJ",
|
|
||||||
"channel_cn": "kevinluo",
|
|
||||||
"type": "💬",
|
|
||||||
"id": 10733,
|
|
||||||
"comment_id": "6146458e2afd8de537529caa"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"cnname": "网盘目录 Game.of.Thrones.权力的游戏.txt......",
|
|
||||||
"enname": "👉︎👉︎👉︎ zzzyusa",
|
|
||||||
"aliasname": "网盘目录 Game.of.Thrones.权力的游戏.txt: https://url90.ctfile.com/f/2536190-513324961-96c675 (访问密码:5413)",
|
|
||||||
"channel_cn": "zzzyusa",
|
|
||||||
"type": "💬",
|
|
||||||
"id": 10733,
|
|
||||||
"comment_id": "613cbca484bab96c4fa32aef"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"cnname": "我用阿里云盘分享了「权力的游戏.1-8季无删减版.1080P......",
|
|
||||||
"enname": "👉︎👉︎👉︎ 牛啊牛啊",
|
|
||||||
"aliasname": "我用阿里云盘分享了「权力的游戏.1-8季无删减版.1080P」,你可以不限速下载https://www.aliyundrive.com/s/NPqweJ6GL6c",
|
|
||||||
"channel_cn": "牛啊牛啊",
|
|
||||||
"type": "💬",
|
|
||||||
"id": 10733,
|
|
||||||
"comment_id": "61363b5d2f17def162a66c26"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"cnname": "<reply value=\"60ef0913898cc061......",
|
|
||||||
"enname": "👉︎👉︎👉︎ Benny",
|
|
||||||
"aliasname": "<reply value=\"60ef0913898cc06157c5847c\">@408188289@qq.com</reply>目前Resilio Sync 只有黑寡妇这个有,别的我都没做种……😂权力的游戏的话,我硬盘里有,等哪天我有空更新下吧",
|
|
||||||
"channel_cn": "Benny",
|
|
||||||
"type": "💬",
|
|
||||||
"id": 233,
|
|
||||||
"comment_id": "60efb14c898cc06157c617a7"
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"extra": []
|
"extra": [],
|
||||||
|
"comment": [
|
||||||
|
{
|
||||||
|
"username": "Liyixin",
|
||||||
|
"date": "2021-10-30 10:06:44",
|
||||||
|
"comment": "我用阿里云盘分享了「权力的游戏.1-8季无删减版(1).1080P」,你可以不限速下载🚀\n复制这段内容打开「阿里云盘」App 即可获取\n链接:https://www.aliyundrive.com/s/hcUfFYnkhN5",
|
||||||
|
"commentID": "617ca8b470a52cc3ef2b0dff",
|
||||||
|
"resourceID": 10733,
|
||||||
|
"resourceName": "权力的游戏",
|
||||||
|
"origin": "comment"
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
当数据库搜索不到资源时,会尝试从字幕侠、new字幕组和追新番搜索,返回如下
|
当数据库搜索不到资源时,会尝试从字幕侠、new字幕组和追新番搜索,返回如下
|
||||||
|
|
||||||
```json
|
```json
|
||||||
|
|||||||
16
Dockerfile
16
Dockerfile
@@ -1,5 +1,4 @@
|
|||||||
FROM python:3.9-alpine3.13 as pybuilder
|
FROM python:3.9-alpine3.13 as pybuilder
|
||||||
|
|
||||||
RUN apk update && apk add --no-cache tzdata ca-certificates alpine-sdk libressl-dev libffi-dev cargo && \
|
RUN apk update && apk add --no-cache tzdata ca-certificates alpine-sdk libressl-dev libffi-dev cargo && \
|
||||||
apk add tiff-dev jpeg-dev openjpeg-dev zlib-dev freetype-dev lcms2-dev \
|
apk add tiff-dev jpeg-dev openjpeg-dev zlib-dev freetype-dev lcms2-dev \
|
||||||
libwebp-dev tcl-dev tk-dev harfbuzz-dev fribidi-dev libimagequant-dev libxcb-dev libpng-dev
|
libwebp-dev tcl-dev tk-dev harfbuzz-dev fribidi-dev libimagequant-dev libxcb-dev libpng-dev
|
||||||
@@ -12,15 +11,15 @@ FROM python:3.9-alpine3.13 as runner
|
|||||||
RUN apk update && apk add --no-cache libressl jpeg-dev openjpeg-dev libimagequant-dev tiff-dev freetype-dev libxcb-dev
|
RUN apk update && apk add --no-cache libressl jpeg-dev openjpeg-dev libimagequant-dev tiff-dev freetype-dev libxcb-dev
|
||||||
|
|
||||||
|
|
||||||
FROM node:alpine as nodebuilder
|
FROM node:lts-alpine as nodebuilder
|
||||||
|
WORKDIR /build
|
||||||
ARG env
|
ARG env
|
||||||
WORKDIR /YYeTsBot/YYeTsFE/
|
|
||||||
RUN apk add git
|
RUN apk add git
|
||||||
COPY YYeTsFE/package.json /YYeTsBot/YYeTsFE/
|
COPY YYeTsFE/package.json /build/
|
||||||
COPY YYeTsFE/yarn.lock /YYeTsBot/YYeTsFE/
|
COPY YYeTsFE/yarn.lock /build/
|
||||||
RUN yarn --network-timeout 1000000
|
|
||||||
COPY YYeTsFE /YYeTsBot/YYeTsFE/
|
|
||||||
COPY scripts/dev_robots.sh /tmp/
|
COPY scripts/dev_robots.sh /tmp/
|
||||||
|
RUN yarn --network-timeout 1000000
|
||||||
|
COPY YYeTsFE /build/
|
||||||
RUN if [ "$env" = "dev" ]; then echo "dev build"; yarn build; sh /tmp/dev_robots.sh; else echo "prod build"; yarn run release; fi
|
RUN if [ "$env" = "dev" ]; then echo "dev build"; yarn build; sh /tmp/dev_robots.sh; else echo "prod build"; yarn run release; fi
|
||||||
|
|
||||||
|
|
||||||
@@ -29,8 +28,7 @@ COPY . /YYeTsBot
|
|||||||
COPY --from=pybuilder /root/.local /usr/local
|
COPY --from=pybuilder /root/.local /usr/local
|
||||||
COPY --from=pybuilder /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/
|
COPY --from=pybuilder /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/
|
||||||
COPY --from=pybuilder /usr/share/zoneinfo /usr/share/zoneinfo
|
COPY --from=pybuilder /usr/share/zoneinfo /usr/share/zoneinfo
|
||||||
RUN true
|
COPY --from=nodebuilder /build/build /YYeTsBot/yyetsweb/templates/
|
||||||
COPY --from=nodebuilder /YYeTsBot/YYeTsFE/build /YYeTsBot/yyetsweb/templates/
|
|
||||||
|
|
||||||
ENV TZ=Asia/Shanghai
|
ENV TZ=Asia/Shanghai
|
||||||
WORKDIR /YYeTsBot/yyetsbot
|
WORKDIR /YYeTsBot/yyetsbot
|
||||||
|
|||||||
2
YYeTsFE
2
YYeTsFE
Submodule YYeTsFE updated: d96a4610aa...9064c4923a
@@ -1,4 +1,4 @@
|
|||||||
cat << EOF > /YYeTsBot/YYeTsFE/build/robots.txt
|
cat << EOF > /build/build/robots.txt
|
||||||
User-agent: *
|
User-agent: *
|
||||||
Disallow: /
|
Disallow: /
|
||||||
EOF
|
EOF
|
||||||
@@ -511,25 +511,26 @@ class ResourceMongoResource(ResourceResource, Mongo):
|
|||||||
)
|
)
|
||||||
|
|
||||||
for item in resource_data:
|
for item in resource_data:
|
||||||
item["data"]["info"]["type"] = "🎦"
|
item["data"]["info"]["origin"] = "yyets"
|
||||||
final.append(item["data"]["info"])
|
final.append(item["data"]["info"])
|
||||||
|
|
||||||
# get comment
|
# get comment
|
||||||
r = CommentSearchMongoResource().get_comment(1, 100, keyword)
|
r = CommentSearchMongoResource().get_comment(1, 2 ** 10, keyword)
|
||||||
c_search = []
|
c_search = []
|
||||||
for c in r.get("data", []):
|
for c in r.get("data", []):
|
||||||
cnname = c["content"][:30] + "......"
|
comment_rid = c["resource_id"]
|
||||||
enname = f'👉︎👉︎👉︎ {c["username"]}'
|
d = self.db["yyets"].find_one({"data.info.id": comment_rid}, projection={"data.info": True})
|
||||||
channel_cn = c["username"]
|
|
||||||
aliasname = c["content"]
|
|
||||||
resource_id = c["resource_id"]
|
|
||||||
c_search.append(
|
c_search.append(
|
||||||
dict(
|
{
|
||||||
cnname=cnname, enname=enname, aliasname=aliasname, channel_cn=channel_cn,
|
"username": c["username"],
|
||||||
type="💬", id=resource_id, comment_id=c["id"]
|
"date": c["date"],
|
||||||
|
"comment": c["content"],
|
||||||
|
"commentID": c["id"],
|
||||||
|
"resourceID": comment_rid,
|
||||||
|
"resourceName": d["data"]["info"]["cnname"],
|
||||||
|
"origin": "comment"
|
||||||
|
}
|
||||||
)
|
)
|
||||||
)
|
|
||||||
final.extend(c_search)
|
|
||||||
|
|
||||||
if final:
|
if final:
|
||||||
returned = dict(data=final)
|
returned = dict(data=final)
|
||||||
@@ -543,7 +544,8 @@ class ResourceMongoResource(ResourceResource, Mongo):
|
|||||||
|
|
||||||
returned["data"] = []
|
returned["data"] = []
|
||||||
returned["extra"] = extra
|
returned["extra"] = extra
|
||||||
|
# add comment data here
|
||||||
|
returned["comment"] = c_search
|
||||||
return returned
|
return returned
|
||||||
|
|
||||||
def patch_resource(self, new_data: dict):
|
def patch_resource(self, new_data: dict):
|
||||||
@@ -1015,7 +1017,7 @@ class ResourceLatestMongoResource(ResourceLatestResource, Mongo):
|
|||||||
projection = {"_id": False, "status": False, "info": False}
|
projection = {"_id": False, "status": False, "info": False}
|
||||||
episode_data = {}
|
episode_data = {}
|
||||||
for res in tqdm(col.find(projection=projection), total=col.count()):
|
for res in tqdm(col.find(projection=projection), total=col.count()):
|
||||||
for season in res["data"].get("list",[]):
|
for season in res["data"].get("list", []):
|
||||||
for item in season["items"].values():
|
for item in season["items"].values():
|
||||||
for single in item:
|
for single in item:
|
||||||
ts = single["dateline"]
|
ts = single["dateline"]
|
||||||
|
|||||||
@@ -100,7 +100,7 @@ if __name__ == "__main__":
|
|||||||
scheduler = BackgroundScheduler(timezone=timez)
|
scheduler = BackgroundScheduler(timezone=timez)
|
||||||
scheduler.add_job(OtherMongoResource().reset_top, 'cron', hour=0, minute=0, day=1)
|
scheduler.add_job(OtherMongoResource().reset_top, 'cron', hour=0, minute=0, day=1)
|
||||||
scheduler.add_job(sync_douban, 'cron', hour=0, minute=0, day=1)
|
scheduler.add_job(sync_douban, 'cron', hour=0, minute=0, day=1)
|
||||||
# scheduler.add_job(ResourceLatestMongoResource().refresh_latest_resource, 'cron', hour=1)
|
scheduler.add_job(ResourceLatestMongoResource().refresh_latest_resource, 'cron', hour=1)
|
||||||
scheduler.start()
|
scheduler.start()
|
||||||
options.define("p", default=8888, help="running port", type=int)
|
options.define("p", default=8888, help="running port", type=int)
|
||||||
options.define("h", default='127.0.0.1', help="listen address", type=str)
|
options.define("h", default='127.0.0.1', help="listen address", type=str)
|
||||||
|
|||||||
Reference in New Issue
Block a user