from cqhttp import CQHttp
from pprint import pprint
import tuling #这里是图灵的接口
bot =CQHttp(api_root='http://127.0.0.1:5700')
commands={}
def command(name):
def decorator(func):
commands[name] = func
return func
return decorator
@command('echo')
def echo(ctx,arg):
return {'reply':arg}
@command('喵一个')
def echo(ctx,arg):
return {'reply':'喵~'}
#私聊消息
@bot.on_message('private')
def handle_msg(ctx):
pprint(ctx)
msg : str =ctx['message']
sp = msg.split(maxsplit=1)
if not sp:
return
cmd,*args = sp
arg = ''.join(args)
handler = commands.get(cmd)
if handler:
return handler(ctx,arg)
else:
replies = tuling.get_reply(msg)
if replies:
return {'reply':replies[0]}
bot.run(host='127.0.0.1',port=8050)
以上是本地运行的代码
正常按照docker安装:
docker pull coolq/wine-coolq 安装酷Q镜像
mkdir /root/coolq-data # 任意路径均可 在任意目录下新建一个文件夹
docker run --name=coolq --rm -p 8080:9000 -p 5700:5700 -v /root/coolq-data:/home/user/coolq -e VNC_PASSWD=12345678 -e COOLQ_ACCOUNT=123456 coolq/wine-coolq 运行docker镜像
–rm可以换成-d,就可以以服务的形式在后台运行
docker start coolq # 启动
docker stop coolq # 终止
docker logs coolq # 查看
-p 8080:9000 可以把8080改到任意端口,用于使用浏览器连接docker的桌面。
-p 5700:5700 可以把前一个5700改成任意端口,用于连接酷Q的HTTP API。
-v /root/coolq-data 可以改成之前新建的文件夹,用于做文件夹储存位置的映射
VNC_PASSWD=12345678 可以自己设置密码,用于连接docker的远程桌面
COOLQ_ACCOUNT=123456 登录的机器人的QQ号
这里有一个问题,那就是用docker的话,很有可能连接不成功.。。。就是即便机器人启动了,但是向机器人发消息,机器人也不会按照设定的程序回复
解决办法:
运行下面这段程序,也就是说,将docker的网络与虚拟机的网络桥接到一起,这时候docker里面用到的端口,就会变成虚拟机的端口,不会再进行映射。
docker run --name=coolq -d --network host -v /tools/coolq:/home/user/coolq -e VNC_PASSWD=Dt1qa2ws -e COOLQ_ACCOUNT=1684349890 coolq/wine-coolq
本文介绍如何使用酷Q机器人结合Docker进行部署,包括本地运行代码示例、Docker镜像安装、运行参数说明及网络配置解决方案,旨在帮助读者理解酷Q机器人在Docker环境下的工作原理。
886

被折叠的 条评论
为什么被折叠?



