diff options
author | Kyomotoi <[email protected]> | 2021-07-31 16:21:23 +0800 |
---|---|---|
committer | Kyomotoi <[email protected]> | 2021-07-31 16:21:23 +0800 |
commit | 1d54ec291f2c25cc01f24d0d0163d0bf889457fd (patch) | |
tree | 251004df3f659f79b96b9abce59cc1140e24498c /ATRI/plugins/util | |
parent | beb16b60fe4d8586436f5ada5fdabb6db23f5a29 (diff) | |
parent | 36d26d1dc61c36b4601aaf75e148060c5bcb98a7 (diff) | |
download | ATRI-1d54ec291f2c25cc01f24d0d0163d0bf889457fd.tar.gz ATRI-1d54ec291f2c25cc01f24d0d0163d0bf889457fd.tar.bz2 ATRI-1d54ec291f2c25cc01f24d0d0163d0bf889457fd.zip |
Merge branch 'main' of https://github.com/Kyomotoi/ATRI into main
Diffstat (limited to 'ATRI/plugins/util')
-rw-r--r-- | ATRI/plugins/util/__init__.py | 20 | ||||
-rw-r--r-- | ATRI/plugins/util/data_source.py | 12 |
2 files changed, 22 insertions, 10 deletions
diff --git a/ATRI/plugins/util/__init__.py b/ATRI/plugins/util/__init__.py index 1e31bff..541ca1b 100644 --- a/ATRI/plugins/util/__init__.py +++ b/ATRI/plugins/util/__init__.py @@ -10,6 +10,7 @@ from .data_source import Encrypt, Utils, Yinglish roll = Utils().on_command("/roll", "骰子~用法:1d10 或 2d10+2d10+more") + @roll.args_parser # type: ignore async def _get_roll(bot: Bot, event: MessageEvent, state: T_State): msg = str(event.message).strip() @@ -21,26 +22,29 @@ async def _get_roll(bot: Bot, event: MessageEvent, state: T_State): else: state["roll"] = msg + @roll.handle() async def _ready_roll(bot: Bot, event: MessageEvent, state: T_State): msg = str(event.message).strip() if msg: state["roll"] = msg + @roll.got("roll", "参数呢?!格式:1d10 或 2d10+2d10+more") async def _deal_roll(bot: Bot, event: MessageEvent, state: T_State): text = state["roll"] match = re.match(r"^([\dd+\s]+?)$", text) - + if not match: await roll.finish("阿——!参数不对!格式:1d10 或 2d10+2d10+more") - + msg = Utils().roll_dice(text) await roll.finish(msg) encrypt_en = Utils().on_command("加密", "我们之前的秘密❤") + @encrypt_en.args_parser # type: ignore async def _get_encr_en_text(bot: Bot, event: MessageEvent, state: T_State): msg = str(event.message).strip() @@ -52,12 +56,14 @@ async def _get_encr_en_text(bot: Bot, event: MessageEvent, state: T_State): else: state["encr_en_text"] = msg + @encrypt_en.handle() async def _ready_en(bot: Bot, event: MessageEvent, state: T_State): msg = str(event.message).strip() if msg: state["encr_en_text"] = msg + @encrypt_en.got("encr_en_text", "内容呢?!") async def _deal_en(bot: Bot, event: MessageEvent, state: T_State): text = state["encr_en_text"] @@ -71,6 +77,7 @@ async def _deal_en(bot: Bot, event: MessageEvent, state: T_State): encrypt_de = Utils().on_command("解密", "解开我们的秘密❤") + @encrypt_de.args_parser # type: ignore async def _get_encr_de_text(bot: Bot, event: MessageEvent, state: T_State): msg = str(event.message).strip() @@ -82,12 +89,14 @@ async def _get_encr_de_text(bot: Bot, event: MessageEvent, state: T_State): else: state["encr_de_text"] = msg + @encrypt_de.handle() async def _ready_de(bot: Bot, event: MessageEvent, state: T_State): msg = str(event.message).strip() if msg: state["encr_de_text"] = msg + @encrypt_de.got("encr_de_text", "内容呢?!") async def _deal_de(bot: Bot, event: MessageEvent, state: T_State): text = state["encr_de_text"] @@ -101,6 +110,7 @@ sepi = Utils().on_command("涩批一下", "将正常的句子涩一涩~") _sepi_flmt = FreqLimiter(3) _sepi_flmt_notice = ["涩批爬", "✌🥵✌"] + @sepi.args_parser # type: ignore async def _get_sepi(bot: Bot, event: MessageEvent, state: T_State): msg = str(event.message).strip() @@ -112,23 +122,25 @@ async def _get_sepi(bot: Bot, event: MessageEvent, state: T_State): else: state["sepi_text"] = msg + @sepi.handle() async def _ready_sepi(bot: Bot, event: MessageEvent, state: T_State): user_id = event.get_user_id() if not _sepi_flmt.check(user_id): await sepi.finish(choice(_sepi_flmt_notice)) - + msg = str(event.message).strip() if msg: state["sepi_text"] = msg + @sepi.got("sepi_text", "内容呢?!") async def _deal_sepi(bot: Bot, event: MessageEvent, state: T_State): user_id = event.get_user_id() msg = state["sepi_text"] if len(msg) < 4: await sepi.finish("这么短?涩不起来!") - + result = Yinglish.deal(msg, random()) _sepi_flmt.start_cd(user_id) await sepi.finish(result) diff --git a/ATRI/plugins/util/data_source.py b/ATRI/plugins/util/data_source.py index a6afdf3..7b36ebe 100644 --- a/ATRI/plugins/util/data_source.py +++ b/ATRI/plugins/util/data_source.py @@ -14,10 +14,9 @@ __doc__ = """ class Utils(Service): - def __init__(self): Service.__init__(self, "小工具", __doc__, rule=is_in_service("小工具")) - + @staticmethod def roll_dice(par: str) -> str: result = 0 @@ -49,13 +48,14 @@ class Utils(Service): result = f"{par}=({proc})={result}" return result - + + class Encrypt(Utils): """ 某nb改的(逃 总之就是非常nb """ - + cr = "ĀāĂ㥹ÀÁÂÃÄÅ" cc = "ŢţŤťŦŧṪṫṬṭṮṯṰṱ" cn = "ŔŕŘřṘṙŖŗȐȑȒȓṚṛṜṝṞṟɌɍⱤɽᵲᶉɼɾᵳʀRr" @@ -186,9 +186,9 @@ class Encrypt(Utils): return self._decodeBytes(s).decode(encoding) except UnicodeDecodeError: raise ValueError("Decoding failed") - + + class Yinglish(Utils): - @staticmethod def _to_ying(x, y, ying) -> str: if random() > ying: |