MiraiForum

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

    1130600015

    @1130600015

    0
    声望
    1
    资料浏览
    5
    帖子
    0
    粉丝
    0
    关注
    注册时间 最后登录

    1130600015 取消关注 关注

    1130600015 发布的最新帖子

    • MessageSource序列化

      java对MessageSource序列化怎么操作,用那个类

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

      @wssy001

       Bot bot = BotFactory.INSTANCE.newBot(new Long(account), password, new BotConfiguration() {{
                 setProtocol(MiraiProtocol.ANDROID_PAD);
                 String proto = getProtocol().name();
                 setWorkingDir(new File(workDir));
                 File dir = new File(workDir);
                 if (!dir.exists()) {
                     dir.mkdirs();
                 }
                 this.disableContactCache();
                 setCacheDir(new File("cache"));
                 fileBasedDeviceInfo(account + "-" + proto + "-" + "device.json");
             }});
       
             GlobalEventChannel.INSTANCE.subscribeAlways(Event.class, event -> {
                 System.out.println(event.getClass().getSimpleName());
            
             });
             bot.login();
             Group group = GroupUtil.getDataGroup();
             AbsoluteFolder root = group.getFiles().getRoot();
             File file = new File("/Users/jiashu/Downloads/1.jpg");
             root.uploadNewFile("/1.jpg", ExternalResource.create(file).toAutoCloseable());
      
      //程序运行结果
      BotOnlineEvent
      2022-12-13 23:46:45 I/Bot 2567327040: Bot login successful.
      2022-12-13 23:46:45 V/Net 2567327040: Send: OidbSvc.0x6d6_0(OidbSvc.0x6d6_0)
      GetMsgSuccess
      2022-12-13 23:46:45 I/Net 2567327040: Syncing friend message history: Success.
      2022-12-13 23:46:45 V/Net 2567327040: Send: OidbSvc.0x6d9_4(OidbSvc.0x6d9_4)
      2022-12-13 23:46:45 V/Net 2567327040: Recv: OidbSvc.0x6d6_0
      SendGroupMessageReceipt
      2022-12-13 23:46:46 V/Bot 2567327040: Group(701096958) <- [mirai:file:1.jpg, id=/304fe63e-b561-4b14-81d1-583969cbc8ca, internalId=102, size=229529]
      2022-12-13 23:46:46 V/Net 2567327040: Recv: OidbSvc.0x6d9_4
      2022-12-13 23:46:46.137  INFO 35457 --- [           main] c.zjs.facesignin.FacesigninApplication   : Started FacesigninApplication in 3.501 seconds (JVM running for 3.762)
      ConfigPush
      2022-12-13 23:46:47 V/Net 2567327040: Saving bdh session to cache
      2022-12-13 23:46:47 V/Net 2567327040: Send: ConfigPushSvc.PushResp(ConfigPushSvc.PushResp)
      2022-12-13 23:46:47 V/Net 2567327040: Recv: ConfigPushSvc.PushReq
      

      并没有groupmessageEvent,唯一看到的一个receipt当我去尝试获得这个实例的时候。idea告诉我使用了来自不同模块的 Kotlin 内部声明 ,所以我好像也获得不到这个reciept。代码如下
      if (event instanceof GroupMessageProcessor.SendGroupMessageReceipt)

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

      经过不断尝试,发现以下办法可以实现这个需求。
      新api无法实现需求

          public void uploadImage(String dir, String fileName, File image, Group group) {
              RemoteFile root = group.getFilesRoot(); //idea标注已弃用
              RemoteFile remoteDir = root.resolve(dir);
              if (!remoteDir.exists()) {
                  remoteDir.mkdir();
              }
              RemoteFile remoteFile = remoteDir.resolve(fileName);
              MessageReceipt<Contact> receipt = remoteFile.uploadAndSend(image);
          
          }
      

      目前只能找到废弃的api的办法,也是能实现需求。
      但是需要注意的是:

      1. 通过上述代码创建dir,再上传图片没有问题,但是已经存在的dir,通过resolve方法获得到的dir对应的remoteFile上传文件会报错
      2. 如果要上传到已经存在的文件夹,需要用root对应的remotefile获取到其listFilesa api 通过遍历的方式获取到你想要的remoteFile dir,再进行上传则不会报错。即通过resolve获得到的dir file无法进行文件的上传。

      希望作者能尽快完善群文件新api对获取群文件上传消息回执的支持。感谢!

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

      @cssxsh 记录id,便于后面有用户引用回复这个上传文件消息的时候做处理

      发布在 开发交流
      1
      1130600015
    • 上传群文件回执问题

      请教一下,有什么办法可以获得机器人上传群文件的消息回执,即获得MessageSource等信息

      发布在 开发交流
      1
      1130600015