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
|
import re
from nonebot.adapters.cqhttp import Bot, MessageEvent
from ATRI.service import Service as sv
from ATRI.rule import is_in_service
from .data_source import roll_dice, Encrypt
__doc__ = """
roll一下
权限组:所有人
用法:
/roll (int)d(int)+...
补充:
int: 阿拉伯数字
示例:
/roll 1d10+10d9+4d5+2d3
"""
roll = sv.on_command(
cmd="/roll",
docs=__doc__,
rule=is_in_service('roll')
)
@roll.handle()
async def _roll(bot: Bot, event: MessageEvent, state: dict) -> None:
args = str(event.message).strip()
if args:
state['resu'] = args
@roll.got("resu", prompt="roll 参数不能为空~!\ndemo:1d10 或 2d10+2d10")
async def _(bot: Bot, event: MessageEvent, state: dict) -> None:
resu = state['resu']
match = re.match(r'^([\dd+\s]+?)$', resu)
if not match:
await roll.finish("请输入正确的参数!!\ndemo:1d10 或 2d10+2d10")
await roll.finish(roll_dice(resu))
__doc__ = """
加密传输(bushi
权限组:所有人
用法:
/enc e,d msg
补充:
e,d:对应 编码/解码
msg: 目标内容
示例:
/enc e アトリは高性能ですから!
"""
encrypt = sv.on_command(
cmd="/enc",
docs=__doc__,
rule=is_in_service('enc')
)
@encrypt.handle()
async def _encrypt(bot: Bot, event: MessageEvent) -> None:
msg = str(event.message).split(' ')
_type = msg[0]
s = msg[1]
e = Encrypt()
if _type == "e":
await encrypt.finish(e.encode(s))
elif _type == "d":
await encrypt.finish(e.decode(s))
else:
await encrypt.finish('请检查输入~!')
|