文件上传失败,报错nonebot.adapters.onebot.v11.exception.ActionFailed:
我的后端是Lagrange.OneBot,前端是NoneBot,现在执行/jm命令后程序成功运行并下载转换了本子。 但是在上传的时候出现了报错:nonebot.adapters.onebot.v11.exception.ActionFailed:
Lagrange.OneBot报了 System.IO.IOException: 文件名、目录名或卷标语法不正确。 : 'E:\QQ-Bot\Lagrange.OneBot\file:\C:\Users\31490\AppData\Local\nonebot2\nonebot_plugin_jmcomic\114514.pdf'.
NoneBot报了nonebot.adapters.onebot.v11.exception.ActionFailed:
下面是完整的日志文件
经过检查是nonebot_plugin_jmcomic/init.py中
await bot.upload_group_file(
group_id=event.group_id,
file="file:///" + str(jm_data_dir / f"{id}.pdf"), # noqa
name=f"{id}.pdf",
)
这一段代码的问题。 可能是Lagrange.OneBot的文件路径传入要求和gocqhttp之类的不一样? 根据官方文档说明,上传群文件接口的参数“file”要求传入本地文件的绝对路径,不需要添加“file:///”前缀。 我将代码修改为下面这样后插件正常运行(删除了“file:///”前缀。)
await bot.upload_group_file(
group_id=event.group_id,
file=str(jm_data_dir / f"{id}.pdf"),
name=f"{id}.pdf",
)
希望作者修正,或者添加后端判断之类的代码。
我测试的环境是 napcat 和 llob, 不加 file:/// 会报错 json 无法解析, 我之后可以加一个配置项来让用户选择自己使用的客户端, 并根据填写的客户端使用不同的协议
我测试的环境是 napcat 和 llob, 不加 file:/// 会报错 json 无法解析, 我之后可以加一个配置项来让用户选择自己使用的客户端, 并根据填写的客户端使用不同的协议
好的,出了踢我一下
增加了配置项