|
本帖最后由 岁月的牵绊 于 2022-5-29 18:07 编辑
简述声明:
dbot是一个自动修改青龙config.sh文件的QQ机器人,此项目是由『 科技玩家-ODrea 』开发的,作者只构建了amd64架构的dbot镜像,本人在此基础上重构arm64架构的镜像。
作者docker仓库地址:staronedream/dbot_docker
本人docker仓库地址:https://hub.docker.com/r/grbhq/dbot
版本区别:
1.4版:仅支持对接机器人!
1.5版:支持web网页提交ck,可对接机器人!
dbot教程开始:(以n1的openwrt系统设备为例,全程使用ssh工具部署)
1.4版和1.5版略有不同,不同之处已做区分,请使用对应版本命令。
提醒:
在教程开始之前请获取你设备docker容器的网关地址,后面会用到。如果你知道可以忽略这里。
●获取docker网关ip地址
- docker network inspect bridge
复制代码
一、安装MySQL容器【拉取后的镜像需要占用大概450MB的空间】
1、请选择好你要安装MySQL的文件位置(映射后的文件会占用200MB左右的空间,使用的n1不建议安装在/root目录下)
(1)查看设备各分区空间大小,选择合适的分区安装容器。【本教程选择/mnt/mmcblk2p4下安装,其他设备请视情况选择。】
(2)进入到/mnt/mmcblk2p4目录
(3)安装MySQL容器
- docker run -dit \
- -v $PWD/mysql/log:/var/log/mysql \
- -v $PWD/mysql/data:/var/lib/mysql \
- -v $PWD/mysql/conf:/etc/mysql/conf.d \
- -p 3306:3306 \
- -e MYSQL_ROOT_PASSWORD=123456 \
- -e MYSQL_DATABASE=dbot \
- --privileged=true \
- --name mysql \
- --restart always \
- mysql:8.0-oracle
复制代码 (4)检查MySQL容器是否正常运行
<1>查看容器的运行状态
<2>检查容器运行日志,进一步确认容器是否正常运行
如图,表示MySQL容器一切运行正常,否则请自行排除原因【一般无法正常运行是因为宿主机映射目录下的空间不足引起的】
2、编辑MySQL配置文件,解决数据库中文乱码问题
(1)进入刚刚映射的文件夹中
(2)创建并编辑my.cnf配置文件
(3)复制下面带蓝底的内容粘贴到文件中,并保存文件。
[client]
default-character-set=utf8
[mysqld]
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
[mysql]
default-character-set = utf8
vim使用命令提示:
进入编辑:按字母i
退出保存:按Esc键,再输入:wq
不保存强制退出:按Esc键,输入:q!
上面的冒号不能少!!!
(4)重启MySQL容器,使配置文件生效。
3、将数据库导入到MySQL容器中
【请下载对应版本的数据库文件,下方命令以1.4版为例,1.5版的请把命令中的1.4换成1.5】
(数据库仓库地址:https://gitee.com/suiyuehq/dbot/tree/master/)
【从此处开始你可以使用第三方数据库管理工具连接MySQL容器进行修改,免去使用麻烦的命令,文章最后会提供管理工具,需要用工具操作的请跳过这里的步骤】
(1)下载dbot1.4.sql文件【手动下载地址:https://gitee.com/suiyuehq/dbot/repository/archive/master.zip 下载完解压后再用数据库工具导入】
- wget https://gitee.com/suiyuehq/dbot/raw/master/dbot1.4.sql
复制代码 (2)在dbot1.4.sql文件的当前目录下运行命令导入到MySQL容器的根目录中- docker cp dbot1.4.sql mysql:/
复制代码 (3)进入到MySQL容器内部
- docker exec -it mysql bash
复制代码 (4)登陆连接到mysql服务【用户名:root 密码:123456】
(5)导入数据到dbot数据库中【请注意不要漏了后面的分号】
<1>切换到dbot数据库
<2>导入数据
(6)对dbot数据库中ql表和user表修改,对接青龙和设置管理员【此处1.5版的请跳过,直接去安装dbot容器即可】
<1>查看当前dbot数据库所有的表【检查是否导入成功】
<2>查看ql表的内容
<3>修改ql表的url,Client_ID,Client_Secret为你自己对应的值,分别表示【青龙容器的ip地址,应用id,密钥】请把命令中values后面引号内的值修改成你对应的值
先删除ql表的内容再插入对应的值
- delete from ql where id = 1;
复制代码- insert ignore into ql (id,url,Client_ID,Client_Secret) values ("1","http://172.17.0.1:5800/","xxx","xxxx");
复制代码
修改后的正确示例;
<4>查看user表的内容
<5>修改user表,命令中xxx改为你自己的管理员qq号
先删除user表的内容再插入自己的管理员qq号
- delete from user where admin = 1;
复制代码- insert ignore into user (qq,admin) values (xxxx,1);
复制代码 ok至此,你的MySQL容器已设置好了,接下来安装dbot容器吧!!!【退出mysql请输入命令exit两次】
二、安装dbot容器【拉取后的镜像需要占用大概230MB的空间】【1.4版和1.5版略有不同,请使用对应的命令】
1、还是一样的,自己选择好安装位置,容器会自动映射文件到该目录下【此教程选择的是/root目录】(也可以选择不映射文件)
2、拉取镜像并运行容器
1.4版本命令 | 1.5版本命令 |
- docker run -dit \
- -v $PWD/dbot:/app/dbot \
- -p 2333:2333 \
- -e ENVIRONMENT=prod \
- -e APP_MODULE=bot:app \
- -e MAX_WORKERS=1 \
- --name dbot \
- --hostname dbot \
- --privileged=true \
- grbhq/dbot:1.4 bash
复制代码
| - docker run -dit \
- -v $PWD/dbot:/app/dbots/dbots/mysql \
- -p 2333:2333 \
- -p 2334:80 \
- -e ENVIRONMENT=prod \
- -e APP_MODULE=bot:app \
- -e MAX_WORKERS=1 \
- --name dbot \
- --hostname dbot \
- --privileged=true \
- --restart always \
- grbhq/dbot:1.5
复制代码 ●1.5版dbot的网页后台登陆地址:
【必需导入数据库并对接好数据库后才可访问】
你的设备ip:2334
例如:192.168.1.1:2334
【默认用户名:admin 默认密码:123456】
提交ck地址:你的设备ip:2334/cookie
例如:192.168.1.1:2334/cookie
|
3、进入容器编辑配置文件,对接MySQL数据库【接下来的命令均在容器内执行!!!】
- docker exec -it dbot bash
复制代码 4、编辑配置config.py配置文件【1.5版本配置文件路径在/app/dbots/dbots/mysql/mysql.py】
1.4版本 | 1.5版本 | - vi /app/dbot/plugins/config.py
复制代码
| - vi /app/dbots/dbots/mysql/mysql.py
复制代码
|
5、修改mysql数据库的ip地址和用户名以及对应的端口【ip地址可以使用docker网关地址,或者设备的ip地址都行】
配置示例如图
修改完后保存退出编辑状态
---至此1.5版的基本配置完成,此时可以去登陆网页后台配置青龙和管理员了!!!如需开启机器人请接着往下看---
6、运行go-cqhttp机器人,初始化配置文件【以下教程,1.5版本的可以选择性配置,网页自带提交ck功能】
<1>运行go-cq-http,选择代理方式为:3
- cd /app/dbot/go-cqhttp && ./go-cqhttp
复制代码
<2>快捷键CTRL+C退出,进行编辑配置文件。
修改地址为:universal: ws://127.0.0.1:2333/onebot/v11/ws
<3>再次运行go-cqhttp,进行qq扫码登陆【扫码的qq号将会成为机器人,请勿使用数据库中设置的qq号登陆】
- cd /app/dbot/go-cqhttp && ./go-cqhttp
复制代码 <4>扫码登陆成功后,请按CTRL+C退出
7、测试一下dbot是否能正常工作,实现重启容器自动运行程序!【能力强的可自行编写shell命令到文件中】
<1>编辑/app目录下的docker-entrypoint.sh文件
- vi /app/docker-entrypoint.sh
复制代码
避坑提醒:
改用nb run 启动程序,用python 启动会出现机器人不理人的问题!!!
修改完成后保存并退出
<2>运行测试,确保能自动启动
- cd /app && sh docker-entrypoint.sh
复制代码
如图所示表示能正常启动
8、最后一步,退出容器,尝试重启容器是否能自动启动dbot
退出容器
重启容器
查看容器日志
到此,dbot机器人已配置成功可以直接去使用了
三、使用你的数据库中设置的管理员qq给你扫码的qq发送命令“菜单”,是否能得到回应。
(1)特别提醒:使用机器人之前务必填写好青龙地址、id和密钥!!!否则机器人无法回应你!
(2)有关机器人的命令请使用数据库管理工具连接数据库从words表中获取或者从网页后台获取!!!
教程到这里就结束啦!
后续更新说明,请留意docker仓库!!!
附件:【数据库管理工具绿色高级版】(下载链接回复可见)
下载地址:
https://grbnb.lanzouf.com/iCf8k03dh52b
管理工具导入方法:
导入成功后在表上刷新一下即可看到所有导入的表。
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|