酷Q机器人

本文介绍如何使用酷Q机器人结合Docker进行部署,包括本地运行代码示例、Docker镜像安装、运行参数说明及网络配置解决方案,旨在帮助读者理解酷Q机器人在Docker环境下的工作原理。
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

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值