|
| 1 | +import ast |
| 2 | +import random |
1 | 3 | import re |
2 | 4 | from nonebot.adapters.onebot.v11 import MessageSegment,GroupMessageEvent,Event, PokeNotifyEvent, NotifyEvent, PrivateMessageEvent, PrivateMessageEvent, GroupIncreaseNoticeEvent, GroupRequestEvent |
3 | 5 | from nonebot import on_message, on_notice, on_request |
@@ -240,11 +242,11 @@ async def sendtext(a, event, data): |
240 | 242 | if match: |
241 | 243 | func_name, param = match.groups() |
242 | 244 | first = await my_function(func_name, param, event,data) |
243 | | - ans += first |
| 245 | + ans += str(first) |
244 | 246 | else: |
245 | 247 | ans += value.replace('$', '') |
246 | 248 | else: |
247 | | - ans = a |
| 249 | + ans = str(a) |
248 | 250 | a = MessageSegment.text(ans.replace('\\n', '\n')) |
249 | 251 | return a |
250 | 252 |
|
@@ -431,6 +433,26 @@ def is_quote(s): |
431 | 433 | f"<yellow>错误!</yellow>参数:<blue>{s}</blue><red> 似乎未进行元素统一</red> 请以 <green>[1,2]</green> 或 <green>['1','2']</green> 的形式传入参数" |
432 | 434 | ) |
433 | 435 | return False |
| 436 | + |
| 437 | +async def getrandom(a, event, data): |
| 438 | + """ |
| 439 | + 用于执行随机数生成和列表随机取元素\n |
| 440 | + :param a: 传入$函数 参数$里面的参数 |
| 441 | + :param event: 事件对象 |
| 442 | + :param data: 传入正则匹配到的字符串 |
| 443 | + """ |
| 444 | + match_1 = re.search(r'^(\d+)+-+(\d+)$',str(a)) |
| 445 | + if match_1: |
| 446 | + first, second = match_1.groups() |
| 447 | + try: |
| 448 | + ans = random.randint(int(first), int(second)) |
| 449 | + return ans |
| 450 | + except: |
| 451 | + return 0 |
| 452 | + elif type(a) == list or type(a := ast.literal_eval(a)) == list: |
| 453 | + return random.choice(a) |
| 454 | + else: |
| 455 | + return 0 |
434 | 456 |
|
435 | 457 | async def asif(s: str, event, data) -> bool: |
436 | 458 | """ |
|
0 commit comments