• 拓展文件
  • 【指令脚本】额外的日志操作指令log list/get/del

使用《署名—非商业性使用—相同方式共享 4.0 协议国际版》(CC BY-NC-SA 4.0)进行授权。
https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode.zh-Hans


一.基本信息

  • 作者: 地窖上的松 & 叶川
  • 联系方式:QQ: 602380092
  • 文件版本:v2.4.1
  • 更新日期:2025/03/08
  • 关键词:.log list .log get .log del .log stat

二.介绍

在原有的.log指令之上添加了四种日志操作指令。

效果展示


同时支持骰主从聊天窗口获取特定群聊/游戏桌的日志记录。


三.使用方法

.log get指令基于ob11的api,使用前需要先配置好http通信
gocq框架配置方法参考 此帖第一章
LLOneBot框架配置方法参考下方第四节内容。
如果你听不懂,也可以往下看第四五节的内容。

下载,解压,将两个文件和文件夹扔进plugin文件夹。

log-ext.zip
5kB

随后,手动打开log_get文件,修改第8行的端口值为你开启的http端口,并.system load

log_ext文件默认使用GBK编码log_get文件默认使用utf-8编码。这是因为log_ext文件需要与dice所用的编码保持一致,而log_get文件需要与系统编码保持一致。
若系统编码不为GBK且骰娘路径中带有中文字符很可能导致.log list指令读不出群聊log列表


四.LLOneBot框架配置http通信端口

打开QQNT的设置界面,在LLOneBot一栏中将启用http服务打开。
下方的http服务监听端口即是服务启用的端口,可以在一定范围内修改为自己希望的数字。

保存,随后别忘了重启QQ。

然后修改log_get文件中的第8行为对应的端口即可。

很简单对吧 😉


五.go-cqhttp框架使用指令配置http连接(不推荐)

如果你已经按照 此帖第一章 配置好了http连接,请跳过此章节。
当然,如果你是LLOneBot框架,请略过此节。

手动打开log_ext.lua文件,将第27行最前面的--去掉。
就像这样:

然后,system load一下,再然后对骰娘发送指令.log http init

骰娘将会自动写入http连接配置,并将端口发送给你,像这里便是使用了26194端口。
需要关掉骰娘程序,重新启动gocq以启用。

当gocq启动时出现这一行字,即说明http连接启用成功。

最后,别忘了修改log_get.lua文件内第8行的http端口为对应的值。


六.自定义回执

打开config文件夹,修改其中的log_word.json文件,随后.system load

__开头的项是对应项的注释,不会被读取。
不需要担心编码问题。


七.修改log空参时的帮助词条

建议对骰娘发送下面这条指令:

.helpdoc log 跑团日志记录.log
`.log new 日志名` 新开日志并开始记录
`.log on` 继续记录
`.log off` 暂停记录
`.log end` 完成记录并发送日志文件
`.log list` 查看本桌日志列表
`.log get 日志名` 手动取本桌日志
`.log del 日志名` 删除日志,需群聊管理员权限,此操作不可逆
`.log stat` 查看当前窗口日志状态
日志名须作为文件名合法,省略则使用创建时间戳。上传有失败风险,届时请.send 七海千秋后台索取
由于后台程序原因,长期开启log存在丢失风险,建议开团时再启用log或者定期检查log开启情况。

如此,在骰娘收到.log指令时将会返回帮助:


八. 骰主取其他窗口日志

插件支持信任大于等于4的骰娘管理从聊天窗口获取特定窗口的日志,方便骰主远程获取日志而不用亲自登录服务器获取。

使用 .log list [群号]/[桌号] 获取特定桌号的日志列表

此时,骰娘会记录对应桌号。随后对骰娘使用 .log get [日志名] 指令,即可获取对应窗口的日志

若再需要获取本群日志,只要使用不带参数的.log list指令清除记录,再使用.log get获取即可。


九. 如果框架运行于wsl

如果你不知道这一章在讲什么,请放心地略过

log_get.lua文件中的第10行参数设为True

随后,程序便会在取log路径时将盘符替换为wsl访问windows本地文件资源路径,例如将 C:\Users\Administrator\Desktop\ 替换为 /mnt/c/Users/Administrator/Desktop/

1 个月 后


感谢大佬的文件,一路调试的很通畅,只是在获取中文的日志的时候出现了乱码,可以请问一下大佬有什么好办法可以解决中文日志名称获取乱码的问题吗orz
已经测试过如果日志文件为纯英文是不会有这样的问题的……

    ioriku2727
    我这边无法重现这个问题。
    文件使用gbk编码就是为了解决中文乱码的问题,和dice程序有关。我的猜测是,你在修改自定义回执的时候把文件保存为了其他的编码,而不是gbk。

      地窖上的松 哇!!好像是这样,非常感谢大大的解答!根据思路我去校验了一下我所有的脚本文件惊奇的发现他们竟然都是utf8的,我手动把脚本统一了字符编码就可以了orz

      5 个月 后

      4.21更新1.1版本

      • 适配LLOneBot框架
      • 将log get指令分离,以解决编码问题

      log list指令需要gbk编码而log get指令需要utf8编码,那只要分成两个文件就可以了
      可惜有笨蛋半年了才想到

      3 个月 后

      想知道为啥有的log前面带g,有的log前面不带啊,我的dice版本是662,好像保存出来的log,带g不带g都有一点(´-ι_-`)

        6 天 后
        6 天 后
        1 个月 后

        9.9更新1.4版本

        • 修复log get指令在高版本LLOneBot只会匹配"g"前缀的问题。

        9.11更新1.5版本

        • 增加.log stat指令,查看当前窗口日志状态

        前些天发现有些用户会一直开着log好几个月,其间说不定就由于一些乱七八糟的原因丢了log,故添加此指令并更新帮助词条。

        4 个月 后

        不知道为啥,我把http协议打开,然后把两个文件放plugin文件夹后,LLOneBot没反应了,骰子挂掉了

          莫名 重启服务器解决了

          8 天 后

          新年快乐!😉

          1.29更新2.1版本

          • log get指令理论适配全平台

          不再检测文件存在于否,而是暴力地将所有可能的文件名尝试发送一次

          • 适配wsl qqnt框架
          1 个月 后

          3.8更新2.4版本

          @叶川川川喵 贡献更新

          • 支持获取game系统下的游戏日志
          • 支持骰主获取指定窗口日志
          • 将自定义回执以json文件格式保存,以规避修改自定义回执导致编码错误的问题。

          2.4.1

          • 修复wid参数未能正确转义的bug
          6 天 后

          好实用的功能 想请问一下Chronocat框架有没有适配的可能|•ω•`)