Skip to content

Commit 448aac6

Browse files
committed
新增随机数函数,优化sendat
1 parent b6f6207 commit 448aac6

File tree

4 files changed

+31
-4
lines changed

4 files changed

+31
-4
lines changed

README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,10 @@ $senduserimage QQ$
143143

144144

145145
### 更新日志
146+
0.1.11
147+
- 新增获取随机数的函数
148+
- 优化sendat的范围,参数为all时可艾特全体了
149+
146150
0.1.10
147151
- 修复了在指令为戳.*时会与戳一戳事件标识产生奇妙的化学反应而导致报错的问题
148152
- 新增入群申请的函数

nonebot_plugin_SimpleToWrite/__init__.py

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import ast
2+
import random
13
import re
24
from nonebot.adapters.onebot.v11 import MessageSegment,GroupMessageEvent,Event, PokeNotifyEvent, NotifyEvent, PrivateMessageEvent, PrivateMessageEvent, GroupIncreaseNoticeEvent, GroupRequestEvent
35
from nonebot import on_message, on_notice, on_request
@@ -240,11 +242,11 @@ async def sendtext(a, event, data):
240242
if match:
241243
func_name, param = match.groups()
242244
first = await my_function(func_name, param, event,data)
243-
ans += first
245+
ans += str(first)
244246
else:
245247
ans += value.replace('$', '')
246248
else:
247-
ans = a
249+
ans = str(a)
248250
a = MessageSegment.text(ans.replace('\\n', '\n'))
249251
return a
250252

@@ -431,6 +433,26 @@ def is_quote(s):
431433
f"<yellow>错误!</yellow>参数:<blue>{s}</blue><red> 似乎未进行元素统一</red> 请以 <green>[1,2]</green> 或 <green>['1','2']</green> 的形式传入参数"
432434
)
433435
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
434456

435457
async def asif(s: str, event, data) -> bool:
436458
"""

nonebot_plugin_SimpleToWrite/teach/教学文件/变量大全/文字.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
$test 执行(非任意参数,该例子的指令为执行(.+)))$ 作用:一次性执行变量(不可套娃且每个函数也是要提行,不然无法解析)
44

5-
$sendat 参数('QQ'或指定QQ号)$ 作用:艾特对象
5+
$sendat QQ(或指定QQ号或all)$ 作用:艾特对象
66

77
$sendreply 任意参数$ 作用:回复指令
88

@@ -50,6 +50,7 @@ $getat n$ 作用:获取艾特对象的QQ号(返回正则后第n+1个艾特
5050

5151
$sendpoke QQ(或指定QQ号)$ 作用:发送对群内指定QQ号的戳一戳(llob最新版本可支持主动戳一戳)
5252

53+
$getrandom x-y (或者[1,2,22,454])$ 作用:随机数生成,x-y为整数随机数范围,[1,2,22,454]为随机列表,返回随机列表中的随机值(如果要发送值,请用sendtext发送)
5354

5455
##仅对要进行特殊说明的函数做单独讲解
5556
作者:STES沐霖韵

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "nonebot_plugin_SimpleToWrite"
3-
version = "0.1.10"
3+
version = "0.1.11"
44
description = "为0编程基础的小白提供便捷的功能编写"
55
authors = [
66
{ name="STESmly", email="STESmly@mail.com" },

0 commit comments

Comments
 (0)