SinKy-Yan / zhenxunbot-docker

真寻BOT的Docker镜像编译源码,已集成运行BOT必须的PostgreSQL、绪山真寻BOT
GNU Affero General Public License v3.0
166 stars 29 forks source link

重新部署无法重新初始化、gocq镜像登录失败退出无法更改配置,特殊字符造成的登录失败 #28

Closed ForElysia-Emen closed 1 year ago

ForElysia-Emen commented 1 year ago

使用dockers-compose命令删除容器重开后,zhenxun日志显示不是第一次启动,不进行初始化。 请问判定是否第一次启动的文件在哪里,如何删除干净并重新部署,第一次启动时把旧bot导出的数据库文件放在哪里能在启动时自动导入(旧版本镜像里说放进my_plugins文件夹,但在新版本镜像里使用毫无作用(已经在volumes映射了my_plugins路径))

gocq镜像在登录失败后会直接退出,这是一个极其匪夷所思的设计。开启容器会直接登录,然后登录失败直接退出。我甚至无法进入容器更改配置。关闭docker服务更改容器入口点程序又过于麻烦。所以如果登录失败就只能删掉gocq容器重新部署。

另一个问题是登录失败,(不要再问我填没填对,我确认了八伯遍了)。密码中包含“@.”之类的特殊字符,没学过python也不清楚登陆代码再哪里,无法确定是否是特殊字符的原因。如果不是我再另寻他法。

最后是一点建议,没有必要分出如此多的镜像,gocq登录扫码不便确实可以分出一个,但数据库单独分在我使用时感受并无此必要。这只是我使用的个人感受,在设计时请综合考虑

SinKy-Yan commented 1 year ago
  1. 不是第一次启动大概率是你没有删储存卷或者映射目录
  2. 那个数据库导入的功能在新的镜像上我去掉了,现在的方法是直接先创建SQL的容器,然后你自己导入,再创建真寻的容器
  3. gocq那个镜像里面就是一个可执行文件,所以如果你会用的话可以不用容器,登录失败就直接退出这个确实是个问题,有空修
  4. 包含特殊字符这个应该就是Python的问题了,我问一下
  5. 分这么多个镜像,是因为之前就是四合一,webui+gocq+sql+zhenxun,单个镜像会非常大,而且占内存,有些人的数据库是自己有额外的地方存的
ForElysia-Emen commented 1 year ago

我扫码登陆仍然登陆失败,根据gocq的更新日志,应该是tx的问题。 数据库导入那我手动导入。 gocq登陆失败即,可以在/home/go-cqhttp -faststart下一行使用sleep 99999。虽然不怎么优雅,但是够用() 谢谢解答o7