summaryrefslogtreecommitdiff
path: root/ATRI/plugins/util
diff options
context:
space:
mode:
Diffstat (limited to 'ATRI/plugins/util')
-rw-r--r--ATRI/plugins/util/__init__.py20
-rw-r--r--ATRI/plugins/util/data_source.py12
2 files changed, 10 insertions, 22 deletions
diff --git a/ATRI/plugins/util/__init__.py b/ATRI/plugins/util/__init__.py
index 541ca1b..1e31bff 100644
--- a/ATRI/plugins/util/__init__.py
+++ b/ATRI/plugins/util/__init__.py
@@ -10,7 +10,6 @@ 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()
@@ -22,29 +21,26 @@ 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()
@@ -56,14 +52,12 @@ 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"]
@@ -77,7 +71,6 @@ 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()
@@ -89,14 +82,12 @@ 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"]
@@ -110,7 +101,6 @@ 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()
@@ -122,25 +112,23 @@ 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 7b36ebe..a6afdf3 100644
--- a/ATRI/plugins/util/data_source.py
+++ b/ATRI/plugins/util/data_source.py
@@ -14,9 +14,10 @@ __doc__ = """
class Utils(Service):
+
def __init__(self):
Service.__init__(self, "小工具", __doc__, rule=is_in_service("小工具"))
-
+
@staticmethod
def roll_dice(par: str) -> str:
result = 0
@@ -48,14 +49,13 @@ 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: