Closed LaoLittle closed 2 years ago
不过这样的话按理来说丢出后的提示语应该也不能发出的
貌似是mirai的问题,刚刚看到更新
不过考虑到一些问题,还是问问能不能将图片下载到本地
不过考虑到一些问题,还是问问能不能将图片下载到本地
得加钱
保存图片这个功能本身挺容易实现,但是得重新设计漂流瓶的序列化。当初就是因为嫌麻烦才没写的。现在要实现的话可能还得考虑与现在已经保存的漂流瓶的兼容性。
不过考虑到一些问题,还是问问能不能将图片下载到本地
~得加钱~ 保存图片这个功能本身挺容易实现,但是得重新设计漂流瓶的序列化。当初就是因为嫌麻烦才没写的。现在要实现的话可能还得考虑与现在已经保存的漂流瓶的兼容性。
就是懒
我觉得可以先给个命令,遍历检索漂流瓶中的mirai码下载到本地并替换为对应格式
其实自从 #4 加入用nextMessage
之后其他形式的SingleMessage
也得考虑如何正确序列化以及回复,
比如转发消息ForwardMessage
等,不能和Plaintext
在同一条消息内的类型。
其实自从 #4 加入用
nextMessage
之后其他形式的SingleMessage
也得考虑如何正确序列化以及回复, 比如转发消息ForwardMessage
等,不能和Plaintext
在同一条消息内的类型。
是的
像是Plaintext
和Image
甚至QuoteReply
是可以合并在一起的
但是转发消息,视频这种会吞掉消息链的Plaintext
之类的
我觉得可以先发送此类消息,然后发送一条你将上面的消息丢入海中
不过我觉得视频就不要保存到本地了,太笨重了
目前我的想法是在不考虑兼容性的情况下,瓶子只存一个ID,比如用UUID
,然后内容都保存在data/${PluginID}/${BottleID}
目录里,Sea.yml
就变成了瓶子ID的集合
我的想法是只保存图片语音,并像你说的用UUID
不过标记的是图片或语音的文件,把类似%image{文件名}%
这样的标记upload并序列化成mirai code
然后直接replace
并deserializeMiraiCode()
这样貌似也就不需要对Sea
里的漂流瓶内容做额外的修改了
捡起旧漂流瓶报错emmmm
文件未找到,虽然可以发送但是报错很难受
还是把MiraiConsoleDriftBottle.logger.error(e)
删了吧
感觉直接用imageid
的方案确实优于uuid
,因为同一张图片的imagid
是相同的,磁盘也只会保存一张(虽然貌似会重复写入,但还是只有一张)
捡起旧漂流瓶报错emmmm
文件未找到,虽然可以发送但是报错很难受 还是把
MiraiConsoleDriftBottle.logger.error(e)
删了吧
可以考虑增加在缓存缺失时重新尝试缓存的功能?
捡起旧漂流瓶报错emmmm 文件未找到,虽然可以发送但是报错很难受 还是把
MiraiConsoleDriftBottle.logger.error(e)
删了吧可以考虑增加在缓存缺失时重新尝试缓存的功能?
我觉得不错
还有一个就是,删除文件的那里判断出错了
加个感叹号才对
if (!GeneralConfig.incremental) file.delete()
而且deleteOnExit()
是我自动补全选错的...
还有一个就是,删除文件的那里判断出错了
加个感叹号才对
if (!GeneralConfig.incremental) file.delete()
而且
deleteOnExit()
是我自动补全选错的...
确实,等会儿修。deleteOnExit
也能用
还有一个就是,删除文件的那里判断出错了
加个感叹号才对
if (!GeneralConfig.incremental) file.delete()
而且
deleteOnExit()
是我自动补全选错的...
不过直接删掉缓存图片不太科学,如果别的漂流瓶有相同图片的话就会读不到
还有一个就是,删除文件的那里判断出错了 加个感叹号才对
if (!GeneralConfig.incremental) file.delete()
而且deleteOnExit()
是我自动补全选错的...不过直接删掉缓存图片不太科学,如果别的漂流瓶有相同图片的话就会读不到
还得考虑这个,要不干脆不删了
或者说是记录相同id图片在Sea里的数量?当图片数量为0时删除图片
有时候过太久可能就发不出来了(最近是漂流瓶里的图片根本就发不出来,不知道是不是tx改了什么检测机制?),而像
pixiv-helper
之类的把本地图片上传的插件就不受影响