1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
|
import re
from random import choice, random
from nonebot.typing import T_State
from nonebot.adapters.cqhttp import Bot, MessageEvent
from ATRI.utils.limit import FreqLimiter
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()
quit_list = ["算了", "罢了"]
if msg in quit_list:
await roll.finish("好吧...")
if not msg:
await roll.reject("参数呢?!格式:1d10 或 2d10+2d10+more")
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()
quit_list = ["算了", "罢了"]
if msg in quit_list:
await roll.finish("好吧...")
if not msg:
await roll.reject("内容呢?!")
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"]
is_ok = len(text)
if is_ok < 10:
await encrypt_en.reject("太短不加密!")
en = Encrypt()
result = en.encode(text)
await encrypt_en.finish(result)
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()
quit_list = ["算了", "罢了"]
if msg in quit_list:
await encrypt_de.finish("好吧...")
if not msg:
await encrypt_de.reject("内容呢?!")
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"]
en = Encrypt()
result = en.decode(text)
await encrypt_de.finish(result)
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()
quit_list = ["算了", "罢了", "取消"]
if msg in quit_list:
await sepi.finish("好吧...")
if not msg:
await sepi.reject("内容呢?!")
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)
|