This commit is contained in:
jxxghp 2023-06-14 17:04:52 +08:00
parent c726864412
commit 8cbc33a976
4 changed files with 49 additions and 10 deletions

View File

@ -20,17 +20,17 @@ class SiteManageChain(ChainBase):
site_list = self._sites.list()
if not site_list:
self.post_message(title="没有维护任何站点信息!")
title = f"共有 {len(site_list)} 个站点,回复 `/site_disable` `[id]` 禁用站点"
title = f"共有 {len(site_list)} 个站点,回复 `/site_disable` `[id]` 禁用站点,回复 `/site_enable` `[id]` 启用站点"
messages = []
for site in site_list:
if site.render:
render_str = " [仿真]"
render_str = "【仿真】"
else:
render_str = ""
if site.is_active:
messages.append(f"{site.id}. {site.name}{site.url}{render_str}")
messages.append(f"{site.id}. [{site.name}]{site.url}{render_str}")
else:
messages.append(f"{site.id}. ~~{site.name}{site.url}{render_str}~~")
messages.append(f"{site.id}. ~~{site.name}~~")
# 发送列表
self.post_message(title=title, text="\n".join(messages))
@ -48,7 +48,30 @@ class SiteManageChain(ChainBase):
if not site:
self.post_message(title=f"站点编号 {site_id} 不存在!")
return
# 删除站点
self._sites.delete(site_id)
# 禁用站点
self._sites.update(site_id, {
"is_active": False
})
# 重新发送消息
self.process()
def enable(self, arg_str):
"""
启用站点
"""
if not arg_str:
return
arg_str = arg_str.strip()
if not arg_str.isdigit():
return
site_id = int(arg_str)
site = self._sites.get(site_id)
if not site:
self.post_message(title=f"站点编号 {site_id} 不存在!")
return
# 禁用站点
self._sites.update(site_id, {
"is_active": True
})
# 重新发送消息
self.process()

View File

@ -307,11 +307,14 @@ class SubscribeChain(ChainBase):
messages = []
for subscribe in subscribes:
if subscribe.type == MediaType.MOVIE.value:
messages.append(f"{subscribe.id}. {subscribe.name}{subscribe.year}")
tmdb_link = f"https://www.themoviedb.org/movie/{subscribe.tmdbid}"
messages.append(f"{subscribe.id}. [{subscribe.name}{subscribe.year}]({tmdb_link})")
else:
messages.append(f"{subscribe.id}. {subscribe.name}{subscribe.year})第{subscribe.season}"
f"[{subscribe.total_episode - (subscribe.lack_episode or subscribe.total_episode)}"
f"/{subscribe.total_episode}]")
tmdb_link = f"https://www.themoviedb.org/tv/{subscribe.tmdbid}"
messages.append(f"{subscribe.id}. [{subscribe.name}{subscribe.year}]({tmdb_link}) "
f"{subscribe.season}"
f"{subscribe.total_episode - (subscribe.lack_episode or subscribe.total_episode)}"
f"/{subscribe.total_episode}")
# 发送列表
self.post_message(title=title, text='\n'.join(messages))

View File

@ -84,6 +84,11 @@ class Command(metaclass=Singleton):
"description": "查询站点",
"data": {}
},
"/site_enable": {
"func": SiteManageChain().enable,
"description": "启用站点",
"data": {}
},
"/site_disable": {
"func": SiteManageChain().disable,
"description": "禁用站点",

View File

@ -49,6 +49,14 @@ class Sites:
"""
return Site.delete(self._db, sid)
def update(self, sid: int, payload: dict):
"""
更新站点
"""
site = Site.get(self._db, sid)
site.update(self._db, payload)
return site
def get_by_domain(self, domain: str) -> Site:
"""
按域名获取站点