MiraiForum

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

    wssy001 发布的帖子

    • RE: 关于Mirai在频道的运行

      暂不支持QQ频道 你需要关注其他框架

      发布在 使用交流
      wssy001
      wssy001
    • RE: 如何以较低的内存占用运行mirai

      @I-love-study 我去年的猜想正确 ,要想mirai运行时降低内存占用就得干掉JVM(Hotspot),方式有两种:
      1:可以换VM编译
      2:移植mirai协议至其他语言
      我采用的是方式1,成功地用GraalVM编译mirai-core项目(用的是OpenJDK 19,Ubuntu 20.04 Docker镜像,mirai-core 2.13.3),机器人登录成功后内存仅占用60MB
      同一套代码打成JAR包方式运行成功后则需要160MB的内存
      但方式2可以做到把内存压到30MB以内,比如:mirai-go

      发布在 使用交流
      wssy001
      wssy001
    • RE: 使用mirai-core不被ide识别

      个人猜测是你的IDE自带的kotlin插件版本过低,请尝试使用最新的IDEA

      发布在 BUG反馈
      wssy001
      wssy001
    • RE: 怎么使用mirai-core 登录

      @Aye10032
      我是mirai-core 2.13.2用户
      新版的话 登录问题看论坛的一个帖子,大致步骤是:
      mirai选Android Pad协议
      手机QQ保持登录
      然后mirai登录,触发手机验证码

      发布在 开发交流
      wssy001
      wssy001
    • RE: 上传群文件回执问题

      @1130600015
      我用的是mirai-core-jvm 2.13.2

      import net.mamoe.mirai.event.events.GroupMessageEvent;
      
      bot.getEventChannel()
                          .subscribeAlways(GroupMessageEvent.class, groupMessageHandler::handle);
      

      88bf28d3-c48c-4e68-a40e-44f71258c24d-image.png
      可以点击此处在线查看Mirai提供的事件列表

      发布在 开发交流
      wssy001
      wssy001
    • RE: 上传群文件回执问题

      群文件上传成功会触发GroupMessageEvent,你只需要判断该event中是否包含FileMessage即可。
      个人建议,在你处理GroupMessageEvent代码中打个断点,然后上传一个群文件看看GroupMessageEvent中有哪些信息是你需要的。
      顺带说一下,群文件删除是会触发MessageRecallEvent.GroupRecall事件,但从中无法获取被删除文件的信息,可能需要其他方法或途径实现,还是等待大佬答疑解惑吧。

      发布在 开发交流
      wssy001
      wssy001
    • RE: 如何将内存占用映射到QQ昵称上

      获取机器人实时占用信息,这个调用JDK自带的方法(也可以使用非常棒的第三方库Oshi),对数据进行一些格式化即可,网上还是有不少使用案例,Ctrl + CV即可。
      貌似Mirai还没支持Bot的昵称修改,建议自定义一个关键词、指令,让bot将信息发送至目标QQ或QQ群。也可以使用定时任务让Bot主动推送系统资源占用情况。

      发布在 使用交流
      wssy001
      wssy001
    • Image.isUploaded()失效了?

      项目有个需求,当上传的图片过大时先返回一个“图片正在上传中……”的提示。

      查看文档,发现了这个Image.isUploaded()方法
      照着注释试了几次,发现效果不符预期,返回结果总是false。

      环境:

      OpenJDK 17
      Mac OS Monterey 12.6.1
      mirai-core-jvm 2.13.0-RC2
      SpringBoot Maven 项目
      

      测试操作
      我先是如下操作

      File file = new File(photoPath);
      try (ExternalResource resource = ExternalResource.create(file)) {
          String suffix = FileNameUtil.getSuffix(file);
      
      //  我能确保该方法返回的imageId与Bot.uploadImage()返回的一致
          String imageId = generateImageId(resource.getMd5(), suffix);
          Image image = Image.fromId(imageId);
      
      //  false,即使我能确保QQ服务器中存在该图片
          return Image.isUploaded(image, bot);
      } catch (Exception e) {
          return false;
      }
      

      查看源码,又通过Image.Builder构造Image对象

      File file = new File(photoPath);
      try (
          ExternalResource resource = ExternalResource.create(file)
      ) {
          BufferedImage bufferedImage = ImageIO.read(file);
          String suffix = FileNameUtil.getSuffix(file);
          String imageId = generateImageId(resource.getMd5(), suffix);
          Image.Builder builder = Image.Builder.newBuilder(imageId);
          builder.setType();
          builder.setSize();
          builder.setWidth();
          builder.setHeight();
          
      //  我能确保上述参数与Bot.uploadImage()返回的一致
          Image image = builder.build();
      //  仍然是false,图片的确在服务器上
          return Image.isUploaded(image, bot);
      } catch (Exception e) {
          return null;
      }
      

      不确定是不是BUG。X (

      暂时的替代方法如下:
      通过Image.queryUrl()获取图片的URL,调用http GET请求获取目标图片,也可通过状态码来进行简易判断。

      发布在 开发交流
      wssy001
      wssy001
    • RE: Bot定时主动发送一条消息

      @ConstantineQAQ 无非就是一个定时任务的编写 这里说一个原生方案, 用ScheduledExecutorService啊,JDK自带的,网上有使用方法

      发布在 技术交流板块
      wssy001
      wssy001
    • RE: 想问问如何在 mirai-core 中使用 Myabtis-plus

      关于spring环境的建议,个人看法是:
      认清mirai机器人在项目中的角色。如果你的项目简单、业务围绕机器人展开,不太建议使用spring;但如果mirai在你的项目中仅充当一个用户交互方式(例:消息通知、消息传递等),建议使用spring环境。当然,如果你熟悉spring或springboot,那为啥不用spring或springboot反而去用mirai的依赖环境?

      mybatis-plus使用了spring的AOP、事务等内容,导致它与非spring(或非springboot)项目不能完美兼容。当你使用mybatis-plus作为ORM时,你的项目注定是spring(或springboot)的!

      发布在 开发交流
      wssy001
      wssy001
    • RE: 如何实现把小程序卡片发送至群?

      你是指卡片消息?卡片消息相关文档

      相关示例:

      XmlMessageBuilder xmlMessageBuilder = new XmlMessageBuilder();
      xmlMessageBuilder.setAction("web");
      xmlMessageBuilder.setBrief("只是一条关于XX的说明");
      xmlMessageBuilder.setSourceName("来源于XX APP");
      
      xmlMessageBuilder.item(-23296, 2, itemBuilder -> {
          itemBuilder.picture("图片URL");
          itemBuilder.title("标题是:XXX");
          itemBuilder.summary("sth here", "#000000");
          return null;
      });
      
      xmlMessageBuilder.item(0, 6, itemBuilder -> {
          itemBuilder.summary("sth here", "#000000");
          return null;
      });
      
      MessageChain chain = new MessageChainBuilder()
      .append(new SimpleServiceMessage(95, xmlMessageBuilder.getText()))
      .build();
      

      当然也可以直接利用现成的XML/JSON卡片数据,直接构造一条卡片消息。

      发布在 开发交流
      wssy001
      wssy001
    • RE: mirai有无可以发送自定义xml的插件a我记得之前有看见过

      可以自行构造 相关文档 mirai我记得是可以直接发送XML/JSON的,但是服务消息这块很不稳定(腾讯对于QQ服务消息这块比较严,搞了个token,暂不清楚如何获取)。个人建议可以把简单的卡片消息直接渲染成一张图片发送出去。此外,QQ的卡片消息在Mac OS,IOS,PC和Android上没有做好统一渲染,尤其是Mac OS用户比较惨。

      发布在 开发交流
      wssy001
      wssy001
    • RE: 如何使机器人直接发送消息给指定群

      文档有写

      发布在 开发交流
      wssy001
      wssy001
    • RE: Bot都能找本子了?

      QQ频道机器人开发群都知道这事儿了

      发布在 摸鱼区
      wssy001
      wssy001
    • RE: 登陆API?

      或许需要手动在mirai-core/mirai-console中定义一个登陆接口?如果你愿意这么做,我可以分享思路

      发布在 HTTP API和第三方SDK
      wssy001
      wssy001
    • RE: 发送webp格式图片的解决方案

      之前Github上也有相关的issue,考虑到webp还需要QQ的支持,我目前都是先转成jpg/png再发送。

      发布在 开发交流
      wssy001
      wssy001
    • RE: Java + Springboot 导致后台有收到消息,而实际群消息没有返回的问题

      还有一种可能是腾讯的风控,可以试着换一个很活跃的QQ作为机器人,测验功能

      发布在 开发交流
      wssy001
      wssy001
    • RE: Java + Springboot 导致后台有收到消息,而实际群消息没有返回的问题

      没有返回?可否告知你的mirai-core版本,我这边是mirai-core 2.10.x + springboot 2.6.x,正常使用中。另外,建议debug一下,判断是mirai-core的问题还是说项目代码逻辑问题。

      发布在 开发交流
      wssy001
      wssy001
    • RE: mirai基于maven模板

      支持!!!!

      发布在 其他项目发布
      wssy001
      wssy001
    • 1
    • 2
    • 3
    • 4
    • 5
    • 1 / 5