summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ATRI/plugins/anime_search.py12
-rw-r--r--ATRI/plugins/anti_effort/__init__.py6
-rw-r--r--ATRI/plugins/auto_tietie.py24
-rw-r--r--ATRI/plugins/bilibili_dynamic/__init__.py10
-rw-r--r--ATRI/plugins/broadcast.py142
-rw-r--r--ATRI/plugins/help/data_source.py10
-rw-r--r--ATRI/plugins/manage/data_source.py16
-rw-r--r--ATRI/plugins/repo.py13
-rw-r--r--ATRI/plugins/status/__init__.py6
-rw-r--r--ATRI/plugins/thesaurus/__init__.py30
-rw-r--r--ATRI/plugins/twitter/__init__.py24
-rw-r--r--ATRI/plugins/util/__init__.py10
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(["涩批爬", "✌🥵✌"])