注意!:来张色图功能实测在高频使用下会封号!请注意使用范围和频率

两个文件中,查询色号功能改自 @Lily Black 的假色图脚本

如何安装:解压缩至Diceqq/plugin文件夹后重启

指令:
来张壁纸
.color [色号6位数]

之所以叫做“来张壁纸”是为了避开那个假色图脚本的指令冲突,如果你没安装那个当然可以改回来

setu-draw.zip
2kB
10 天 后

经测试,插件在进行色图重置时会产生bug,原因是user_qq参数的数据类型为string,而使用setUserToday修改UserToday.json 传入的第一个参数user_qq必须是number型,报错如下:
Bot调用\plugin\SETU_D1.LUA函数setu_draw_master失败!
\plugin\SETU_D1.LUA:47: bad argument #1 to ‘setUserToday’ (number expected, got string)
产生问题的原因就在于string.sub()这个方法是对字符串进行截取,截取出来的结果自然也为字符串,所以会出现次此报错。
解决办法:很简单,在Line47 local user_qq = string.sub(msg.fromMsg,7,-1) 的下一行加入:local user_qq = tonumber(user_qq) 将本来是string型的user_qq变量转化为number型。

但是问题到这里并没有结束,如果你此时保存并重新执行重置指令会发现,她又报错了,内容:
Bot调用\plugin\SETU_D1.LUA函数setu_draw_master失败!
\plugin\SETU_D1.LUA:47: bad argument #1 to ‘setUserToday’ (number expected, got nil)
这次错误出在47行这个string.sub(msg.fromMsg,7,-1) 里面的‘7’这个参数,给错了,我们将回复内容改为return user_qq 再运行重置指令试试,发现她返回了如下内容:“重置 <QQ号>” 这也就意味着,代表从第7个字符开始截取的参数‘7’,给小了!导致无法传出正确的string型的QQ号,而我们在进行由string到number转换时,会尝试将“重置 <QQ号>”这个字符串转为number型的数字,那么根据lua的语言设定,这一步的转化结果为nil,导致报错
解决办法:修改‘7’这个参数,经过我个人测试,改为‘13’即可,若对此数值有疑问,可以自行更改测试,可能在不同的运行环境、不同的命令(如‘色图重置’和<QQ号>之间没有空格)下不同,请各位Master根据自身情况进行修改
提示:如果你跟着我的回复一步步试验下来,记得别忘记把返回值改回去,什么?!你删除了?那我在这里再放出来原代码的返回:return “成功重置了[CQ:at,qq=”..user_qq..“]今日的使用次数"
可能你复制之后会多出来一个“[]”,记得删除

以上内容仅为个人测试结果和修改意见,由于本人也是小白,所以有些地方的专业语句、词汇使用不当,还请各位dalao谅解

    ZenUAreFry 注:我并不确定是不是任何平台的任何架构使用此插件都存在这个问题,这里只是因为我遇到了此问题并尝试自己解决后分享经验,若果你没遇到此问题,那为最好。

    那么这里附上我个人修改后的插件
    修改内容:
    1.自定义指令,获取为#hso get ,查看状态为#hso status ,重置次数为#hso reset <QQ>
    2.修复了上面的问题。
    3.MasterのQQ我留为“请各位自行更改”,各位可以在下载后在18行改为自己的QQ
    顺带说一下本人系统环境以及使用的Dice!版本:
    系统:Windows 10 专业版 64位 21H2版
    架构:amd64
    Dice!:Dice! by 溯洄 & Shiki Ver 2.6.3fixed(606)
    框架:Mirai

    文件(请自行修改文件后缀为.lua):

    setu-draw.txt
    2kB
    说点什么吧...