diff options
-rw-r--r-- | ATRI/plugins/anime_search.py | 12 | ||||
-rw-r--r-- | ATRI/plugins/anti_effort/__init__.py | 6 | ||||
-rw-r--r-- | ATRI/plugins/auto_tietie.py | 24 | ||||
-rw-r--r-- | ATRI/plugins/bilibili_dynamic/__init__.py | 10 | ||||
-rw-r--r-- | ATRI/plugins/broadcast.py | 142 | ||||
-rw-r--r-- | ATRI/plugins/help/data_source.py | 10 | ||||
-rw-r--r-- | ATRI/plugins/manage/data_source.py | 16 | ||||
-rw-r--r-- | ATRI/plugins/repo.py | 13 | ||||
-rw-r--r-- | ATRI/plugins/status/__init__.py | 6 | ||||
-rw-r--r-- | ATRI/plugins/thesaurus/__init__.py | 30 | ||||
-rw-r--r-- | ATRI/plugins/twitter/__init__.py | 24 | ||||
-rw-r--r-- | ATRI/plugins/util/__init__.py | 10 |
12 files changed, 146 insertions, 157 deletions
diff --git a/ATRI/plugins/anime_search.py b/ATRI/plugins/anime_search.py index 07c56c4..131abe9 100644 --- a/ATRI/plugins/anime_search.py +++ b/ATRI/plugins/anime_search.py @@ -8,8 +8,8 @@ from ATRI.utils import request, Translate from ATRI.exceptions import RequestError -URL = "https://api.trace.moe/search?anilistInfo=true" -_anime_flmt_notice = choice(["慢...慢一..点❤", "冷静1下", "歇会歇会~~"]) +__TRACE_URL = "https://api.trace.moe/search?anilistInfo=true" +__FLMT_NOTICE = choice(["慢...慢一..点❤", "冷静1下", "歇会歇会~~"]) class Anime: @@ -21,7 +21,7 @@ class Anime: resp = await request.get(url) image_bytes = resp.read() res = await request.post( - URL, data=image_bytes, headers={"Content-Type": "image/jpeg"} + __TRACE_URL, data=image_bytes, headers={"Content-Type": "image/jpeg"} ) except Exception: raise RequestError("Request failed!") @@ -73,13 +73,13 @@ class Anime: return msg0 -ani = Service("以图搜番").document("通过一张图片搜索你需要的番!据说里*也可以") +plugin = Service("以图搜番").document("通过一张图片搜索你需要的番!据说里*也可以") -anime_search = ani.on_command("以图搜番", "发送一张图以搜索可能的番剧") +anime_search = plugin.on_command("以图搜番", "发送一张图以搜索可能的番剧") -@anime_search.got("anime_pic", "图呢?", [Cooldown(5, prompt=_anime_flmt_notice)]) +@anime_search.got("anime_pic", "图呢?", [Cooldown(5, prompt=__FLMT_NOTICE)]) async def _deal_sear(bot: Bot, event: MessageEvent): user_id = event.get_user_id() img = extract_image_urls(event.message) diff --git a/ATRI/plugins/anti_effort/__init__.py b/ATRI/plugins/anti_effort/__init__.py index aa38f78..4e3a7ec 100644 --- a/ATRI/plugins/anti_effort/__init__.py +++ b/ATRI/plugins/anti_effort/__init__.py @@ -26,7 +26,7 @@ ae = AntiEffort() _lmt_notice = choice(["慢...慢一..点❤", "冷静1下", "歇会歇会~~", "呜呜...别急"]) -_GET_URL_MSG = ( +__GET_URL_MSG = ( MessageBuilder("请键入wakatime share embed URL:") .text("- 前往 wakatime.com/share/embed") .text("- Format 选择 JSON") @@ -41,7 +41,7 @@ add_user = plugin.on_command("!我也要卷", "加入卷王统计榜") @add_user.got( "waka_url", - _GET_URL_MSG, + __GET_URL_MSG, ) @add_user.got("rank_nickname", "如何在排行榜中称呼你捏") @add_user.got("to_global", "你希望加入公共排行榜吗?(y/n)", [Cooldown(60, prompt=_lmt_notice)]) @@ -80,7 +80,7 @@ async def _join_global_rank(event: GroupMessageEvent): await join_global_rank.finish("完成~!") -@join_global_rank.got("waka_url", _GET_URL_MSG) +@join_global_rank.got("waka_url", __GET_URL_MSG) @join_global_rank.got( "rank_nickname", "如何在排行榜中称呼你捏", [Cooldown(60, prompt=_lmt_notice)] ) diff --git a/ATRI/plugins/auto_tietie.py b/ATRI/plugins/auto_tietie.py index 0f78459..a88760e 100644 --- a/ATRI/plugins/auto_tietie.py +++ b/ATRI/plugins/auto_tietie.py @@ -8,8 +8,8 @@ from ATRI.service import Service from ATRI.permission import MASTER -_is_tietie = True -_tietie_wd = choice( +__TIETIE_ENABLED = True +__TIETIE_WORDS = choice( [ "mua!", "贴贴!", @@ -28,40 +28,40 @@ _tietie_wd = choice( ] ) -tt = Service("贴贴").document("全自动贴贴机").only_admin(True).permission(MASTER) +plugin = Service("贴贴").document("全自动贴贴机").permission(MASTER) -auto_tietie = tt.on_message( +auto_tietie = plugin.on_message( "贴贴w", "只与维护者贴贴w, '不可以贴'以拒绝贴贴~, '来贴贴'以接受贴贴~", block=False, priority=11 ) @auto_tietie.handle([Cooldown(600)]) async def _(event: MessageEvent): - if not _is_tietie: + if not __TIETIE_ENABLED: await auto_tietie.finish() user_id = event.get_user_id() at = MessageSegment.at(user_id) - result = at + _tietie_wd # type: ignore + result = at + __TIETIE_WORDS # type: ignore await auto_tietie.finish(result) -no_tietie = tt.on_command("不可以贴", docs="拒绝贴贴") +no_tietie = plugin.on_command("不可以贴", docs="拒绝贴贴") @no_tietie.handle() async def _(): - global _is_tietie - _is_tietie = False + global __TIETIE_ENABLED + __TIETIE_ENABLED = False await no_tietie.finish("好吧...") -yes_tietie = tt.on_command("来贴贴", docs="继续贴贴") +yes_tietie = plugin.on_command("来贴贴", docs="继续贴贴") @yes_tietie.handle() async def _(): - global _is_tietie - _is_tietie = True + global __TIETIE_ENABLED + __TIETIE_ENABLED = True await yes_tietie.finish("好欸!") diff --git a/ATRI/plugins/bilibili_dynamic/__init__.py b/ATRI/plugins/bilibili_dynamic/__init__.py index 8ea5740..7459a15 100644 --- a/ATRI/plugins/bilibili_dynamic/__init__.py +++ b/ATRI/plugins/bilibili_dynamic/__init__.py @@ -24,7 +24,7 @@ from ATRI.database import BilibiliSubscription from .data_source import BilibiliDynamicSubscriptor -_CONTENT_LIMIT: int = 0 +__CONTENT_LIMIT = 0 plugin = Service("b站动态订阅").document("b站动态订阅助手~").permission(ADMIN).main_cmd("/bd") sub = BilibiliDynamicSubscriptor() @@ -136,9 +136,9 @@ async def _td_deal_limit( if not re.match(patt, _limit): await limit_content.reject("请键入阿拉伯数字:") - global _CONTENT_LIMIT - _CONTENT_LIMIT = int(_limit) - await limit_content.finish(f"成功!订阅内容展示将限制在 {_CONTENT_LIMIT} 以内!") + global __CONTENT_LIMIT + __CONTENT_LIMIT = int(_limit) + await limit_content.finish(f"成功!订阅内容展示将限制在 {__CONTENT_LIMIT} 以内!") tq = asyncio.Queue() @@ -183,7 +183,7 @@ async def _(): for i in result: i["name"] = m.up_nickname if ts < i["timestamp"]: - content = sub.gen_output(i, _CONTENT_LIMIT) + content = sub.gen_output(i, __CONTENT_LIMIT) _pic = i.get("pic", None) bot = get_bot() diff --git a/ATRI/plugins/broadcast.py b/ATRI/plugins/broadcast.py index 43ce698..c391230 100644 --- a/ATRI/plugins/broadcast.py +++ b/ATRI/plugins/broadcast.py @@ -1,58 +1,54 @@ import json import random import asyncio -from pathlib import Path from nonebot.matcher import Matcher from nonebot.params import CommandArg, ArgPlainText -from nonebot.adapters.onebot.v11 import Bot, Message, MessageEvent -from nonebot.adapters.onebot.v11 import GroupMessageEvent, PrivateMessageEvent +from nonebot.adapters.onebot.v11 import Message, MessageEvent +from nonebot.adapters.onebot.v11 import GroupMessageEvent +from ATRI.bot import Bot from ATRI.rule import to_bot from ATRI.service import Service -from ATRI.permission import MASTER, GROUP_ADMIN +from ATRI.utils import FileDealer +from ATRI.permission import ADMIN, MASTER from ATRI.message import MessageBuilder -BC_PATH = Path(".") / "data" / "plugins" / "broadcast" -BC_PATH.mkdir(parents=True, exist_ok=True) - -_BROADCAST_REPO = ( +__BROADCAST_REPO_FORMAT = ( MessageBuilder("广播报告:") .text("信息: {msg}") - .text("预计推送群:{len_g} 个") - .text("成功: {su_g} 失败: {fl_g}") - .text("失败群列表: {f_g}") + .text("预计推送群:{len_group} 个") + .text("成功: {success_group} 失败: {failed_group}") + .text("失败群列表:") + .text("{failed_group_list}") .done() ) -class BroadCast: - @staticmethod - def load_rej_list() -> list: - data = list() - path = BC_PATH / "rej_list.json" - if not path.is_file(): - with open(path, "w", encoding="utf-8") as w: - w.write(json.dumps(data)) - return data +async def __load_reject_list() -> list: + path = plugin.get_path() / "rej_list.json" + file = FileDealer(path) + if not path.is_file(): + await file.write(list()) + return list() + + return list(file.json()) - return json.loads(path.read_bytes()) - @classmethod - def store_rej_list(cls, data: list): - path = BC_PATH / "rej_list.json" - if not path.is_file(): - cls.load_rej_list() +async def __store_reject_list(data: list) -> None: + path = plugin.get_path() / "rej_list.json" + file = FileDealer(path) + if not path.is_file(): + await __load_reject_list() - with open(path, "w", encoding="utf-8") as w: - w.write(json.dumps(data)) + await file.write(json.dumps(data)) -bc = Service("广播").document("向bot所在的所有群发送信息").only_admin(True).rule(to_bot()) +plugin = Service("广播").document("向bot所在的所有群发送信息").rule(to_bot()) -caster = bc.on_command("广播", "向bot所在的所有群发送信息,有防寄延迟", aliases={"bc"}, permission=MASTER) +caster = plugin.on_command("广播", "向bot所在的群发送信息", aliases={"/bc"}, permission=MASTER) @caster.handle() @@ -62,73 +58,65 @@ async def _(matcher: Matcher, args: Message = CommandArg()): matcher.set_arg("bc_msg", args) [email protected]("bc_msg", "想要咱群发什么呢?") -async def _(bot: Bot, event: MessageEvent, s_msg: str = ArgPlainText("bc_msg")): - w_group = await bot.get_group_list() [email protected]("bc_msg", prompt="需要咱广播啥呢") +async def _(bot: Bot, event: MessageEvent, msg: str = ArgPlainText("bc_msg")): + group_list = await bot.get_group_list() + if not group_list: + await caster.finish("你还没让咱加入任何群呢...") - await bot.send(event, "正在推送...(每个群延迟1~3s)") + await caster.send("正在推送...(每群延迟2-4s)") - w_msg = Message(f"来自维护者的信息:\n{s_msg}") + bc_msg = Message(f"来自维护者的消息:\n{msg}") - su_g = list() - fl_g = list() - for i in w_group: + success_group = list() + failed_group = list() + for i in group_list: group_id = i["group_id"] try: - await bot.send_group_msg(group_id=group_id, message=w_msg) - su_g.append(group_id) + await bot.send_group_msg(group_id=group_id, message=bc_msg) + success_group.append(group_id) except Exception: - fl_g.append(group_id) + failed_group.append(group_id) - await asyncio.sleep(random.randint(2, 3)) + await asyncio.sleep(random.randint(2, 4)) - repo_msg = _BROADCAST_REPO.format( - msg=s_msg, - len_g=len(w_group), - su_g=su_g, - fl_g=fl_g, - f_g=", ".join(map(str, fl_g)), + result = __BROADCAST_REPO_FORMAT.format( + msg=bc_msg, + len_group=len(group_list), + success_group=len(success_group), + failed_group=len(failed_group), + failed_group_list=", ".join(map(str, failed_group)), ) - await caster.finish(Message(repo_msg)) + await caster.finish(Message(result)) -rej_broadcast = bc.on_command("拒绝广播", "拒绝来自开发者的广播推送", permission=GROUP_ADMIN) +reject_bc = plugin.on_command("拒绝广播", "拒绝来自维护者的信息推送", permission=ADMIN) -@rej_broadcast.handle() -async def _(bot: Bot, event: GroupMessageEvent): +@reject_bc.handle() +async def _(event: GroupMessageEvent): group_id = str(event.group_id) - rej_g = BroadCast().load_rej_list() - if group_id in rej_g: - await rej_broadcast.finish("本群已在推送黑名单内辣!") + reject_list = await __load_reject_list() + if group_id in reject_list: + await reject_bc.finish("本群拒绝过啦~") else: - rej_g.append(group_id) - BroadCast().store_rej_list(rej_g) - await rej_broadcast.finish("完成~!已将本群列入推送黑名单") - + reject_list.append(group_id) + await __store_reject_list(reject_list) + await reject_bc.finish("完成!") -@rej_broadcast.handle() -async def _(event: PrivateMessageEvent): - await rej_broadcast.finish("该功能仅在群聊中触发...") +accept_bc = plugin.on_command("接受广播", "接受来自维护者的信息推送", permission=ADMIN) -acc_broadcast = bc.on_command("接受广播", "接受来自开发者的广播推送", permission=GROUP_ADMIN) - -@acc_broadcast.handle() -async def _(bot: Bot, event: GroupMessageEvent): +@accept_bc.handle() +async def _(event: GroupMessageEvent): group_id = str(event.group_id) - rej_g = BroadCast().load_rej_list() - if group_id in rej_g: - rej_g.remove(group_id) - BroadCast().store_rej_list(rej_g) - await rej_broadcast.finish("已将本群移除推送黑名单!") + reject_list = await __load_reject_list() + if group_id in reject_list: + reject_list.remove(group_id) + await __store_reject_list(reject_list) + await accept_bc.finish("完成!") else: - await rej_broadcast.finish("本群不在推送黑名单里呢...") - - -@acc_broadcast.handle() -async def _(event: PrivateMessageEvent): - await rej_broadcast.finish("该功能仅在群聊中触发...") + await accept_bc.finish("本群未拒绝广播呢...") diff --git a/ATRI/plugins/help/data_source.py b/ATRI/plugins/help/data_source.py index 676cf7a..8c26023 100644 --- a/ATRI/plugins/help/data_source.py +++ b/ATRI/plugins/help/data_source.py @@ -88,11 +88,11 @@ class Helper: except Exception: return "请检查是否输入错误呢...@bot 帮助 [服务]" - service_name = data.get("service", "error") - service_docs = data.get("docs", "error") - service_enabled = data.get("enabled", True) + service_name = data.service + service_docs = data.docs + service_enabled = data.enabled - _service_cmd_list = list(data.get("cmd_list", {"error"})) + _service_cmd_list = list(data.cmd_list) service_cmd_list = "\n".join(map(str, _service_cmd_list)) repo = __SERVICE_INFO_FORMAT.format( @@ -110,7 +110,7 @@ class Helper: except Exception: return "请检查是否输入错误..." - cmd_list: dict = data["cmd_list"] + cmd_list: dict = data.cmd_list cmd_info = cmd_list.get(cmd, dict()) if not cmd_info: return "请检查命令是否输入错误..." diff --git a/ATRI/plugins/manage/data_source.py b/ATRI/plugins/manage/data_source.py index 29e2a69..e015805 100644 --- a/ATRI/plugins/manage/data_source.py +++ b/ATRI/plugins/manage/data_source.py @@ -147,8 +147,8 @@ class Manage: data = ServiceTools().load_service(service) except Exception: return False - data["enabled"] = is_enabled - ServiceTools().save_service(data, service) + data.enabled = is_enabled + ServiceTools().save_service(data.dict(), service) return True @staticmethod @@ -160,7 +160,7 @@ class Manage: data = ServiceTools().load_service(service) except Exception: return False - temp_list: list = data.get("disable_user", list()) + temp_list: list = data.disable_user if is_enabled: try: @@ -173,8 +173,8 @@ class Manage: temp_list.append(user_id) - data["disable_user"] = temp_list - ServiceTools().save_service(data, service) + data.disable_user = temp_list + ServiceTools().save_service(data.dict(), service) return True @staticmethod @@ -187,7 +187,7 @@ class Manage: data = ServiceTools().load_service(service) except Exception: return False - temp_list: list = data.get("disable_group", list()) + temp_list: list = data.disable_group if is_enabled: try: @@ -200,8 +200,8 @@ class Manage: temp_list.append(group_id) - data["disable_group"] = temp_list - ServiceTools().save_service(data, service) + data.disable_group = temp_list + ServiceTools().save_service(data.dict(), service) return True @staticmethod diff --git a/ATRI/plugins/repo.py b/ATRI/plugins/repo.py index dd67476..38bbe04 100644 --- a/ATRI/plugins/repo.py +++ b/ATRI/plugins/repo.py @@ -2,10 +2,10 @@ from random import choice from nonebot.matcher import Matcher from nonebot.params import CommandArg, ArgPlainText -from nonebot.adapters.onebot.v11 import Bot, MessageEvent, Message +from nonebot.adapters.onebot.v11 import MessageEvent, Message from nonebot.adapters.onebot.v11.helpers import Cooldown -from ATRI import conf +from ATRI.bot import Bot from ATRI.service import Service from ATRI.message import MessageBuilder @@ -45,10 +45,9 @@ async def _deal_repo( user_id = event.get_user_id() repo_0 = _REPO_FORMAT.format(user=user_id, msg=repo_msg) - for superuser in conf.BotConfig.superusers: - try: - await bot.send_private_msg(user_id=superuser, message=repo_0) - except Exception: - await reporter.finish("发送失败了呢...") + try: + await bot.send_to_master(repo_0) + except Exception: + await reporter.finish("发送失败了呢...") await reporter.finish("吾辈的心愿已由咱转告维护者!") diff --git a/ATRI/plugins/status/__init__.py b/ATRI/plugins/status/__init__.py index a8c532b..08e099c 100644 --- a/ATRI/plugins/status/__init__.py +++ b/ATRI/plugins/status/__init__.py @@ -8,10 +8,10 @@ from ATRI.utils.apscheduler import scheduler from .data_source import Status -stat = Service("状态").document("检查自身状态") +plugin = Service("状态").document("检查自身状态") -ping = stat.on_command("/ping", "检测bot简单信息处理速度") +ping = plugin.on_command("/ping", "检测bot简单信息处理速度") @ping.handle() @@ -19,7 +19,7 @@ async def _(): await ping.finish(Status.ping()) -status = stat.on_command("/status", "查看运行资源占用") +status = plugin.on_command("/status", "查看运行资源占用") @status.handle() diff --git a/ATRI/plugins/thesaurus/__init__.py b/ATRI/plugins/thesaurus/__init__.py index 556ddc9..5b6af44 100644 --- a/ATRI/plugins/thesaurus/__init__.py +++ b/ATRI/plugins/thesaurus/__init__.py @@ -13,7 +13,7 @@ from ATRI.utils import gen_random_str, MessageChecker from .data_source import ThesaurusManager -thes = ( +plugin = ( Service("词库管理") .document("支持模糊匹配、全匹配、正则的自定义回复~\n支持分群、全局管理, 支持群内投票添加") .main_cmd("/ts") @@ -21,7 +21,7 @@ thes = ( tm = ThesaurusManager() -add_item = thes.cmd_as_group("add", "添加本群词条,需审核或投票") +add_item = plugin.cmd_as_group("add", "添加本群词条,需审核或投票") @add_item.handle() @@ -97,7 +97,7 @@ async def _add_normal_item( await add_item.finish(result) -add_item_as_group_admin = thes.cmd_as_group( +add_item_as_group_admin = plugin.cmd_as_group( "add.g", "添加本群词条,仅限管理,无需审核", permission=ADMIN ) @@ -175,7 +175,7 @@ async def _add_group_item( await add_item_as_group_admin.finish(result) -add_item_for_global = thes.cmd_as_group("add.glo", "添加全局问答", permission=MASTER) +add_item_for_global = plugin.cmd_as_group("add.glo", "添加全局问答", permission=MASTER) @add_item_for_global.handle() @@ -232,7 +232,7 @@ async def _add_global_item( await add_item_for_global.finish(result) -vote = thes.cmd_as_group("v", "对本群内审核中的词条进行投票") +vote = plugin.cmd_as_group("v", "对本群内审核中的词条进行投票") @vote.handle() @@ -293,7 +293,7 @@ async def _get_voter_attitude( await vote.finish("好吧...") -del_item = thes.cmd_as_group("del", "删除本群词条", permission=ADMIN) +del_item = plugin.cmd_as_group("del", "删除本群词条", permission=ADMIN) @del_item.handle() @@ -313,7 +313,7 @@ async def _deal_del_normal_item( await del_item.finish(result) -del_global_item = thes.cmd_as_group("del.g", "删除全局词条", permission=MASTER) +del_global_item = plugin.cmd_as_group("del.g", "删除全局词条", permission=MASTER) @del_global_item.handle() @@ -329,7 +329,7 @@ async def _deal_del_global_item(item_id: str = ArgPlainText("ts_del_global_item_ await del_global_item.finish(result) -del_vote_item = thes.cmd_as_group("del.v", "删除本群处于投票中的词条", permission=ADMIN) +del_vote_item = plugin.cmd_as_group("del.v", "删除本群处于投票中的词条", permission=ADMIN) @del_vote_item.handle() @@ -352,7 +352,7 @@ async def _deal_del_vote_item( _LIST_SHOW_DATA: dict = dict() -list_item = thes.cmd_as_group("list", "查看本群词条") +list_item = plugin.cmd_as_group("list", "查看本群词条") @list_item.handle() @@ -430,7 +430,7 @@ async def _get_normal_item_more( await list_item.reject(output) -list_global_item = thes.cmd_as_group("list.g", "查看全局词条") +list_global_item = plugin.cmd_as_group("list.g", "查看全局词条") @list_global_item.handle() @@ -505,7 +505,7 @@ async def _get_global_item_more( await list_global_item.reject(output) -list_vote_item = thes.cmd_as_group("list.v", "查看本群待投票词条") +list_vote_item = plugin.cmd_as_group("list.v", "查看本群待投票词条") @list_vote_item.handle() @@ -583,7 +583,7 @@ async def _get_vote_item_more( await list_vote_item.reject(output) -audit_item = thes.cmd_as_group("audit", "审核本群处于投票中的词条", permission=ADMIN) +audit_item = plugin.cmd_as_group("audit", "审核本群处于投票中的词条", permission=ADMIN) @audit_item.handle() @@ -672,7 +672,7 @@ _ITEM_SHOW_FORMAT = ( ) -get_normal_item_info = thes.cmd_as_group("i", "查看本群的词条详情") +get_normal_item_info = plugin.cmd_as_group("i", "查看本群的词条详情") @get_normal_item_info.handle() @@ -718,7 +718,7 @@ async def _info_normal_get_item_info( await get_normal_item_info.finish(Message(result)) -get_global_item_info = thes.cmd_as_group("i.g", "查看全局的词条详情") +get_global_item_info = plugin.cmd_as_group("i.g", "查看全局的词条详情") @get_global_item_info.handle() @@ -760,7 +760,7 @@ async def _info_global_get_item_info(_id: str = ArgPlainText("info_global_item_i await get_global_item_info.finish(Message(result)) -get_vote_item_info = thes.cmd_as_group("i.v", "查看本群的待审核/投票的词条详情") +get_vote_item_info = plugin.cmd_as_group("i.v", "查看本群的待审核/投票的词条详情") @get_vote_item_info.handle() diff --git a/ATRI/plugins/twitter/__init__.py b/ATRI/plugins/twitter/__init__.py index 14c9ee8..a64e712 100644 --- a/ATRI/plugins/twitter/__init__.py +++ b/ATRI/plugins/twitter/__init__.py @@ -25,14 +25,16 @@ from ATRI.database import TwitterSubscription from .data_source import TwitterDynamicSubscriptor -_CONTENT_LIMIT: int = 0 +__CONTENT_LIMIT = 0 -twitter = Service("推特动态订阅").document("推特动态订阅助手~").permission(ADMIN).main_cmd("/td") sub = TwitterDynamicSubscriptor() -add_sub = twitter.cmd_as_group("add", "添加推主订阅") +plugin = Service("推特动态订阅").document("推特动态订阅助手~").permission(ADMIN).main_cmd("/td") + + +add_sub = plugin.cmd_as_group("add", "添加推主订阅") @add_sub.handle() @@ -52,7 +54,7 @@ async def _td_deal_add_sub( await add_sub.finish(result) -del_sub = twitter.cmd_as_group("del", "删除推主订阅") +del_sub = plugin.cmd_as_group("del", "删除推主订阅") @del_sub.handle() @@ -89,7 +91,7 @@ async def _td_deal_del_sub( await del_sub.finish(result) -get_sub_list = twitter.cmd_as_group("list", "获取本群推主订阅列表", permission=Permission()) +get_sub_list = plugin.cmd_as_group("list", "获取本群推主订阅列表", permission=Permission()) @get_sub_list.handle() @@ -115,7 +117,7 @@ async def _td_get_sub_list(event: GroupMessageEvent): await get_sub_list.finish(output) -limit_content = twitter.cmd_as_group("limit", "设置订阅内容字数限制", permission=MASTER) +limit_content = plugin.cmd_as_group("limit", "设置订阅内容字数限制", permission=MASTER) @limit_content.handle() @@ -133,9 +135,9 @@ async def _td_deal_limit( if not re.match(patt, _limit): await limit_content.reject("请键入阿拉伯数字:") - global _CONTENT_LIMIT - _CONTENT_LIMIT = int(_limit) - await limit_content.finish(f"成功!订阅内容展示将限制在 {_CONTENT_LIMIT} 以内!") + global __CONTENT_LIMIT + __CONTENT_LIMIT = int(_limit) + await limit_content.finish(f"成功!订阅内容展示将限制在 {__CONTENT_LIMIT} 以内!") tq = asyncio.Queue() @@ -143,7 +145,7 @@ tq = asyncio.Queue() class TwitterDynamicChecker(BaseTrigger): def get_next_fire_time(self, previous_fire_time, now): - conf = twitter.load_service("推特动态订阅") + conf = plugin.load_service("推特动态订阅") if conf.get("enabled"): return now @@ -205,7 +207,7 @@ async def _check_td(): "name": info["name"], "content": info["status"]["text"], } - content = sub.gen_output(data, _CONTENT_LIMIT) + content = sub.gen_output(data, __CONTENT_LIMIT) try: await _bot.send_group_msg(group_id=m.group_id, message=content) diff --git a/ATRI/plugins/util/__init__.py b/ATRI/plugins/util/__init__.py index 26ef570..216c916 100644 --- a/ATRI/plugins/util/__init__.py +++ b/ATRI/plugins/util/__init__.py @@ -11,10 +11,10 @@ from ATRI.service import Service from .data_source import Encrypt, Yinglish, roll_dice -utils = Service("小工具").document("非常实用(?)的工具们!") +plugin = Service("小工具").document("非常实用(?)的工具们!") -roll = utils.on_command("/roll", "骰子~用法: 1d10 或 2d10+2d10+more") +roll = plugin.on_command("/roll", "骰子~用法: 1d10 或 2d10+2d10+more") @roll.handle() @@ -35,7 +35,7 @@ async def _deal_roll(roll_msg: str = ArgPlainText("roll")): await roll.finish(msg) -encrypt_en = utils.on_command("加密", "我们之间的秘密❤") +encrypt_en = plugin.on_command("加密", "我们之间的秘密❤") @encrypt_en.handle() @@ -55,7 +55,7 @@ async def _deal_en(text: str = ArgPlainText("encr_en_text")): await encrypt_en.finish(result) -encrypt_de = utils.on_command("解密", "解开我们的秘密❤") +encrypt_de = plugin.on_command("解密", "解开我们的秘密❤") @encrypt_de.handle() @@ -72,7 +72,7 @@ async def _deal_de(text: str = ArgPlainText("encr_de_text")): await encrypt_de.finish(result) -sepi = utils.on_command("涩批一下", "将正常的句子涩一涩~") +sepi = plugin.on_command("涩批一下", "将正常的句子涩一涩~") _sepi_flmt_notice = choice(["涩批爬", "✌🥵✌"]) |