MiraiForum

    • Register
    • Login
    • Search
    • Popular
    • Recent
    • Unsolved
    • Tags
    • Groups
    • 友情链接

    [壶言2]HuYanSession2——壶言会话2

    插件发布
    jvm 自定义回复 群管 自定义 定时任务
    57
    165
    42984
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Moyuyanli
      Moyuyanli 摸鱼 last edited by Moyuyanli

      HuYanSession2——一款全功能自定义回复插件和小群管

      上面的download是下载,release是查看所有版本!
      gitee好久没更新了...
      如果上面加载不出来可以点这里下载


      迭代

      相较于壶言1,壶言2实现了:

      • 支持多个机器人
      • 更便捷的指令并且中英双支持
      • 更全面的群管理
      • 更多词条参数识别

      比如$at(qq)将会被转换为@该人

      • 更全面的权限系统

      权限可以下发到某一条聊天命令!

      • 更更规整的代码 这条才是重点!

      方便后续的拓展

      更新进度及以发现问题->点这里


      使用

      前置依赖

      Hibernate 前置插件,ORM 数据库框架,群/好友消息记录 下载适配版本

      • Mirai Hibernate Plugin

      感谢大佬提供的轮子 @cssxsh

      将下载好的jar文件添加到mcl的plugin文件夹,运行mcl即可,启动成功后在console控制台输入

      /hy owner <QQ>

      添加主人即可

      如果聊天命令没有起作用请重启mcl!

      如果你对mcl有一定的了解,那么你可以尝试用以下的方法来安装壶言2

      你需要先删除plugin中的壶言2和前置的 jar,
      再执行以下命令:

      # 前置
      mcl --update-package xyz.cssxsh.mirai:mirai-hibernate-plugin --channel maven-stable --type plugin
      
      # 只安装正式版
      mcl --update-package cn.chahuyun:HuYanSession --channel maven-stable --type plugin
      
      # 升级
      mcl update
      
      # 一个重启小插件(壶言重启)
      !重启
      

      自定义回复

      权限id:session

      更新

      新增图片本地缓存,用不过期(2.4.x)

      参数

      所有自定义回复都会携带作用域和匹配方式参数!
      支持更简洁的输入且都是可选!默认为精准和全局!

      []和()指数学中的域,在本插件表示可填写和必填写;
      |为或,表示两边都可以用;

      以下所有指令均适用于此表示方法!

      • [精准|1] 精准匹配
      • [模糊|2] 模糊匹配
      • [头部|3] 头部匹配
      • [结尾|4] 结尾匹配
      • [全局|0] 全局匹配
      • [当前|-1] 当前群匹配
      • [群组(id)|gr(id)] 指定群组匹配

      具体参数含义可以去壶言1查看


      一对一回复(会话)

      权限id:sessionx

      直接上指令

      指令 含义 案例 中文格式
      xx (触发内容) (回复内容) [参数] 快速添加关键字回复 参数可多填,以空格隔开 xx 怎么办 凉拌 2 0 学习 怎么办 凉拌 模糊 全局
      xx:[触发内容] 查询所有已保存的关键词回复,冒号中英都支持,后续的触发内容填上就是查询对应的那条 xx: 查询 怎么办
      -xx:(触发内容) 删除对应的关键词 -xx:怎么办 删除 怎么办
      %xx 通过多次消息发送的形式添加对话,便于手机使用 %xx 学习对话
      -%xx 由于多次消息形式添加的对话的触发词可能含有空格,因此要用对应的方式删除 -%xx 删除对话

      下面的参数
      2:模糊匹配 gr1 群组编号1 内触发
      52f718ff-4a89-4c6b-85c1-33d91f1252b5-图片.png

      学习对话参数:

      • 0 | 全局 修改触发作用域为这个机器人的所有群
      • 1 | 精准 只有发的消息跟触发词相同,才能触发回复,不填写参数默认
      • 2 | 模糊 发送消息包含触发词即可触发。
      • 3 | 头部 发送消息的开头为触发词即可触发
      • 4 | 结尾 发送消息的结尾为触发词即可触发
      • 5 | 正则 以正则匹配触发消息,仅限%xx学习功能
      • -1 | 当前 修改触发作用域为当期这个群,不填写参数默认
      • gr(id) | 群组(id) 修改作用域为对应的群组id,()不是指令,只是说明这个id必须填写,群组的使用方式在下方

      所有参数都在聊天指令的结尾以(空格)(参数)添加,无序。

      对话和多词条支持的动态消息:

      欢迎词支持的动态消息:

      动态消息类型 动态消息参数 含义 案例 匹配结果
      at this @(at)触发这条消息的人 $at(this) @放空
      qq @群里的这个人,会固定@这个人 $at(572490972) @放空
      message this 这个人触发这条消息的内容 $message(this) 不会写插件怎么办?
      user name 获取这个人的名称 $user(name) 放空
      id 获取这个人的qq $user(id) 572490972
      avatar 获取这个人的头像 $user(avatar) [图片]
      title 获取这个人的头衔,优先获取特殊头衔 $user(title) 才不是放空了~
      info 详细信息?? $user(info)
      time now 获取当前时间,默认格式yyyy-MM-dd HH:mm:ss $time(now) 2022-8-28 02:15:15
      (时间格式) 按照指定的时间格式进行现在的时间输出 $time(HH:mm:ss) 02:16:20

      正则消息回流(仅限一对一回复)

      请以%xx学习,学习内容为(你的正则1),与之对应的回复内容为$mate(1),
      参数为5,也就是正则匹配,1对应第一个括号匹配的内容。

      案例:

      dc4d0a7e-490f-4a22-951d-aca3449a1d67-图片.png

      与之类似的,你只需要更改括号中正则,就可以达到你想要的东西。


      一对多回复(多词条)

      权限id:sessiondct
      指令:

      指令 含义 案例 中文格式
      %dct 添加多词条 %dct 添加多词条
      dct: 查询所有多词条 %dct 查询多词条
      -dct:(id) [id] 删除多词条,id通过查询得到,第一个id是对应的多次条id,第二个id是对应回复语句id,如果填写,就是删除这个多次回复语句下的这条回复,支持空格隔开一次删除多条 -dct:5 删除:2 34 44 23

      在添加多词条消息的途中,
      发送

      • !!! | !!! 结束添加,不进行保存,直接结束这次操作
      • !! | !! 在循环添加回复内容时,停止添加,退出进行多词条消息的保存
      • ! | ! 删除上一条添加的内容

      添加多词条参数:

      • 1 | 精准 只有发的消息跟触发词相同,才能触发回复,不填写参数默认
      • 2 | 模糊 发送消息包含触发词即可触发。
      • 3 | 头部 发送消息的开头为触发词即可触发
      • 4 | 结尾 发送消息的结尾为触发词即可触发
      • lx | 轮询 多个词条回复的顺序为轮询,就是一条一条发送去,不填写参数默认
      • sj | 随机 修改回复顺序为随机,就是触发后随机从多词条中取一条拿来回复
      • 0 | 全局 修改触发作用域为这个机器人的所有群
      • gr(id) | 群组(id) 修改作用域为对应的群组id,()不是指令,只是说明这个id必须填写

      单个多词条回复语句也支持动态消息,具体支持看上面的对话动态消息支持


      群组

      权限id:list
      用于设定特定几个群的群组系统,用于一些东西只在这几个群中触发,其他插件有个相反的功能叫群黑名单,我这个是正向的,只在那些群触发。

      指令:

      指令 含义 案例 中文格式
      +gr:(id) (群号) 添加多个群为一个群组,群号支持多个 +gr:1 780594692 添加群组:1 780594692 390444068
      gr:[id] 查询所有群组信息,id填写后只查询对应的id所属群组信息 gr: 查询群组:1
      -gr:(id) [群号] 删除这个群组里面的某个群号,支持多个群号 -gr:1 删除群组:1 390444068 780594692

      13e391e9-4c58-4a3c-a0c7-e2413cae2fb2-图片.png
      d96e3d66-ac42-405f-bcbe-a4a0d1080245-图片.png

      与之类似,你只需要更换你的正则匹配就可以


      定时器

      权限id:ds

      定时任务是指,按照指定的时间频率发送对应的消息,时间频率是cron表达式,不懂的人可以花5分钟了解一下,基本能满足任何时间频率
      cron输入格式$cron(* * * * * ?)

      定时管理

      指令:

      指令 含义 案例 中文格式
      %ds 添加定时任务,具体根据提示进行添加 %ds 添加定时器 | 添加定时任务
      -ds(id) 删除定时任务,id查询获得 -ds:1 删除定时器:1 | 删除定时任务:1

      在添加回复消息的途中,
      发送

      • !!! | !!! 结束添加,不进行保存,直接结束这次操作
      • !! | !! 在循环添加回复内容时,停止添加,退出进行定时任务的保存
      • ! | ! 删除上一条添加的内容

      定时任务的参数:

      • hf | 回复 定时器触发后只回复一条消息,不填参数默认
      • lx | 轮询 定时器的回复内容将成为多词条的样式,并且回复词条顺序为轮询,与随机冲突!
      • sj | 随机 定时器的回复内容将成为多词条的样式,并且回复词条顺序为随机,与轮询冲突!
      • -1 | 当前 作用域-当前这个群 默认
      • 0 | 全局 作用域-全部群
      • gr(id) | 群组(id) 作用域-指定群组

      定时器操作

      权限id:dscz

      指令 含义 案例 中文格式
      ds: 查询定时任务 ds: 查询定时器 | 查询定时任务
      %ds:(id) 切换定时任务的状态,如果已经开启,则切换为关闭,id查询获取 %ds:1 切换定时器:1 | 切换定时任务:1

      群管理

      权限id:group 此权限不是指令权限

      对于几个检测群的功能,需要先将对于群添加为检测群

        /hy agroup (群号) #添加
        /hy dgroup (群号) #删除
      

      依然支持在config文件手动添加


      特殊头衔

      当你的机器人是群主时才可以使用,拥有admin、group权限的用户也可以用于使用。

      指令:

      指令 含义 案例 中文格式
      %@(user) (内容) 给这个人修改特殊头衔 %@放空 才不是放空了~ 设置头衔@放空 才不是放空了~

      是群主才行哦~


      群欢迎词

      权限id:grouphyc
      当有人申请的时候,拥有管理员权限的机器人并且加入了检测的群
      机器人会给出提示
      在配置文件中有是否启用开关

      997f2332-8b54-483b-89ae-b583d2955591-图片.png

      指令:

      指令 含义 案例 中文格式
      开门 id|all 同意这个人的进群申请 开门 1 开门 all
      同意 id|all 同意这个人的进群申请 同意 1 同意 all
      关门 id|all 关门这个人的进群申请 关门 1 关门 all
      拒绝 id|all 拒绝这个人的进群申请 拒绝 1 拒绝 all

      id是进群时所提示的门牌号

      欢迎词功能不需要检测群支持!
      欢迎词指令:

      指令 含义 案例 中文格式
      %hyc 添加欢迎词 %hyc 添加欢迎词
      hyc: 查询欢迎词词 hyc: 查询欢迎词
      -hyc:(id) [id] 删除欢迎,id查询获得,第二个id是对应的欢迎词集合中的某条欢迎词,不支持多条删除 -hyc:2 删除欢迎词:1 15

      参数:

      • lx | 轮询 欢迎词将以轮询的方式逐条发送,默认
      • sj | 随机 欢迎词将随机发送
      • 0 | 全局 作用域:全局
      • gr(id) | 群组(id) 作用域:群组

      注意:欢迎词是轮询添加,使用!!或!!保存!

      欢迎词支持的动态消息:

      动态消息类型 动态消息参数 含义 案例 匹配结果
      at this @(at)这个进群的人 $at(this) @放空
      that 这个要请他的人,如果没有邀请的人则会at同意他进来的那个人 $at(that) @放空
      qq @群里的这个人,会固定@这个人 $at(572490972) @放空
      message apply 获取这个人进群申请的消息 $message(apply) 这个人什么都没说...
      user name 获取这个人进群时的名称 $user(name) 放空
      id 获取这个人的qq $user(id) 572490972
      avatar 获取这个人的头像 $user(avatar) [图片]
      time 所有支持动态消息的都支持时间,具体用法在文档前面的对话

      禁言

      权限id:groupjy

      此指令只有在你的机器人是管理员或群主才能触发

      指令:

      指令 含义 案例 中文格式
      @某人(禁言时间) 在机器人有权限的情况下,对你@的这个人进行指定时间的禁言 @放空 3m ``
      @某人 0s 解除禁言 @放空 ``

      时间频率:

      • s 秒
      • m 分钟
      • h 小时
      • d 天

      违禁词

      不需要检测群支持。
      此指令只有在你的机器人是管理员或群主才能起作用。

      指令:

      指令 含义 案例 中文格式
      +wjc:(内容) [param] 添加违禁词,内容是触发内容,param是参数,具体可以查看下方 +wjc:色图 ch 2m 添加违禁词:色图 % jy
      -wjc:(id) 删除违禁词,id查询获得 -wjc:2 删除违禁词:2
      wjc: 查询所有违禁词 wjc: 查询违禁词

      参数的意义

      • ch 违禁词默认撤回,当输入ch后,wjc将不撤回消息
      • jy 违禁词默认禁言,当输入jy后,wjc将不禁言
      • 3s 修改禁言时间,具体时间格式查看禁言
      • % 重写回复语句,支持动态消息,具体支持动态消息查看下方
      • [gr1 | 0 ] 群组或全局,默认当前群
      • 1,2,3,4 匹配方式,跟关键词回复的匹配同理
      • hmd3 开启触发3次后就会踢出群聊,数字可自选

      hmd参数输入后,将会开启小黑屋功能,不会提示!当某个人触发这个wjc到达次数,直接踢出本群,可以和下面的自动添加黑名单配合!

      违禁词回复消息支持动态消息:

      动态消息类型 动态消息参数 含义 案例 匹配结果
      at this @(at)触发这条消息的人 $at(this) @放空
      qq @群里的这个人,会固定@这个人 $at(572490972) @放空
      message this 这个人触发这条消息的内容 $message(this) 不会写插件怎么办?
      jyString 这条违禁词的禁言时间中文 $message(jyString) 禁言2分钟
      prohibitString 同上
      null 不发送消息 $message(null)
      user name 获取这个人的名称 $user(name) 放空
      id 获取这个人的qq $user(id) 572490972
      avatar 获取这个人的头像 $user(avatar) [图片]
      title 获取这个人的头衔,优先获取特殊头衔 $user(title) 才不是放空了~
      info 详细信息?? $user(info)
      time now 获取当前时间,默认格式yyyy-MM-dd HH:mm:ss $time(now) 2022-8-28 02:15:15
      (时间格式) 按照指定的时间格式进行现在的时间输出 $time(HH:mm:ss) 02:16:20

      黑名单

      权限id:grouphmd

      不需要检测群支持。
      此指令只有在你的机器人是管理员或群主才能触发。
      支持作用域!!设置为全局时,该用户将被你的bot封禁!

      指令 含义 案例 中文格式
      +hmd:@(user) [param] 添加黑名单,参数看下方 +hmd:@放空 jy 添加黑名单:@放空 %
      hmd: 查询黑名单 hmd: 查询黑名单
      -hmd:(id) 删除黑名单,id查询获得 -hmd:3 删除黑名单:2

      参数:

      • t 默认检测到就踢出,携带参数不踢出
      • jy 默认禁言(优先踢出),携带参数不禁言
      • ch 默认撤回该用户的消息,携带不提出
      • 0 | gr(id) 作用域不携带参数默认当前群
      • % 重写封禁理由

      此功能需要检测群支持!
      在配置文件blacklist有退群自动添加黑名单开关!
      里面还有重写封禁理由!


      撤回消息

      权限id:groupch

      用于撤回上面的群消息,机器人是管理员和群主才能使用

      指令:

      指令 含义 案例 中文格式
      !recall 撤回上面这条消息 !recall 撤回
      !recall (number) 撤回前面几条消息,不包含这条消息 !recall 5 撤回 5
      !recall 1-5 撤回上面1到5条,从第0条算起,包含这条消息 !recall 1-5 撤回 25-55

      具体用法试一试就明白,撤回多条消息时,权限可能会有冲突。

      60f41127-46fe-4a31-939c-e9183e78b6b6-图片.png
      046a35d8-0050-4089-b0ba-5c5a2179ea7f-图片.png
      消息被群友顶上去了,我仍然能撤回!
      9d55a500-e3c0-48a3-87b0-af373243d522-图片.png


      踢人

      权限id:grouptr

      此指令只有在你的机器人是管理员或群主才能触发

      指令 含义 案例 中文格式
      tr@(user) [hmd] 踢人 tr@放空 踢人@放空

      参数:

      • hmd qq的踢人有个禁止此用户再次加群,输入后将禁止此用户再次加群

      权限系统

      权限id:admin

      指令:

      指令 含义 案例 中文格式
      +@(user) (权限id) 赋予这个群的这个人的某个权限,权限id可在文档查看 +@放空 admin 添加@放空 all
      -@(user) 移除这个权限 -@放空 all 删除@放空 group
      !power [param] 查询权限列表,参数如下 !power all 权限列表 all

      参数:

      • 不填默认当前群
      • @某人 查看指定人在本群的权限
      • all 查询所有权限或添加所有权限或删除所有权限

      查询可以输入对应的群号 或者 qq号 来查询指定区域的权限信息
      也可以直接 all 查询全部
      然后通过 上一页 和 下一页 来进行翻译阅读


      多机器人互冲

      对于同时加载多个bot的使用者
      容易存在一条指令两个bot触发,因此,加了一个‘暂停功能’

      指令:

      指令 含义 案例 中文格式
      !pause @(bot) 你发的下一条消息,这个机器人将会忽略(包括触发) !pause@乌拉
      !pause @(bot) 5 忽略下5条消息,消息数量自定 !pause @乌拉 5

      不带参数,默认忽略你的下一条消息
      也可以自定义忽略下几条消息,这个记录是写在内存的,如果不小心输入多了(9999999999),重启就行。


      插件指令

      指令 含义 案例
      /hy aGroup 添加一个监测群 /hy aGroup 390444068
      /hy dGroup 删除一个监测群 /hy dGroup 390444068
      /hy v 查询当前插件版本 /hy v
      /hy transfer 转移一个所属bot的数据到另一个bot /hy transfer 2061954151 3630254205

      规划和已知BUG

      任何意见都可以提!

      以后的规划将不在此处更新,具体更新查看下面

      规划:

      • 实现消息的excel导入和导出(在1添加导出功能)

      bug:


      交流

      壶言系列插件交流群 不是云的茶壶云(390444068)
      有任何疑问或者建议都可以来群里提!

      更新进度及以发现问题->点这里

      最新的插件动态也会在群里说明!

      R 1 Reply Last reply Reply Quote 7
      • Referenced by  Moyuyanli Moyuyanli 
      • V
        Vision last edited by

        大佬,有办法做到发送语音之类的功能吗

        Moyuyanli 1 Reply Last reply Reply Quote 0
        • Moyuyanli
          Moyuyanli 摸鱼 @Vision last edited by

          @Vision 可以做到

          V K 2 Replies Last reply Reply Quote 0
          • 夏
            夏沫烟雨 last edited by

            啊这个可以直接和壶言1混在一起用么

            Moyuyanli 1 Reply Last reply Reply Quote 0
            • V
              Vision @Moyuyanli last edited by

              @Moyuyanli 好耶,谢谢大佬

              Moyuyanli 1 Reply Last reply Reply Quote 0
              • Moyuyanli
                Moyuyanli 摸鱼 @夏沫烟雨 last edited by

                @夏沫烟雨 不行,而且壶言2还没出来,最近公司疯狂加班,抱歉啦~~

                1 Reply Last reply Reply Quote 0
                • Moyuyanli
                  Moyuyanli 摸鱼 @Vision last edited by

                  @Vision 但是壶言2最近没啥进度,最近公司加班

                  V 1 Reply Last reply Reply Quote 0
                  • V
                    Vision @Moyuyanli last edited by

                    @Moyuyanli 没关系,大佬慢慢做))

                    1 Reply Last reply Reply Quote 0
                    • W
                      Wangzihan-2006 last edited by

                      自定义回复内容兼有文字和图片的话图片会消失诶。

                      Moyuyanli 1 Reply Last reply Reply Quote 0
                      • Moyuyanli
                        Moyuyanli 摸鱼 @Wangzihan-2006 last edited by

                        @Wangzihan-2006 能提供一下详细信息吗?
                        我这边测试着没问题ab2e7958-1385-45e5-bd06-ae412baadb0a-图片.png

                        1 Reply Last reply Reply Quote 0
                        • cssxsh
                          cssxsh last edited by

                          Sqlite 的驱动不是自带有在 org.xerial:sqlite-jdbc 包里吗
                          为啥还要安装,有问题

                          Moyuyanli 1 Reply Last reply Reply Quote 0
                          • Moyuyanli
                            Moyuyanli 摸鱼 @cssxsh last edited by

                            @cssxsh 好的,我了解了

                            1 Reply Last reply Reply Quote 0
                            • S
                              Sakaino last edited by

                              请问在哪下载?

                              1 Reply Last reply Reply Quote 0
                              • B
                                BlackWhite2000 last edited by

                                This post is deleted!
                                1 Reply Last reply Reply Quote 0
                                • Moyuyanli
                                  Moyuyanli 摸鱼 last edited by

                                  壶言会话2更新了!顶一下

                                  fffzzl 1 Reply Last reply Reply Quote 1
                                  • D
                                    damemod last edited by

                                    确实挺完善的,支持一下

                                    1 Reply Last reply Reply Quote 0
                                    • fffzzl
                                      fffzzl @Moyuyanli last edited by

                                      This post is deleted!
                                      1 Reply Last reply Reply Quote 0
                                      • fffzzl
                                        fffzzl last edited by

                                        多词条使用 !!提示添加成功
                                        请发送多词条回复消息:
                                        !删除和 !!!结束都可以使用
                                        但无法!!保存

                                        Moyuyanli 1 Reply Last reply Reply Quote 0
                                        • Moyuyanli
                                          Moyuyanli 摸鱼 @fffzzl last edited by

                                          @fffzzl 多词条目前有问题,我正在修复

                                          1 Reply Last reply Reply Quote 0
                                          • Moyuyanli
                                            Moyuyanli 摸鱼 last edited by

                                            多词条问题已经修复

                                            1 Reply Last reply Reply Quote 2
                                            • 1
                                            • 2
                                            • 3
                                            • 4
                                            • 5
                                            • 8
                                            • 9
                                            • 1 / 9
                                            • First post
                                              Last post
                                            Powered by Mamoe Technologies & NodeBB | 友情链接 | 服务监控 | Contact