QQ机器人-Astrbot搭配NapCat框架插件文件发送问题

QQ机器人-Astrbot搭配NapCat框架插件文件发送问题

前言

本人在为我的qq机器人张九九编写JM漫画下载插件的时候突然遇到了个挺少见的问题

问题

image

在插件调用File函数向qq发送文件传输请求时遇到了发送消息失败,文件消息缺少参数问题

我所使用的函数调用构建如下:

yield event.chain_result([
	File(
		file=file_path,
		name=f"{album_id}.pdf"
	)
])

解决

File函数中加入url参数,参数值为目标文件地址的本地文件协议

比如要发送的文件在/home/pi/1.pdf

那么函数可以写为

yield event.chain_result([
    File(
        file="/home/pi/1.pdf",
        name=f"1.pdf", #可选
        url=f"file:///home/pi/1.pdf"
    )
])

即可

题外话

File函数内的路径必须在环境中可读,本人机器环境的AstrBot跑在docker中但是NapCat在实体机中,所以这里的路径必须填写实体机能访问的路径

结尾

代码真好啊,哪怕是大模型,产生的情感,也是真实的。

posted @ 2026-06-16 23:07  Windows9999  阅读(15)  评论(0)    收藏  举报