MiraiForum

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

    Rominwolf 创建的主题

    • Rominwolf

      关于基于 Mirai Console 的【经济管理】前置插件的构思
      开发交流 • • Rominwolf

      20
      1
      赞同
      20
      帖子
      1478
      浏览

      Rominwolf

      就是我翻遍了整个 Mirai 的社区和 Github,也没有找到一个类似的经济插件。但是一个生态比较重要的元素就是金融统一,所以我设想了一个针对于 Mirai 生态的前置插件——经济插件。

      如果您曾经了解过 Minecraft 服务器中的经济类插件,那么可以直接代入到本插件的构思。
      具体的 Minecraft 经济插件请见:https://www.mcbbs.net/thread-962904-1-1.html

      命令

      根据上方链接提供的命令列表来看,本插件也会分为用户命令、Bot 管理员命令和控制台命令三种层级的命令。

      用户命令:
      /money - 查询自身的余额
      /money [@或QQ号] - 查询目标用户的余额
      /pay <@或QQ号> <金额> - 转账给目标用户指定数量的金额
      /moneytop - 查询金额排行榜
      /moneyrank - 同上

      Bot 管理员命令:
      Bot 管理员可以设定多个,拥有此权限的管理员可以使用以下命令。
      /money give <@或QQ号> <金额> - 给予指定用户指定数量的金额
      /money take <@或QQ号> <金额> - 扣除指定用户指定数量的金额
      /money set <@或QQ号> <金额> - 设定指定用户的金额为指定数量

      控制台命令:
      允许在控制台形式执行以下命令,无视权限。
      /money give <QQ号> <金额> - 给予指定用户指定数量的金额
      /money take <QQ号> <金额> - 拿走指定用户指定数量的金额
      /money set <QQ号> <金额> - 设定指定用户的金额为指定数量

      权限

      可以基于 Mirai 社区的另一款权限插件 LuckPerms 来实现以下权限的功能。

      economy.user.money - 允许查询自己或别人的余额 economy.user.money.other - 允许查询别人的余额 economy.user.pay - 允许向别人转账 economy.user.moneytop - 允许查询金额排行榜 economy.admin.give - 允许给予某个用户金额 economy.admin.take - 允许扣除某个用户的余额 economy.admin.set - 允许设置某个用户的余额 economy.admin.* - 允许以上所有管理员类下的命令 配置

      这些是可能会用到的一些插件配置。

      system: #通用相关 open: true #是否开启此插件 initial-money: 0 #初始用户金额 payment-tax: 0 #转账时需要支付的税 rank: #排行榜 open: true #是否开启此功能 group-size: 10 # 群聊中显示的名次 private-size: 20 #私聊中显示的名次 currency: #货币相关 name: "元" #货币单位 integer: true #是否限制余额为整数 thousands-separtor: "," #千位数金额分割 min-money: LONG_MIN_SIZE #最少的金额 max-money: LONG_MAX_SIZE #最大的金额 开发者

      鉴于 Mirai 插件的开发和 Minecraft 服务器插件的开发有些区别,所以我设想了以下几种方案来传递数据。

      单例(推荐)

      以单例的方式来更新用户或查询用户的金额。
      更新用户金额:第三方插件可以直接通过插件提供的单例来修改用户的金额。
      查询用户金额:第三方插件可以直接通过插件提供的单例来查询用户的金额。

      控制台

      以控制台的方式来更新用户或查询用户的金额。
      更新用户金额:第三方插件可以直接向控制台发送命令来修改用户的金额。
      查询用户金额:鉴于向控制台提交命令是单向的(即无法返回回调数据),所以无法通过控制台查询用户的数据。
      (当然可能是我疏忽了,期待打脸)

      HTTP(次荐)

      构建一个简易的内部 HTTP 服务。
      更新用户金额:第三方插件可以向指定链接发送请求来修改用户的金额,并可以返回更为详细的结果。
      查询用户金额:第三方插件可以向指定链接发送请求来查询用户的金额,并可以返回更为详细的结果。

      自查询

      让第三方插件自行访问经济插件的数据库。
      更新用户金额:第三方插件自行访问数据库并修改(可能会出现文件锁现象)。
      查询用户金额:第三方插件自行访问数据库并查询。

      以上三种方式不管使用哪种都建议提供一个更易于开发者调用的包/模块。
      当然,如果您有更好的解决方案,欢迎进行一个贴的回复!

    • Rominwolf

      每日打卡 - 一款支持更多打卡类型的打卡应用
      插件发布 • java jvm plugin 每日打卡 打卡 • • Rominwolf

      11
      4
      赞同
      11
      帖子
      3282
      浏览

      Rominwolf

      每日打卡 Daily Attendance 介绍

      这是一款基于 mirai 和 mirai-console 的每日打卡应用。
      其灵感来源于市面上常见的“早起打卡”,但该应用支持更多功能,包括但不限于“早起打卡”、“午睡打卡”、“晚安打卡”和“运动打卡”等更完善的打卡类型。

      开源地址

      https://github.com/Rominwolf/daily-attendance-mirai

      特性

      提供更完善的打卡类型
      除了“早起打卡”,该应用还支持更多不同类型的打卡类型以增加用户粘性,如“午睡打卡”、“晚安打卡”和“运动打卡”,而在未来还会加入“番茄打卡”和“背单词打卡”等。

      自定义化强
      每种打卡类型都支持设定其“开启时间”、“结束时间”和“结算时间”,同时还支持自定义设定连续打卡一周和一月的奖励。
      (详见应用配置文件 gerenal.yml)

      快速对接到第三方资金应用
      您可以在应用配置文件中自定义兑换相关的信息,如“控制台命令行”和“兑换比例”,确保“凭证”实体不仅仅只能作为一种实体。
      (详见应用配置文件 gerenal.yml)

      娱乐性强
      为了进一步增加本应用的娱乐性,除了基本的打卡功能外,还支持“用户信息查询”、“每日打卡提醒”、“打卡排行榜”和“道具系统”等等功能。

      部署

      请前往 Github 主页查看详情。

      贡献

      如果您对此应用有更好的发展建议,欢迎通过反馈 BUG、Pull Request 申请或直接在此帖子下回复来贡献该项目。

      特别鸣谢

      感谢所有支持雪球的同志们……
      和正在阅读该帖子的你!

      捐助

      请为我与我的博客续命,谢谢!:P
      为我发电 -> https://afdian.net/@rominwolf

    • 1 / 1