mirai icon indicating copy to clipboard operation
mirai copied to clipboard

添加获得发送文件时的消息源的方法

Open NoMathExpectation opened this issue 2 years ago • 9 comments

想让机器人引用刚刚发送的文件(机器人发的),然后没找到上传文件时获得文件消息的方法。 就想着用GroupMessagePostSendEvent监听,然而这个也监听不到发送文件的消息。 希望能够添加一个方法,在上传文件时可以选择获得文件消息的消息源,而不是AbsoluteFile实例。

NoMathExpectation avatar Apr 02 '22 11:04 NoMathExpectation

这确实是个问题

Him188 avatar Apr 02 '22 11:04 Him188

我觉得可以增加一个 uploadNewFileWithReceipt 或者 uploadNewFileReceipt 返回 MessageReceipt 而不是 AbsoluteFile. 也可以考虑都返回

Him188 avatar Apr 02 '22 12:04 Him188

有文件消息的话可以找到对应的AbsoluteFile,所以我觉得可以不用都返回

不过还是想问一下如果都返回是会做成什么样子

NoMathExpectation avatar Apr 02 '22 12:04 NoMathExpectation

~好像 close 错了 issue~

Him188 avatar Apr 02 '22 12:04 Him188

确实希望有,~而且希望可以根据MessageReceipt获取上传是否成功的标志,比如消息ids。~ 目前测试在有些群里面上传会不成功,但是返回的AbsoluteFile貌似无法判断出是否上传成功(id属性不为空,就跟正常的差不多)。

imldy avatar Apr 11 '22 08:04 imldy

那属于意外情况,出问题是应该抛异常的

Him188 avatar Apr 11 '22 16:04 Him188

有文件消息的话可以找到对应的AbsoluteFile,所以我觉得可以不用都返回

但是这个操作是会有一次网络请求的,一次这样的请求可能花费200ms

Him188 avatar Apr 20 '22 22:04 Him188

或许一个解决方案是避免这个网络请求,我觉得这比上面的同时返回的方案要好

Him188 avatar Apr 20 '22 22:04 Him188

有解决办法了吗

jiashu1024 avatar Dec 11 '22 08:12 jiashu1024