MiraiForum

    • 注册
    • 登录
    • 搜索
    • 热门
    • 最新
    • 未解决
    • 标签
    • 群组
    • 友情链接
    1. 主页
    2. Moyuyanli
    3. 最佳
    • 资料
    • 关注 2
    • 粉丝 11
    • 主题 14
    • 帖子 242
    • 最佳 24
    • 有争议的 1
    • 群组 2

    Moyuyanli 发布的最佳帖子

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

      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)
      有任何疑问或者建议都可以来群里提!

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

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

      发布在 插件发布
      Moyuyanli
      Moyuyanli
    • [壶言3]壶言会话3-一款高度自定义的自定义回复插件

      壶言会话3

      好久不见,我是鸽了快一年的放空
      新版本已经完成基本的底层搭建,剩下的就是慢慢不全各功能模块就行。
      现在在这里征集好的注意!

      仓库地址:HuYanSession3

      现有功能

      鉴于前车之鉴,本次升级对上版本插件做减法,对插件进行分离,自定义回复独立提取出来,群管功能以后成为一个单独的插件。

      • 自定义数据库接入:目前支持(sqlite,h2,mysql)
      • 自定义缓存位置:目前支持(内存),预留(redis)
      • 自定义权限:目前支持(内置),预留接入HuYanAuthorize未来可能会接入lp
      • 分组支持多种类型:对以前的群分组进行了升级,现在分组不仅可以对群分组,还能对人分组和对群成员分组!
      • 高度定义的作用域匹配:7种作用域匹配,满足的需求

      4c8c0423-f828-43fa-ab8a-e2336525c77d-图片.png

      • 重新设计的单一消息,更加简洁,新增了概率回复功能,保留了壶言会话2.4.x的本地缓存功能

      使用

      现阶段版本已经可以进行测试使用
      如果你想使用,可以去群里获取测试版本的插件,放入plugins文件夹启动即可使用。

      由于当前版本为壶言会话2的拆分版,你可以与壶言会话2一起使用,但是会触发两个插件的命令,解决方式就是使用壶言会话2的过滤消息功能将壶言会话2的指令暂时过滤掉!

      对于现阶段mirai的半死状态,这边目前可以总计一下目前可能能行的登录方案:

      • 签名服务-非常的不稳定(及其容易封号),但是能用
      • 通过Overflow插件接入其他平台的OneBot转生

      蕉流与学习

      目前就这完成了这么多,后续会慢慢完善,如果你有好的意见,可以在本帖子种回复。也可以加群直接at我,不是云的茶壶云(390444068)

      如果你想学习编写mirai插件,或者刚学java,欢迎来对本项目进行编写和pr,结构简单易上手!


      以下是本插件部分文档,会持续更新。


      参数

      对于部分参数,有默认值,可省略不填。

      | 指可选,左边或右边选择一个即可
      + 指可填写多个,一般中间用 隔开。
      (xx) 指必填,括号内内容必须填写。
      [xxx]指可选填写。

      匹配方式

      • 1|精准 精准匹配(默认)
      • 2|模糊 模糊匹配,包含触发词即匹配成功。
      • 3|头部 头部匹配,从前往后匹配触发词即匹配成功。
      • 4|尾部 尾部匹配,从后往前匹配触发词即匹配成功。
      • 5|正则 正则匹配,按照正则匹配结果。

      重写

      对于部分只能存在一条的信息,在参数集里面添加重写状态即可重写写入该信息。

      • %|rewrite 启用重写。

      动态消息

      不同于壶言会话2的自动识别动态消息,壶言会话3这边需要手动指定是否启用动态消息。

      • dt|动态|dynamic 启用动态消息。

      本地缓存

      由于腾讯服务器储存图片有概率过期,因此设计本地缓存功能,在config中有默认开启配置,默认不开启。
      也可以根据单个消息默认设定开启与否。

      • ca|缓存|cache 启用本地缓存。

      转换方式

      消息在匹配时的转换方式

      • MIRAICODE miraiCode(默认)。
      • STRING String。
      • CONTENT content。
      • JSON json。

      作用域

      • global 全局。
      • global-(id)|global-(at) 全局的某个用户,可填号码,可at人。
      • group 当前群(默认)。
      • member-(id)|member-(at) 某个群友。
      • list-(id) 自定义群列表。
      • users-(id) 自定义用户列表。
      • members-(id) 自定义某个群的群用户列表。

      触发概率

      • probability-(0.0~1.0) 消息的触发概率。

      是否随机

      • random 用于多词条的开启随机触发功能

      动态消息类型

      针对上一代的动态消息使用体验,这个版本也进行了一次优化

      现格式为:

      ${prefix.suffix}

      前缀 后缀 含义 案例
      at this at当前发消息的这个人 ${at.this}
      all at全体(慎用!) ${at.all}
      (qq) at这个qq用户 ${at.572490972}
      user id 获取发送者的QQ号 ${user.id}
      name 发送者的名称 ${user.name}
      avatar 发送者的头像 ${user.avatar}
      title 发送者的头衔(仅限群) ${user.title}
      group id 群号(仅限群) ${group.id}
      name 群名称(仅限群) ${group.name}
      avatar 群头像(仅限群) ${group.avatar}
      owner 群主名称(仅限群) ${group.owner}
      time now 当前时间(默认格式) ${time.now}
      timer 当前的时间戳 ${time.timer}
      (format) 当前时间的自定义格式 ${time.HH:mm:ss.SSS}
      mate (number) 正则回流编号<br/>(仅限正则匹配中包含匹配块) ${mate.1}
      message this 当前的消息 ${message.this}
      reverse 反转的消息(按照消息顺序反转) ${message.reverse}
      owner id 主人的id(得与机器人是好友) ${owner.id}
      name 主人的名称(得与机器人是好友) ${owner.name}
      avatar 主人的头像(得与机器人是好友) ${owner.avatar}

      对于一对一消息回复,如果想启用动态消息的匹配,得才参数中添加dt来启用动态消息识别!

      指令

      消息功能

      权限id:session

      一对一消息

      权限id:hh

      指令 含义 案例
      %xx (a) (b) [params]+ 学习一个一对一回复 %xx a b
      %xx [a] 对话的方式学习 %xx,%xx a
      学习 (a) (b) [params]+ 同上 学习 啊啊啊 哦哦哦
      -xx (a) [scope\|id] 删除一个一对一回复^1 -xx a,-xx a 5
      删除 (啊啊啊) [scope\|id] 同上 删除 啊啊啊
      %%xx 刷新单一消息缓存 %%xx

      第二类删除

      对于一个短时间内响应的回复消息,如果你有权限,即可引用该消息并发送删除或sc即可删除!

      参数

      params 支持列表:

      • 匹配方式
      • 重写
      • 动态消息
      • 本地缓存
      • 转换方式
      • 作用域
      • 触发概率

      动态消息支持列表:

      • 全部

      一对多消息

      权限id:dct

      指令 含义 案例
      %dct [trigger] 进入多词条学习状态(3分钟超时) %dct,%dct nova的错
      学习多词条 同上 学习多词条
      -dct (trigger\|id-(id)) [id] 删除多词条 -dct 群典,-dct id-2 5
      删除多词条 (trigger\|id-(id)) [id] 同上 删除多词条 群典,删除多词条 id-2 5
      %%dct 刷新多词条缓存 %%dct

      第二类删除

      对于一个短时间内响应的回复消息,如果你有权限,即可引用该消息并发送删除或sc即可删除!

      params 支持列表:

      • 匹配方式
      • 重写
      • 本地缓存
      • 作用域
      • 触发概率

      多词条默认自动识别动态消息!

      动态消息支持列表:

      • 全部
      群典功能

      这是一个非常有意思的功能!

      在配置中启动该功能后,对着机器人在线期间的消息回复一个批准入典, 将会默认生成一个触发词为群典(在配置中自定义)的多词条集

      这个群典只属于当前群,意味着对于不同的群,可以有不同的群典!

      记录群友的丢人瞬间!

      定时消息

      权限id:ds


      权限功能

      权限id:admin

      指令 含义 案例
      +(scope)-(at\|qq) (权限id) [权限id] 为该作用域添加一个权限 +global-@572490972 admin
      添加权限(scope)-(at\|qq) (权限id) [权限id] 同上 添加权限@572490972 amind
      -(scope)-(at\|qq) (权限id) [权限id] 为该作用域删除一个权限 -global-@572490972 admin
      删除权限(scope)-(at\|qq) (权限id) [权限id] 同上 删除权限@572490972 admin

      分组功能

      插件指令

      • hys v 查询当前壶言会话3的版本。
      发布在 插件发布
      Moyuyanli
      Moyuyanli
    • RE: 目前可用的插件开发调试方案

      @rong_xiaoli 签名现在可以用 https://qsign.chahuyun.cn
      目前是使用的nginx负载均衡,实现主(sign提供者代理),从(sign提供者东京服务器),备(另外一家sign提供着),自动切换。

      发布在 开发交流
      Moyuyanli
      Moyuyanli
    • RE: [壶言2]HuYanSession2——壶言会话2

      多词条问题已经修复

      发布在 插件发布
      Moyuyanli
      Moyuyanli
    • HuYanEconomy 壶言壶言经济 --- 娱乐插件

      HuYanEconomy 壶言壶言经济 --- 娱乐插件

      version download

      下载本插件

      这里是壶言经济,一款mirai娱乐插件,设计灵感来自于论坛的经济帖子,心血来潮就创建了这个项目,从22年11月开始,中间慢慢填坑,
      陆陆续续的完成了一部分饼,由于大部分饼都没实现,所以没在论坛发布,但是在我群共享。

      或许有些人在一些群见过本插件的功能,就比如这个签到

      88916f52-1ac1-4ca4-b53b-8ebb949e55a8-img.png

      现在完成了一些基本功能,仍然有很多bug的存在,但是能用(叉腰)。
      开个玩笑,如果遇见bug可以去github提issues。

      或者有什么好的建议也可以提。

      使用

      本插件需要前置:

      • mirai-economy-core
        依赖于:mirai-hibernate-plugin
      • HuYanAuthorize

      前置插件和插件本体一起放入plugins文件夹后,启动一次mirai,再停止。
      进入config/cn.chahuyun.HuYanAuthorize中配置AuthorizeConfig.yml:

      这里的主人,才是真主人。

      # 主人
      owner: 123456
      # 是否开启方法代理
      proxySwitch: false
      # 数据库类型(H2,SQLITE,MYSQL)
      dataType: H2
      # mysql数据库连接地址
      mysqlUrl: '127.0.0.1:3306/authorize'
      # mysql数据库用户名
      mysqlUser: root
      # mysql数据库密码
      mysqlPassword: 123456
      

      进入config/cn.chahuyun.HuYanEconomy中配置config:

      这里的主人暂时不可用。

      前置插件和插件本体一起放入plugins文件夹后,启动一次mirai,再停止。
      进入config/cn.chahuyun.HuYanEconomy中配置config:

      # 主人
      owner: 123456
      # 指令触发前缀
      prefix: ' '
      # 数据库类型(H2,MYSQL,SQLITE)
      dataType: MYSQL
      # mysql 连接地址
      mysqlUrl: 'localhost:3306/economy'
      # mysql 用户名
      mysqlUser: root
      # mysql 密码
      mysqlPassword: 123456
      # 插件单一管理botQQ
      bot: 123456
      

      请设置主人用于管理本插件!

      由于限制,本插件无法实现多bot,只能用于唯一bot,所以请指定botqq。

      数据库可以自定义指定,目前只实现了3种数据库。

      设置完成后,再次启动mirai即可使用本插件。


      功能列表

      由于一些功能上的设计缺陷,修复他们需要改动数据库,导致数据库的数据错误,因此需要执行修复指令:/hye repair;

      建议在控制台执行,并且最好是启动后先执行。只需要执行一次就行

      目前已知需要修复版本:

      • 1.4.3 -> 1.4.4 修复抢劫信息错误
      • 1.4.5 -> 1.4.6 修复鱼塘重复问题

      经济功能

      基于mirai-economy-core经济前置,注册货币为hy-gold。

      目前实现功能有:

      • 转账
      • 存款
      • 取款
      • 抢劫
      • 红包

      签到功能

      指令sign,签到,打卡,关闭签到,开启签到;

      完成签到会生成一张图片签到信息,当图片签到失败后会发送文字签到。
      签到图片目前支持背景自定义。

      只需要将图片放入data/cn.chahuyun.HuYanEconomy/bottom即可,每次启动都会读取一次文件夹里面的图片。
      data/cn.chahuyun.HuYanEconomy/font是自定义字体。

      背景图自动轮询。

      签到的刷新是每天的4点,可自定义时间。
      随机获得50~500的金币奖励!
      概率不均衡

      用户功能

      指令个人信息,info,money,经济信息,我的资金;

      可以生成一张当前用户的个人信息。
      同时获取一言

      对于昵称区域,群主是一个独立的渐变色,管理员是一种,群成员又是一种。
      部分功能会影响到颜色。

      银行功能

      指令存款 (额度),deposit (额度),取款 (额度),withdraw (额度),银行利率,富豪榜;

      银行功能设计之初支持多银行管理。
      但是目前只实现了主银行,也就是全局银行。

      以后可能会完成之前画的饼。

      银行有每周利息,利息随概率变动。

      变动规则:

      • 70% 1~3%
      • 29% 4~7%
      • 1% -3~-1%(经济危机!!!)

      称号功能

      指令我的称号,购买称号 (称号),切换称号 (称号坐标),称号商店;

      称号默认获取群特殊头衔,没有就获取群活跃头衔,颜色不同。

      除此之外的称号,都会有自己特有的颜色,目前只实现了4个称号:

      • [大富翁] 金币到达10w自动获得,期限永久,高贵的黄金渐变色!
      • [小富翁] 花费1w金币购买购买称号 小富翁,期限30天。
      • [只是传说] 签到狂人称号,连续签到15天获得,期限15天。
      • [邓刚] 钓鱼佬称号,钓鱼榜榜首持有,无期限。
      • [17张牌能秒我?] 赌怪称号,目前没有获取方法。

      特殊buff:

      • 启用签到狂人称号时,签到获得的金币翻倍。
      • 启用钓鱼佬称号时,钓鱼cd为3分钟,并且上钩更快!

      切换称号 0是卸下所有称号,回到默认称号。

      现已开放称号自定义添加功能,目前只有依赖本插件实现。
      未来可能会实现通过配置文件自定义添加称号。

      自定义称号功能已经实现,在data/cn.chahuyun.HuYanEconomy/title.json中编辑,插件启动后将自动扫描注册到称号列表中。
      目前只有购买一种途径获得,也没办法配置buff。

      {
        // 称号code
        "templateCode": "template",
        // 过期时间(天)
        "validityPeriod": -1,
        // 称号名称(不是称号)
        "titleName": "模板",
        // 价格 0.0
        "price": 0,
        // 是否渐变色
        "gradient": false,
        // 颜色是否影响名称
        "impactName": false,
        // 称号
        "title": "[模板]",
        // 起始颜色,当渐变关闭时,此颜色就是唯一颜色
        "sColor": "#00000",
        // 结束颜色
        "eColor": "#ffffff"
      }
      

      更多请查看TitleTemplateManager

      猜签功能

      权限code:lottery

      指令开启 猜签,关闭 猜签,猜签 (猜签号码) (猜签金额);

      本功能需要在对应群开启,本功能有高强主动发送消息动作,高风险账号慎用!

      签有3类:

      • 小签 只需要3个号码 1分钟开启一次 最大金额 1000
      • 中签 4个号码 一小时开启一次 最大金额 10000
      • 大签 5个号码 一天开启一次 最大金额 1000000

      中奖倍率

      小签:

      • 1:0.7
      • 2:6
      • 3:160

      中签:

      • 1:0.5
      • 2:2.5
      • 3:35
      • 4:1250

      大签:

      • 1:0.3
      • 2:1.4
      • 3:12
      • 4:200
      • 5:10000

      猜签顺序固定。

      钓鱼功能

      权限code:fish。

      指令开启 钓鱼,关闭 钓鱼,购买鱼竿,钓鱼,抛竿,升级鱼竿,钓鱼排行榜,钓鱼排行,钓鱼榜,鱼竿等级,刷新钓鱼,鱼塘等级;

      本功能需要开启才能使用,本功能具有高刷屏风险,如果没有高管理能力,慎用!

      钓鱼需要一把鱼竿,一把500金币,可以升级。

      鱼上钩后需要操作!

      • 向左拉|左|1 左操作
      • 向右拉|右|2 右操作
      • 收线|拉|0 收线操作
      • 放线|放|~ 放线操作
      • !|!|收|起|提|竿 收竿操作

      鱼竿等级决定最小鱼等级保底,最大鱼等级;
      鱼塘决定最大鱼等级;

      在操作的过程中会随机生成操作,你需要做对应的操作(不会提示),
      左和右决定品质系数
      收和放决定等级系数(同时受鱼竿等级影响)

      操作对会增加对应系数,失败则减少,放线会重置所有系数。

      具体鱼的信息来自于星露谷物语和群友的灵感。

      一些特定的系数和等级会固定掉到彩蛋!

      设计之初还有自定义鱼塘,目前已经鸽了很久了,

      红包功能

      在此感谢Travellerrr编写了此功能。

      指令发红包 (额度) (个数) [sj|随机],领红包 (红包id),收红包 (红包id),抢红包,红包列表,全局红包列表,开启 红包,关闭 红包;

      本功能需要在对应群开启。

      通过发红包指令发红包 100 10可以发一个均分100的10个红包,结尾加上sj或随机可以将红包改为随机红包。

      红包24小时到期,到期没有领的红包自动退回账号。

      抢劫功能

      权限code:rob。

      在此感谢Travellerrr编写了此功能。

      指令开启 抢劫,关闭 抢劫,释放出狱,抢银行,抢劫 (@id),保释 (@id),[管理员指令]平账 (@id);

      本功能需要在对应群开启。

      抢劫一个人,概率成功,概率失败。

      被抓进监狱后将无法响应大部分指令,需要保释(要钱!!)。

      你也可以抢银行!

      快快拿起你的阿卡,抢银行吧!!!

      道具功能

      指令背包,backpack,道具商店,shops,购买 (道具) (数量),buy (道具) (数量),使用 (道具) (数量),use (道具) (数量);

      道具系统有bug,并且结构设计的有点问题,目前在考虑重构,敬请期待!

      管理员指令

      指令 用处
      greedisgood (金额) 获取指定金额

      Console指令

      指令 用处
      hye v 查询壶言经济版本

      未完成的规划

      • 赌博功能
      • 抢劫功能
      • 红包功能
      • 道具功能重构
      • 增强功能间互动性
      • 教会功能

      关联插件

      • 仿BA制造的好感度插件

      建议和交流

      如果在使用本插件的时候预计bug,或是有好的建议,请优先前往github
      提issues,
      再考虑到我的插件群不是云的茶壶云(390444068)提问。img.pngimg.png

      发布在 插件发布
      Moyuyanli
      Moyuyanli
    • 想收集一下现在大家对于mirai的使用情况

      由于腾讯的神必操作,导致现在mirai大不如从前,但是仍然有一部分用户还使用着mirai,现在想收集一点信息,为之后的开发做打算。

      收集信息如下:

      还在使用mirai吗:是/否
      通过那种登录方式使用的mirai:
       1.签名服务
       2.Overflow
       3.其他
      mirai登录情况稳定吗:稳定/不稳定
      mirai的相关功能使用方式:
       1.mirai插件
       2.mirai-http外接
       3.mirai-core原生开发
      使用mirai的相关平台:win/linux/Android
      

      目前就征集这些信息,谢谢大家反馈!

      发布在 使用交流
      Moyuyanli
      Moyuyanli
    • RE: 目前可用的插件开发调试方案

      我是通过签名测试的,一套文件复制进沙盒就能测试

      发布在 开发交流
      Moyuyanli
      Moyuyanli
    • [壶言]一款各种自定义回复消息插件

      HuYanSession 壶言会话———自定义回复和小群管插件

      上面的download是下载,release是查看所有版本!

      最近更新

      壶言会话2已经发布

      点击上面壶言会话2跳转或者点击 这里 跳转


      使用

      下面有个群,群里有一个打包好的了控制台版mcl包,供新手使用...

      丢进plugin文件夹中运行console就行
      运行一次之后停掉console,到config里面设置一下主人和指定机器人


      基本功能

      学习指令

      根据关键词进行特定形式的回复
      学习指令的基本格式

      学习 (触发内容) (回复内容) [精准|模糊|头部|结尾] [当前|gr{编号}|全局]
      例: 学习 啊 吧
      

      后面两个参数是可选,不带就是默认第一个

      后续可能会简化学习指令的格式为xx


      关键词参数意义

      可以指定关键词匹配方式,以及作用域范围

      指定匹配方式:
      目前有4种匹配方式

      • 精准:一模一样才能触发
      • 模糊:只要消息内包含关键词就能触发
      • 头部:消息最前面的内容相同就能触发
      • 结尾:消息结尾的内容相同就能触发

      当你学习了一个模糊匹配的关键词

      学习 怎么办 凉拌咯~ 模糊
      

      在遇见消息内包含'怎么办'就会触发

      58d4fce4-e60f-45ad-8171-c2aed424f686-图片.png

      其他匹配机制同理

      指定作用范围,目前有三种形式:

      • 当前:在群内学习的消息回复不携带参数会默认为当前群触发
      • gr{编号}:设定为你指定的多个群触发
      • 全局:所有群都能触发

      如果不填,默认只在本群触发。
      群组的说明再下面。
      添加全局的话只能是主人才能添加!

      学习 啊 巴~ 结尾 群组2
      学习 乒 乓 全局
      

      查询和删除

      查询 [关键内容]
      
      删除 (关键内容)
      

      查询可以查询全部,也可以查询单条信息

      9788bf06-a603-4ed0-a5a9-eae24996b323-图片.png


      多词条消息

      特别设定了一个关键词触发多条回复消息的功能。

      学习多词条 触发内容 回复内容1 [精准|模糊|头部|结尾] [当前|gr{编号}|全局] [轮询|随机]
      
      • 轮询 从你添加的第一条开始,一条一条发送
      • 随机 随机发送其中一条

      当第一次学习多词条时,会新建一条多词条消息,后续学习多词条都只会进行添加回复内容,不会更改参数

      学习多词条 触发内容 回复内容2
      

      也有便利的多词条添加功能

      添加多词条 触发内容
      

      92b25bea-aed5-4760-a361-cf636ffe723f-图片.png
      255e2baf-a462-4b14-8d1f-5204329b5bff-图片.png

      然后就可以分条发送你需要添加的内容了。
      有一个容错机制,发送'!'删除上一条触发内容。
      需要完成添加只需要发送'!!!',即可结束添加,将内容保存到
      该条多词条回复中。

      多词条回复的查询跟回复消息的查询一样。
      但是删除可以有两种情况

      删除多词条 触发内容 回复内容
      

      这样的删除可以删除该条多词条回复中的某一个回复内容。
      需要删除整个多词条跟消息回复的删除一样

      删除 触发内容
      

      要折叠的内容


      群组操作

      由于机器人拥有的群属于个人隐私
      因此该指令只能由主人跟机器人私发

      +gr:(群组编号) (群号1) [群号2] ...
      

      群号可以一次添加多个,也可以一次就只加一个,然后继续添加。

      -gr:(群组编号) [群号]
      

      删除也是处于两种状态->
      一种只填写群组编号,直接删除该群组
      一种填写群组编号和群号,删除指定群组下的指定群号

      图片已经过时了,看看就行
      f0787d2b-d325-45c9-8a24-aa3443875e18-图片.png

      gr:   #查看
      

      权限操作

      内部携带一个简单的权限系统,可以让部分指令的权限外放

      操作指令

      +@某人 (session|admin|group|all)
      -@某人 (session|admin|group|all)
      
      • session 会话权限 也就是学习 删除 查询 3大指令的使用权
      • admin 管理权限 可以操作权限的人,意思他也可以操作别人的权限(只有这个权限的话也是用不了会话仨指令的,虽然能给自己加就是)
      • group 群管理权限 群管操作的指令权限
      • all 上面3个权限

      群管理操作

      欢迎新人

      默认有个欢迎词,如果不自定义添加的话。

      +hyc:(tag)  (内容) [群组{编号}]  #添加
      -hyc:(tag)  #删除
      hyc:  #查看欢迎词
      

      d0fe1e66-f8bf-4a30-89e9-364ebace0b11-图片.png

      支持图片,支持多条消息,每次加人会随机获取一条发送。

      默认无检测群。
      需要用指令添加qq群来实现检测

          /hy addgroup <群号> #添加
          /hy delgroup <群号> #删除
      

      也可以去config里面手动添加

      解禁言

      对于禁言,设立了超级便捷的识别法

          @某人 3s  #禁言3秒
          @某人 5m  #禁言5分钟
      

      cbf0b9db-1630-45b4-99b7-6e98dbe602ee-图片.png

      其他的时间单位还有h(小时),d(天)。
      解除禁言只需要吧时间改为0s就可以了。

      记得给机器加管理哦~

      同时,该指令支持权限操作,也就是拥有group权限的群友同样可以使用。


      群违禁词

      可以添加一个用于精准匹配的违禁词,当检测到时就会禁言加撤回

      +wjc:(id) (违禁词内容) [{禁言时间}] [gr(id)|全局]
      -wjc:(id)
      wjc:
      

      禁言的时间跟上面的写法相同


      踢人

      踢人@某人
      

      定时任务(测试中)

      最新开发的功能,可以按照需求添加定时任务虽然叫任务,但是目前只支持发送消息。

      用主人号给机器私发消息即可

      %ds  #添加定时任务
      添加定时任务  #中文指令
      

      然后照着提示一步一步发送就行。
      在任意一个步骤,发送'!!!'即可停止添加!

      049c9eb8-4f6d-4db4-9db0-56401850d40d-图片.png

      对于定时器名称,支持中文。
      对于定时频率,目前不支持中文识别在做了在做了...
      只识别cron表达式,不懂的请务必花5分钟了解一下

      输入格式

      $cron(表达式)
      

      这个是为定时任务设置的一个参数识别,后续可能还会有http之类的。

      定时任务添加完成后默认关闭,可以查看

      ds: #查看定时任务
      +ds:(id) #开启定时任务
      -ds:(id) #关闭定时任务
      
      查询定时任务   #中文指令
      开启定时任务:(id)   
      关闭定时任务:(id)
      

      6d86e51a-6221-43d1-bb25-fe68e5b0e8b5-图片.png

      现在可以查看一个定时任务的详细信息

      ds:(id)
      

      9aa4f160-ea27-4141-a8a9-e6418046aa63-图片.png

      删除定时器

      %ds:(定时器编号)
      删除定时任务:(id)  #  中文指令
      

      需先查询对应的定时器编号,才可正确的删除!


      其他操作

      刚进社区就接触了个斗地主插件,所以玩了好久。
      甚至后来拿到源码根据自身的需求进行了一番修改,然后继续用着,但是没有帮助,就顺手在本插件里面写了一个改过后的斗地主插件的帮助...

      欢迎查看斗地主帮助!
      在有权限的群内发送'开桌'即可创建斗地主对局.
      需求自定义底分的对局可发送'开桌 [底分]'即
      可创建自定义底分对局.
      对局创建后,发送'上桌'即可上桌,当人满3人就
      可以发送'发牌'让机器人给你们发牌.
      在对局未开始之前上桌可以发送'下桌'下桌.
      游戏开始后进入抢地主,可发送'抢','抢地主'
      或'不抢'进行地主的博弈.
      进入出牌阶段,发送'![牌]'即可出牌.
      当你要不起时可以发送'过','要不起','不要'来跳过.
      在任何阶段,管理员可以发送'掀桌'结束对局.
      指令帮助.
      #d beg 领取每日500豆
      #d me 查看胜率
      #da add qq point 为qq添加point个豆子
      #dc addamin qq 添加游戏管理员
      #dc addgroup qq群号 添加游戏群
      以上就是斗地主帮助,祝你游戏愉快!

      发送斗地主就可

      斗地主
      

      想要我这个斗地主改版也可以来找我要或者进群里要。
      这个默认是关闭的,可以按需求开启。

      发送帮助即可获取本插件的基本帮助
      默认不在群里显示,可以在config里面开启群内显示(方便与群友学习)
      查看所有帮助需要在发送帮助后面发送详细帮助

      帮助
      
      详细帮助
      

      帮助里面有个本帖子的链接地址,但是默认不显示,可以到config里面开启。
      因为所有更新优先填写到这边,其他位置可能稍微慢点。

      有几个指令,只有console的主人才有权限使用

      /hy pu 对喷
      
      /hy power <s> <qq> <power> 根据qq号进行权限更改,第一个参数就是+或者-
      

      已知BUG和规划

      -规划:自定义定时回复 ->1.8.12
      -规划:实现消息分组设置 ->1.9.12
      -规划:自定义关键词禁言 -> 1.11.23
      -规划:多次发送消息类型学习方法(方便设置菜单) -> 在2.0实现
      -规划:更便捷的学习指令 -> 在2.0实现
      -规划:自定义戳一戳消息 -> 规划到 2.0后面
      -规划:重构2.0--完成


      意见与反馈

      如果你有更好的意见或者发现了某个bug,欢迎在下方评论


      交流

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

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


      推荐

      进了一个Mirai的交流群
      欢迎大家也进来玩啊~
      群里有一个打包好的了控制台版mcl包,供新手使用...

      发布在 插件发布
      Moyuyanli
      Moyuyanli
    • RE: Mirai相关项目和插件合集

      这个整合就非常的到位!赞

      发布在 项目发布
      Moyuyanli
      Moyuyanli
    • RE: 给Mirai娘的新衣服!

      @南栀沁寒 不要在这理发店(doge)

      发布在 摸鱼区
      Moyuyanli
      Moyuyanli
    • 一个轻巧的hibernate连接模块,用于开发。

      Hibernate-plus

      名字有点张扬了

      hibrnate强化集成,用于以最小的程度连接你的数据库,为你带来最舒服的数据持久化。
      封装了常用方法,也保留了Session的获取。

      内置3种数据库驱动:
      H2
      MySQL
      Sqlit

      使用

      在你的项目中引用
      maven:

      <dependency>
        <groupId>cn.chahuyun</groupId>
        <artifactId>hibernate-plus</artifactId>
        <version>1.0.15</version>
        <type>module</type>
      </dependency>
      

      gradle:

      implementation("cn.chahuyun:hibernate-plus:1.0.15")
      

      然后创建配置文件

      //这里是你的启动类
      Configuration configuration = HibernatePlusService.createConfiguration(Test.class);
      
      configuration.setDriveType(DriveType.MYSQL);
      configuration.setAddress("localhost:3306/test");
      configuration.setAutoReconnect(true);
      configuration.setUser("root");
      configuration.setPassword("123456");
      
      //configuration.setPackageName("cc.cb.entity");
      

      对于驱动类型DriveType,目前只提供了3种类型

      • H2
      • MYSQL
      • SQLITE

      对于java插件的实现:

      EconomyConfig config = HuYanEconomy.config;
      
              Configuration configuration = HibernatePlusService.createConfiguration(economy.getClass());
              configuration.setPackageName("cn.chahuyun.economy.entity");
      
              DriveType dataType = config.getDataType();
              configuration.setDriveType(dataType);
              Path dataFolderPath = economy.getDataFolderPath();
              switch (dataType) {
                  case MYSQL:
                      configuration.setAddress(config.getMysqlUrl());
                      configuration.setUser(config.getMysqlUser());
                      configuration.setPassword(config.getMysqlPassword());
                      break;
                  case H2:
                      configuration.setAddress(dataFolderPath.resolve("HuYanEconomy.h2").toString());
                      break;
                  case SQLITE:
                      configuration.setAddress(dataFolderPath.resolve("HuYanEconomy").toString());
                      break;
              }
      
              HibernatePlusService.loadingService(configuration);
      

      对于kotlin插件的实现:

      val configuration = HibernatePlusService.createConfiguration(plugin::class.java)
      
                  configuration.classLoader = plugin::class.java.classLoader
                  configuration.packageName = "cn.chahuyun.authorize.entity"
      
                  configuration.driveType = dataType
                  when (dataType) {
                      MYSQL -> {
                          configuration.address = mysqlUrl
                          configuration.user = mysqlUser
                          configuration.password = mysqlPassword
                      }
                      H2 -> configuration.address = HuYanAuthorize.INSTANCE.dataFolderPath.resolve("authorize.h2.mv.db").toString()
                      SQLITE -> configuration.address = HuYanAuthorize.INSTANCE.dataFolderPath.resolve("authorize.mv.db").toString()
                  }
      
                  HibernatePlusService.loadingService(configuration)
      

      对于实体映射,可以填写packageName,进行指定包扫描,模板将会自动将带有Entity的实体添加到映射目录中。

      当然你也可以不填写,那么我将会根据你的ClassLoader自动扫描"entry", "entity", "entities", "model", "models", "bean", "beans", "dto"几个包名下面的实体。

      给定参数之后就可以通过HibernatePlusService来创建hibernate服务了

      HibernatePlusService.loadingService(configuration);
      

      成功后即可使用HibernateFactory来进行数据操作,我这里封装了几个常用的简单操作

      List<MyUser> myUsers = HibernateFactory.selectList(MyUser.class);
      
      log.info("==========list=============");
      
      for (MyUser myUser : myUsers) {
      log.info(myUser.toString());
      }
      
      log.info("===========================");
      
      MyUser myUser = new MyUser();
      myUser.setName("张");
      myUser.setSex(123);
      
      Integer id = HibernateFactory.merge(myUser).getId();
      
      log.info("==========one=============");
      
      MyUser selectOne = HibernateFactory.selectOne(MyUser.class, id);
      
      log.info(selectOne.toString());
      
      log.info("===========================");
      

      更复杂的操作请自行获取SessionFactory去创建。

      SessionFactory session = HibernateFactory.getSession();
      

      自定义使用

      你也可以不使用我给你的推荐配置,只需要在resources目录下填写hibernate.properties就行,然后通过

      HibernatePlusService.loadingService(Test.class);
      

      就可以使用自定义配置进行连接

      发布在 其他项目发布
      Moyuyanli
      Moyuyanli
    • RE: [壶言]一款各种自定义回复消息插件

      @KomeijiRan 对于不同群的想法可以试试

      发布在 插件发布
      Moyuyanli
      Moyuyanli
    • RE: 来博客互换友情链接

      博客名称:mojadeの破站
      博客**:https://chahuyun.cn/
      头像**:https://data.chahuyun.cn:33443/config/a520573c8f012816539af41fbd8ecc65.jpg
      博客简介:放空每一天~
      名称颜*:#ffeac3

      发布在 摸鱼区
      Moyuyanli
      Moyuyanli
    • RE: 修改 mirai core 使其支持新版NTQQ图床

      收到,阅

      发布在 其他项目发布
      Moyuyanli
      Moyuyanli
    • RE: [壶言2]HuYanSession2——壶言会话2

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

      发布在 插件发布
      Moyuyanli
      Moyuyanli
    • RE: 【每日沙雕图】沙雕小别墅

      ba50851919722fc31ca23c26d537c658.jpg

      发布在 摸鱼区
      Moyuyanli
      Moyuyanli
    • RE: eridanus-dep 轻量化的Onebot v11 python sdk

      6的

      发布在 其他项目发布
      Moyuyanli
      Moyuyanli
    • RE: [壶言2]HuYanSession2——壶言会话2

      @Seayay 明白了,现在的情况是只要是你发的下一条消息,都识别,看来得加个群判断。

      发布在 插件发布
      Moyuyanli
      Moyuyanli
    • RE: [壶言]一款各种自定义回复消息插件

      @BlackWhite2000 需求我看了一下,添加到壶言2的功能列表了。
      关于壶言1的数据,是不可能和壶言2兼容的,我或许会在壶言2完成后添加一个导入方法。

      发布在 插件发布
      Moyuyanli
      Moyuyanli
    • RE: [壶言2]HuYanSession2——壶言会话2

      @怀里抱妹 了解了,感谢反馈
      这个问题真tm神奇

      发布在 插件发布
      Moyuyanli
      Moyuyanli
    • 1
    • 2
    • 1 / 2