HibiKier / zhenxun_bot

基于 Nonebot2 开发,非常可爱的绪山真寻bot
GNU Affero General Public License v3.0
3.39k stars 602 forks source link

图片发送问题 #165

Closed zzcabc closed 2 years ago

zzcabc commented 2 years ago

在本地的nas部署,采用docker部署

docker run \
    --name zhenxun_bot \
    --network=host \
    -v /usr/docker/zhenxun_bot:/bot \
    -e SU='qq号' \
    -e DB='postgresql://postgres:root@10.10.10.12:5432/database' \
    hibikier/zhenxun_bot:0.1.5.0
docker run -d \
    --name gocqhttp \
    --network=host \
        -v /usr/docker/gocqhttp_data:/data \
        pcrbot/gocqhttp:ffmpeg

单发送图片时,gocqhttp会因为file的问题找不到图片

[WARNING]: 转换CQ码 ({"type": "image", "data": {"file": "file:////bot/resources/image/superuser_help.png", "type": null, "cache": "true", "proxy": "true", "timeout": null}}) 到MiraiGo Element时出现错误: file not found 将忽略本段CQ码. 
[WARNING]: 群消息发送失败: 消息为空. 
zzcabc commented 2 years ago

获取管理员帮助,图片地址出错,识图地址出错 这段代码之后的图片地址就会变成4个斜杠

if (file := IMAGE_PATH / path / file if path else IMAGE_PATH / file).exists():
            return MessageSegment.image(file)
HibiKier commented 2 years ago

真寻的目录映射出来

zzcabc commented 2 years ago

真寻的目录映射出来

已经通过-v映射到本机的/usr/docker/zhenxun_bot目录下

Sakuracio commented 2 years ago

如果gocq在本地环境运行 你需要将真寻映射或软链接到/bot 如果gocq在容器环境运行 你需要将真寻映射到容器的/bot 总之 使gocq在/bot路径能访问到真寻 在本地环境建议使用软链接

zzcabc commented 2 years ago

如果gocq在本地环境运行 你需要将真寻映射或软链接到/bot 如果gocq在容器环境运行 你需要将真寻映射到容器的/bot 总之 使gocq在/bot路径能访问到真寻 在本地环境建议使用软链接

可以了,感谢

yoke0104x commented 2 years ago

@zzcabc 大佬求助

zzcabc commented 2 years ago

@zzcabc 大佬求助

第一步启动bot,然后把本机路径映射到gocqhttp里面就好了,可以看下面的配置

docker run \
    --name zhenxun_bot \
    --network=host \
    -v 本机路径:/bot \
    -e SU='qq号' \
    -e DB='postgresql://postgres:root@10.10.10.12:5432/database' \
    hibikier/zhenxun_bot:0.1.5.0
docker run -d \
    --name gocqhttp \
    --network=host \
        -v /usr/docker/gocqhttp_data:/data \
        -v 本机路径:/bot \
        pcrbot/gocqhttp:ffmpeg