repeat-joker
secondary
目前正在努力ing…
前言
使用《署名—非商业性使用—相同方式共享4.0 协议国际版》(CC BY-NC-SA 4.0)进行授权https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode.zh-Hans
WARNING ⚠️
提供了dice解决复读问题的一种方法思路,但不免会有诸多不便。
采用读写json方式。
后记
1 | msg_order={} |
secondary
目前正在努力ing…
使用《署名—非商业性使用—相同方式共享4.0 协议国际版》(CC BY-NC-SA 4.0)进行授权https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode.zh-Hans
WARNING ⚠️
提供了dice解决复读问题的一种方法思路,但不免会有诸多不便。
采用读写json方式。
1 | msg_order={} |
一个失败品…
使用《署名—非商业性使用—相同方式共享 4.0 协议国际版》(CC BY-NC-SA 4.0)进行授权。
https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode.zh-Hans
非常无聊,于是用正则以及dice的lua回复写了一个调用ai实例,总结了两个ai,青云客与思知。
使用方法:
调用青云客:setUserConf(getDiceQQ(),’ai’,1)
调用思知:setUserConf(getDiceQQ(),’ai’,2)
1 | .reply set |
reborn
高考成绩出来了,重开吧,摆烂!
使用《署名—非商业性使用—相同方式共享 4.0 协议国际版》(CC BY-NC-SA 4.0)进行授权。
https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode.zh-Hans
reborn
首先感谢 @Natsume 随机国家
算起来Natsume的这个帖子已经两年整了。
ta说这似乎没什么用,于是我便突发奇想昨天晚上熬夜整了个重开模拟器。
reborn v1.2 fix.zip
1 | --------------------------------------------------------------------- |
secondary
目前正在努力ing…
利用 error()
与 pcall()
进行lua自定义报错
使用《署名—非商业性使用—相同方式共享4.0 协议国际版》(CC BY-NC-SA 4.0)进行授权https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode.zh-Hans
作者:简律纯
联系方式:qq:A2C29K9
更新日期:2022/5/28
WARNING ⚠️
本帖是作为利用basicFunction自带的chat指令并结合修改chat指令内tryCatch部分的函数名来进行报错排查的示例帖。
简言之让报错更好看一点,更容易理解一点。
taboo前些日子(好久了)评论了basicFunction 的tryCatch函数,他说,
骰娘自检可以安排到行程上了
虽然和写tryCatch的初衷完全不一样,但是返校后在考试过程中突然发现这会是一个很不错的想法,于是单独写一篇帖子介绍它。
首先我们在basicFunction的chat指令函数里的tryCatch部分写上这些代码,图片中的抓取报错函数示例是 read_file()
函数,输入的参数是path,文件路径;返回值为文件内容。
这段代码的意思是如果报错信息里有nil这个字符串那返回自定义报错回复内容,否则返回read_file函数的返回内容。
接着输入 #basicFunction:tryCatch
,不带任何参数,它等效于 #basicFunction:read_file
接着的确报错了,但是因为 read_file()
函数的path参数为空,报错信息中有nil字符串,于是被替换成了预先写好的自定义报错回复内容。
接着我使用 #basicFunction:read_file myDiary.txt
查看了此文件,由于这个文件并不存在,于是krypton返回了read_file里写好的自定义回复。
那么我们使用 #basicFunction:write_file myDiary.txt [内容]
来创建这个文件并且写下点什么烂人诅咒
已经写好了此文件,我们再用 #basicFunction:read_file myDiary.txt
查看一下,来确保有此文件并且写入了内容。
一切顺利,这时候我们再输入正确的指令来试试抓取报错
因为这次输入了参数,即 #basicFunction:tryCatch myDiary.txt
等效于 #basicFunction:read_file myDiary.txt
,所以顺理成章的返回了里面的文本内容。
附上tryCatch函数的内容,如下:
1 | -----------------------------------------------------[15]: |
secondary
NOTICE
2.0 或许在明天就出了?
说句实话在昨天2.0也只是个创建了一个空文件夹的存在,但是今天突然就写完了,并且写得彻彻底底的,总之能用便是了!
只需要两步即可完成操作
在开始之前,你需要对自己家的骰娘输入以下命,其中,require "catchError"
是必须的库,其他可根据需要添加。
1 | .reply set |
好的,目前你已经完成了三分之二了!
接下来让我们完成最后一步操作。
1.下载catchError
2.将lua库丢进Diceki\lua\
文件夹下
3.在聊天窗口使用.system load
命令
WARNING
这是关于chat-ActObjectValue的隐藏更新页面,你不应该在这里进行任何操作!
1 | *FINAL VERSION |
1 | *Ver:2.0 |
使用《署名—非商业性使用—相同方式共享 4.0 协议国际版》(CC BY-NC-SA 4.0)进行授权
https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode.zh-Hans
许可协议:CC BY-NC-SA 4.0
声明:本脚本适合有一定脚本编写基础的master使用,所造成的一切损失作者概不负责。
WARNING
1.0已不再更新,或许你可以期待一下2.0?
关键词:
#set
#get
#help log
#help chataov
chat-ActObjectValue.zip
在测试时总会遇到要重置或获取或设置某个用户配置的情况,但苦于没有这方面的指令,所以写了一个,目前可以在聊天窗口中设置用户全局配置或当日配置。
当然,你也可以使用更多花里胡哨的东西。
清 空 可 使 用 set nil
1.赋予所有人权限:#setUserConf <DiceQQ> <chat_perm> 1
2.赋予单个用户权限:.user trust <用户> 4
1.查看|修改 jrrp:#get|setUserToday <用户> <jrrp>
2.查看|修改 用户信任trust:#get|setUserConf <用户> <trust>
3.查看|修改 群配置rc房规:#get|setGroupConf <群号> <rc房规> <参数>
4.清空/重置 配置:#setUserConf 2753364619 好感度 nil
5.8重点更新了记录的查看方式,新增了 start_crrt
配置。
使用命令 #setUserConf <骰娘QQ> start_crrt <值>
进行更改,其更改将会改变 #help log
的返回内容:start_crrt
默认为0,这时查看日志会显示最新的一条。
当 start_crrt
修改为1至5范围内的数字,会显示最近的2至6条记录。
设置范围6至30时会显示对应数量的记录,但不是在群里,bot会私发给指令发出者。
1.解压安装包
2.将安装包内文件与文件夹全部放入plugin文件夹
3.使用命令.system load
使用《署名—非商业性使用—相同方式共享 4.0 协议国际版》(CC BY-NC-SA 4.0)进行授权
https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode.zh-Hans
作者:简律纯
联系方式:qq:A2C29K9
更新日期:2022/5/15
关键词:#basicFunction:
basicFunction 的定位非常清晰,那就是作为脚本制作者的配置扩展,通过在lua脚本中 require "basicFunction"
使用其中的函数。
basicFunction-alpha(2).zip
衷心希望大家指正其中的错误和不足,促使 basicFunction 不断进步完善
——开始之前的一些必要工作。
1.下载 _basicFunction_并解压得到 _basicFunction.lua_文件
2.将解压得到的 _basicFunction.lua_文件放入 DiceQQ\plugin\文件夹
3.在确保前两步万无一失的情况下回到聊天窗口使用 .system load
命令重载 _basicFunction_脚本
看到这里,你已经成功安装完成了!接下来让我们快速开始吧!
为了方便测试函数,简律纯特别的写了一个聊天窗口指令,用于测试这些函数
#basicFunction:help
这是一条用于获取帮助与更新的指令,不建议在群聊中使用。
#basicFunction:table_draw
#basicFunction:num_or_string
#basicFunction:getAtQQ
#basicFunction:write_file
#basicFunction:read_file
#basicFunction:filter_spec_chars
#basicFunction:getFileName
#basicFunction:getFileName2
#basicFunction:utfStrLen
#basicFunction:MD5
#basicFunction:table_exists
#basicFunction:encodeBase64
math.pow
所以把写好的解密删了#basicFunction:string.split
#basicFunction:string.count
#basicFunction:string.width
#basicFunction:string.tocenter
#basicFunction:string.toleft
#basicFunction:string.toright
#basicFunction:string.ltrim
#basicFunction:string.rtrim
#basicFunction:string.trim
#basicFunction:ranStr
#basicFunction:tryCatch
错误的错误就是没有错误(好耶!我又说了一句凡人名言)
那么,换成别的函数还会如此吗?
这里以 bubbleSort 函数为例因为很快就要讲到ta了
很好,果然不负众望的报错并让krypton拦截了
那么输入参数会发生什么?
…to be continue
#basicFunction:bubbleSort
tab = {3, 4, 61, 7, 5, 8, 56, 14, 11, 10} return bubbleSort(tab)
#basicFunction:load
#basicFunction:sortTable_delRepeat
#basicFunction:Round
#basicFunction:Round2
#basicFunction:Multiply
#basicFunction:Divide
#basicFunction:Ceil
#basicFunction:Ceil2
#basicFunction:unicode2Chinese
#basicFunction:stamp2Time
#basicFunction:Match
#basicFunction:fitemSort
#basicFunction:ffitemSort
[1]table_draw(tab) LINE:48
[2]num_or_string(x) LINE:55
[3]getAtQQ(str) LINE:67
[4]write_file(path, text) LINE:79
[5]read_file(path) LINE:88
[6]filter_spec_chars(s) LINE:103
[7]getFileName(path) LINE:133
[8]getFileName2(path) LINE:140
[9]utfstrlen(str) LINE:147
[10]MD5(str) LINE:168
[11]table_exists(tables,value) LINE:395
[12]encodeBase64(source_str) LINE:408
[13]string.split(str, delimiter) LINE:443
[14]string.count(str) LINE:460
[15]string.width(str) LINE:470
[16]string.tocenter(str, len, filledChar) LINE:479
[17]string.toleft(str, len, filledChar) LINE:511
[18]string.toright(str, len, filledChar) LINE:540
[19]string.ltrim(str) LINE:573
[20]string.rtrim(str) LINE:577
[21]string.trim(str) LINE:581
[22]ranStr(num) LINE:588
[23]tryCatch(fun) LINE:604
[24]bubbleSort(tab) LINE:620
[25]弃用 LINE:646
[26]sortTable_delRepeat(tab) LINE:653
[27-1]Round(num, i) LINE:672
[27-2]Round2(num, i) LINE:681
[28]Multiply(num1,num2) LINE:702
[29]Divide(denominator,numerator) LINE:718
[30-1]Ceil(num) LINE:734
[30-2]Ceil2(num) LINE:753
[31]unicode2Chinese(uni) LINE:765
[32]stamp2Time(Stamp) LINE:782
[33]Match(msg,num) LINE:789
[34-1]fitemSort(rest) LINE:798
[34-2]ffitemSort(rest) LINE:809
由于时间来不及,在lua中使用的教程与进阶用法将会在日后补齐。
to be…
getAtQQ的使用:【指令脚本】爬/丢/赞
tryCatch的使用:【指令脚本/思想】巴拉巴拉骰娘自检和偷懒自定义报错什么的