summaryrefslogtreecommitdiff
path: root/ATRI/plugins/bilibili_dynamic
diff options
context:
space:
mode:
authorKyomotoi <[email protected]>2022-10-17 23:46:00 +0800
committerKyomotoi <[email protected]>2022-10-17 23:46:00 +0800
commita8afa113cfef80237031916e20df44bc11df2270 (patch)
treec020a8eff1f024b1aa8ebc3fc4560246dd22fe06 /ATRI/plugins/bilibili_dynamic
parent4adf588a06b1fb32c6e459dc6248b183313a241e (diff)
downloadATRI-a8afa113cfef80237031916e20df44bc11df2270.tar.gz
ATRI-a8afa113cfef80237031916e20df44bc11df2270.tar.bz2
ATRI-a8afa113cfef80237031916e20df44bc11df2270.zip
♻️ 跟进 service 的变化
Diffstat (limited to 'ATRI/plugins/bilibili_dynamic')
-rw-r--r--ATRI/plugins/bilibili_dynamic/__init__.py31
-rw-r--r--ATRI/plugins/bilibili_dynamic/data_source.py17
2 files changed, 15 insertions, 33 deletions
diff --git a/ATRI/plugins/bilibili_dynamic/__init__.py b/ATRI/plugins/bilibili_dynamic/__init__.py
index ec62540..8ea5740 100644
--- a/ATRI/plugins/bilibili_dynamic/__init__.py
+++ b/ATRI/plugins/bilibili_dynamic/__init__.py
@@ -11,10 +11,12 @@ from apscheduler.triggers.interval import IntervalTrigger
from nonebot import get_bot
from nonebot.matcher import Matcher
from nonebot.params import CommandArg, ArgPlainText
-from nonebot.permission import Permission, SUPERUSER
+from nonebot.permission import Permission
from nonebot.adapters.onebot.v11 import Message, MessageSegment, GroupMessageEvent
from ATRI.log import log
+from ATRI.service import Service
+from ATRI.permission import MASTER, ADMIN
from ATRI.utils import timestamp2datetime
from ATRI.utils.apscheduler import scheduler
from ATRI.database import BilibiliSubscription
@@ -24,8 +26,11 @@ from .data_source import BilibiliDynamicSubscriptor
_CONTENT_LIMIT: int = 0
+plugin = Service("b站动态订阅").document("b站动态订阅助手~").permission(ADMIN).main_cmd("/bd")
+sub = BilibiliDynamicSubscriptor()
-add_sub = BilibiliDynamicSubscriptor().cmd_as_group("add", "添加b站up主订阅")
+
+add_sub = plugin.cmd_as_group("add", "添加b站up主订阅")
@add_sub.handle()
@@ -46,17 +51,16 @@ async def _bd_deal_add_sub(
__id = int(_id)
group_id = event.group_id
- result = await BilibiliDynamicSubscriptor().add_sub(__id, group_id)
+ result = await sub.add_sub(__id, group_id)
await add_sub.finish(result)
-del_sub = BilibiliDynamicSubscriptor().cmd_as_group("del", "删除b站up主订阅")
+del_sub = plugin.cmd_as_group("del", "删除b站up主订阅")
@del_sub.handle()
async def _bd_del_sub(event: GroupMessageEvent):
group_id = event.group_id
- sub = BilibiliDynamicSubscriptor()
query_result = await sub.get_sub_list(group_id=group_id)
if not query_result:
@@ -84,19 +88,16 @@ async def _bd_deal_del_sub(
__id = int(_id)
group_id = event.group_id
- result = await BilibiliDynamicSubscriptor().del_sub(__id, group_id)
+ result = await sub.del_sub(__id, group_id)
await del_sub.finish(result)
-get_sub_list = BilibiliDynamicSubscriptor().cmd_as_group(
- "list", "获取b站up主订阅列表", permission=Permission()
-)
+get_sub_list = plugin.cmd_as_group("list", "获取b站up主订阅列表", permission=Permission())
@get_sub_list.handle()
async def _bd_get_sub_list(event: GroupMessageEvent):
group_id = event.group_id
- sub = BilibiliDynamicSubscriptor()
query_result = await sub.get_sub_list(group_id=group_id)
if not query_result:
@@ -117,9 +118,7 @@ async def _bd_get_sub_list(event: GroupMessageEvent):
await get_sub_list.finish(output)
-limit_content = BilibiliDynamicSubscriptor().cmd_as_group(
- "limit", "设置订阅内容字数限制", permission=SUPERUSER
-)
+limit_content = plugin.cmd_as_group("limit", "设置订阅内容字数限制", permission=MASTER)
@limit_content.handle()
@@ -147,8 +146,7 @@ tq = asyncio.Queue()
class BilibiliDynamicChecker(BaseTrigger):
def get_next_fire_time(self, previous_fire_time, now):
- sub = BilibiliDynamicSubscriptor()
- conf = sub.load_service("b站动态订阅")
+ conf = plugin.load_service("b站动态订阅")
if conf.get("enabled"):
return now
@@ -159,8 +157,7 @@ class BilibiliDynamicChecker(BaseTrigger):
max_instances=3, # type: ignore
misfire_grace_time=60, # type: ignore
)
-async def _check_bd():
- sub = BilibiliDynamicSubscriptor()
+async def _():
try:
all_dy = await sub.get_all_subs()
except Exception:
diff --git a/ATRI/plugins/bilibili_dynamic/data_source.py b/ATRI/plugins/bilibili_dynamic/data_source.py
index 8f1c6f9..26ebf50 100644
--- a/ATRI/plugins/bilibili_dynamic/data_source.py
+++ b/ATRI/plugins/bilibili_dynamic/data_source.py
@@ -2,11 +2,6 @@ import json
from datetime import datetime
from operator import itemgetter
-from nonebot.permission import SUPERUSER
-from nonebot.adapters.onebot.v11 import GROUP_OWNER, GROUP_ADMIN
-
-from ATRI.service import Service
-from ATRI.rule import is_in_service
from ATRI.message import MessageBuilder
from ATRI.utils import timestamp2datetime
from ATRI.exceptions import BilibiliDynamicError
@@ -24,17 +19,7 @@ _OUTPUT_FORMAT = (
)
-class BilibiliDynamicSubscriptor(Service):
- def __init__(self):
- Service.__init__(
- self,
- "b站动态订阅",
- "b站动态订阅助手~",
- rule=is_in_service("b站动态订阅"),
- permission=SUPERUSER | GROUP_OWNER | GROUP_ADMIN,
- main_cmd="/bd",
- )
-
+class BilibiliDynamicSubscriptor:
async def __add_sub(self, uid: int, group_id: int):
try:
async with DB() as db: