MiraiForum

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

    Kevincnzuk

    @Kevincnzuk

    0
    声望
    7
    资料浏览
    3
    帖子
    1
    粉丝
    0
    关注
    注册时间 最后登录
    位置 杭州 年龄 20

    Kevincnzuk 取消关注 关注

    Kevincnzuk 发布的最新帖子

    • 谁@我 - 尝试写的第一个非纯Java的插件

      先放一些效果图:
      没人at:
      屏幕截图 2022-07-09 220824.jpg
      有人at:
      屏幕截图 2022-07-09 220926.jpg
      有一堆人at(极端案例):
      屏幕截图 2022-07-09 220911.jpg

      历程:

      我接触mirai后写的几个练手插件基本都是Java原生功能,比如“现在XX地几点”:输入时区返回该时区时间(毕竟群内人并非同一时区),或者一些简单的触发关键字返回等。

      有次见另一个群里的Python机器人支持的这个“谁at我”功能,就想也移植个过来。当时梳理鉴定逻辑时,什么全体成员或mirai码来鉴定at的部分都很好弄,结果开始写后被“保存该at进数据库”给卡住了。(只搞过Android的SQLite 2333,YAML不完全会而且感觉不大适合)

      后来想了个土办法,拿XAMPP在本机搭建localhost和sql环境,然后用PHP去get内容。

      比如提取at信息:

      String url = "http://localhost/who_at_me/get.php" 
          + "?group=" + sender.getGroup().getId() 
          + "&user_id=" + sender.getUser().getId();
      

      用OkHttp发出去。

      $group = $_GET["group"];
      $user_id = $_GET["user_id"];
      

      然后拼出一个JSON出来返回。
      (JSON就不配图了,要马赛克的地方太多了)

      数据库结构 & 数据收集样本展示:
      Screenshot 2022-07-09 at 22-10-02 localhost _ 127.0.0.1 _ who_at_me _ at_list phpMyAdmin 5.2.0.png

      • ID:Primary Key
      • timestamp:时间戳
      • group_id:群号
      • at_from:at人的群昵称
      • at_to:被at人的QQ号
      • at_message:整条含at的信息

      at收集使用SimpleListenerHost,at查询使用JSimpleCommand。

      最后使用Graphics2D绘图,转成ByteArray发出去。

      打算回头把数据存储这块弄好后发插件区试试(
      屏幕截图 2022-07-09 224437.jpg

      发布在 技术交流板块
      K
      Kevincnzuk
    • RE: 摸鱼人日历插件版

      屏幕截图 2022-04-11 224322.jpg
      API一直返回502?

      发布在 插件发布
      K
      Kevincnzuk
    • RE: 摸鱼人日历插件版

      给权限时打了calendar,结果报错;
      仔细一看发现第一个是calender,第二个是calendar。
      建议改下(

      发布在 插件发布
      K
      Kevincnzuk