1
1
from random import choice
2
- import os
3
2
from pathlib import Path
4
3
from re import match
5
- import nonebot
6
- from nonebot import on_command , on_regex
7
- from nonebot .adapters .onebot .v11 import Bot , GroupMessageEvent , GROUP
4
+ from typing import Optional
5
+ from nonebot .matcher import Matcher
6
+ from nonebot import get_driver , on_regex
7
+ from nonebot .adapters .onebot .v11 import MessageEvent
8
8
try :
9
9
import ujson as json
10
10
except ModuleNotFoundError :
11
11
import json
12
12
13
- global_config = nonebot . get_driver ().config
13
+ global_config = get_driver ().config
14
14
if not hasattr (global_config , 'crazy_path' ):
15
- CRAZY_PATH = os . path . join ( os . path . dirname ( __file__ ), ' resource' )
15
+ CRAZY_PATH = Path ( __file__ ). parent / " resource"
16
16
else :
17
17
CRAZY_PATH = global_config .crazy_path
18
18
19
- __crazy_vsrsion__ = 'v0.2.2'
20
- plugin_notes = f'''
21
- KFC疯狂星期四 { __crazy_vsrsion__ }
19
+ # 插件用法简单,无需帮助
20
+ __crazy_thursday_vsrsion__ = 'v0.2.3'
21
+ __crazy_thursday_notes__ = f'''
22
+ KFC疯狂星期四 { __crazy_thursday_vsrsion__ }
22
23
[疯狂星期X] 随机输出KFC疯狂星期四文案
23
24
[狂乱X曜日] 随机输出KFC疯狂星期四文案''' .strip ()
24
25
25
- plugin_help = on_command ('疯狂星期四帮助' , permission = GROUP , priority = 15 , block = True )
26
- crazy = on_regex (r'疯狂星期\S' , permission = GROUP , priority = 15 , block = True )
27
- crazy_jp = on_regex (r'狂乱\S曜日' , permission = GROUP , priority = 15 , block = True )
26
+ crazy = on_regex (r'疯狂星期\S' , priority = 15 )
27
+ crazy_jp = on_regex (r'狂乱\S曜日' , priority = 15 )
28
28
29
- @plugin_help .handle ()
30
- async def _ (bot : Bot , event : GroupMessageEvent ):
31
- await plugin_help .finish (plugin_notes )
29
+ @crazy .handle ()
30
+ async def _ (matcher : Matcher , event : MessageEvent ):
31
+ await matcher .finish (rndKfc (event .get_plaintext ()))
32
+
33
+ @crazy_jp .handle ()
34
+ async def _ (matcher : Matcher , event : MessageEvent ):
35
+ await matcher .finish (rndKfc (event .get_plaintext (), True ))
32
36
33
- def rndKfc (msg , jp = False ):
37
+ def rndKfc (msg : str , jp : Optional [ bool ] = False ):
34
38
day = (match (r'狂乱(\S)曜日' , msg ) if jp else match (r'疯狂星期(\S)' , msg .replace ('天' , '日' ))).group (1 )
35
39
tb = ['月' , '一' , '火' , '二' , '水' , '三' , '木' , '四' , '金' , '五' , '土' , '六' , '日' , '日' ]
36
40
if day not in tb :
@@ -42,12 +46,4 @@ def rndKfc(msg, jp = False):
42
46
with open (path , 'r' , encoding = 'utf-8' ) as f :
43
47
kfc = json .load (f ).get ('post' )
44
48
# 随机选取数组中的一个对象
45
- return choice (kfc ).replace ('星期四' , '星期' + tb [idx + 1 ]).replace ('周四' , '周' + tb [idx + 1 ]).replace ('木曜日' , tb [idx ] + '曜日' )
46
-
47
- @crazy .handle ()
48
- async def _ (bot : Bot , event : GroupMessageEvent ):
49
- await crazy .finish (rndKfc (event .get_plaintext ()))
50
-
51
- @crazy_jp .handle ()
52
- async def _ (bot : Bot , event : GroupMessageEvent ):
53
- await crazy_jp .finish (rndKfc (event .get_plaintext (), True ))
49
+ return choice (kfc ).replace ('星期四' , '星期' + tb [idx + 1 ]).replace ('周四' , '周' + tb [idx + 1 ]).replace ('木曜日' , tb [idx ] + '曜日' )
0 commit comments