NoMathExpectation
NoMathExpectation
考个古,这个又关了,什么时候才能用上啊( (啊我才发现作者把代码都删了,看来无望了)
谢谢解答,把init块移到变量下面就可以正常使用了
我装了好几个 java ,是用来工作的,不可能全卸了啊... 不过估计是java运行时指定错误的问题,请问有没有什么办法指定运行时呢
> 目前已有 `send_private_forward_msg` 和 `send_group_forward_msg` ...有没有可能,就是因为不能直接在消息里包含自定义合并转发节点,而是要调用拓展api来发送,所以才提出这个feature request的
你好,谢谢你的解答。我感觉我可能表述得有问题,造成了误解。我里面的平台指的是机器人对接的平台,例如kook、onebot、qq频道等这样的对接方式。我希望能有一个统一的接口,这样就可以只需写一次代码就可以处理从对接的平台下载文件(或者获取下载地址)和上传并发送文件到对接的平台,这样会方便许多。
有关于文件操作的部分,我个人觉得可以试着这么实现: - **文件下载**:设计一个消息元素接口`FileMessage`,提供一个方法返回文件二进制数据,例如`kotlinx.io`的`Source`,毕竟获取文件的需求本质上是需要读文件的数据; - **文件上传**:设计一个行为对象接口`FileSendSupport`,可以实现方法传入二进制数据来构造`FileMessage`,然后只能通过这种方式去构造文件消息并插入消息链中,防止在不支持的平台上使用上传文件的功能。 这些只是我个人的一点想法,如果有考虑不周的地方请指正。
对于文件对象序列化信息丢失以及文件过大的问题,可以使文件对象序列化时退化为一个不包含认证信息,只有获取文件所需的信息(例如是哪个环境的文件、 id 或 url 等)的对象,然后反序列化之后需要使用特定方法才能重新转化为可获取数据的文件对象,等用户真正需要数据调用获取数据的接口时再去与平台对接下载数据。 然后文件上传,可以只提供一个默认的 API,接受各个平台普遍使用的设置,产生一个平台默认实现的 `FileMessage`。如果用户需要自定义平台设置的话仍然可以自行调用平台独立的 API 去获得自定义的对象。而对于没有提前上传、上传即发送的平台,可以设计 lazy 的文件对象,在发送时检查是否已经上传,如果没有再去实际上传对象;或者是调用创建文件消息对象的方法时上传文件,然后在消息发送中去忽略包含的文件消息对象。 有关于各个平台文件参数不统一的部分,或许可以使用 map ?就像 HTTP 的 Header 一样,在框架里定义一套文件的标准属性,例如 `attr["name"] = "foo"` 代表文件名为 foo ,这样不同平台可以读取写入标准属性中,支持的平台可以尽量去支持实现这些属性,而不支持的平台可以忽略不支持的属性。然后上一段的文件上传 API 就可以改为接受这些属性去构造一个文件消息对象了,这样也可以兼顾各个平台的参数了。 个人意见,可能考虑不周,敬请指教。
> Hi. Do you mean with something like the [FileObserver](https://developer.android.com/reference/android/os/FileObserver)? Yes, sure. If the store can be reloaded automatically that would surely be better.
所以5.0要出了吗 