Merge remote-tracking branch 'origin/main'

This commit is contained in:
远野千束 2024-06-16 02:02:25 +08:00
commit 8ac53970a3
2 changed files with 28 additions and 4 deletions

View File

@ -9,14 +9,23 @@ tag:
## **轻雪函数**
轻雪函数 Liteyuki Function 是轻雪的一个功能它允许你在轻雪中运行一些自定义的由数据驱动的命令类似于Minecraft的mcfunction
轻雪函数 Liteyuki Function 是轻雪的一个功能它允许你在轻雪中运行一些自定义的由数据驱动的命令类似于Minecraft的mcfunction.
### **函数文件**
函数文件放在资源包的`functions`目录下,文件名以`.mcfunction` `.lyfunction` `.lyf`结尾,例如`test.mcfunction`,文件内容为一系列的命令,每行一个命令,支持单行注释`#`,例如:
```shell
cmd echo hello
# 在发信器输出"hello world"
cmd echo hello world
# 如果你想同时输出多行内容可以尝试换行符(Python格式)
cmd echo hello world\nLiteyuki bot
```
也支持句末注释,例如:
```shell
cmd echo hello world # 输出"hello world"
```
### **命令文档**
@ -33,7 +42,7 @@ await # 等待所有异步任务结束若函数中启动了其他task
```
### **示例**
#### **示例**
```shell
# 疯狂戳好友
@ -45,4 +54,18 @@ api friend_poke user_id=user_id
sleep 0.2
nohup function poke
await
```
```
### **API**
理论上所有基于onebotv11的api都可调用不同Adapter api也有差别.
[Onebot v11 API文档](https://283375.github.io/onebot_v11_vitepress/api/index.html)
### **结束关键字**
由于Liteyukibot基于异步运行, 所以在编写lyfunction时也要注意异步的调用避免出现"单线程走到底"的情况是效率提升的关键.
`await` 异步任务结束关键字用于结束当前已完成function的执行
> 但若出现非单function的情况有一个task任务没有完成而await被执行了那么当前所有函数包的task都会被截停销毁

View File

@ -32,6 +32,7 @@ async def _(result: Arparma, event: T_MessageEvent):
ulang = Language(get_user_id(event))
# 获取参数
# 你也别问我为什么要quote两次问就是CRT官网的锅只有这样才可以运行
start = quote(quote(result.other_args.get("start")))
end = quote(quote(result.other_args.get("end")))