ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

在Linux云服务上运行酷Q机器人并实现自己的功能

2020-03-26 17:55:46  阅读:393  来源: 互联网

标签:插件 离线 screen 机器人 作业 cqhttp https Linux 运行


前言:

群里各种大佬的机器人功能花里胡哨,让我很是眼馋,所以自己也去搞了个酷Q机器人来玩玩。

但是如果用普通的windows版的机器人的话,就得保证电脑24小时不关机才能运行,所以想办法在云服务器上弄了一套Dokcer容器的机器人镜像。

在论坛上,有很多大佬写了各种的插件,但是找了一圈有的插件没有维护,所以可能有些问题。

最后找到了一款神级的插件 -- cqhttp:这款插件通过HTTP或WebSocket对酷Q的时间进行上报以及接受请求来调用酷Q的DLL接口,从而可以使用其他语言来编写酷Q。

然后又找到了大佬基于酷Q写的python异步框架NoneBot,它会对 QQ 机器人收到的消息进行解析和处理,并以插件化的形式,分发给消息所对应的命令处理器和自然语言处理器,来完成具体的功能。

有了这两个,我们就能自己写插件来处理各种接受到的消息了。

参考的网址有如下:

1.https://cqhttp.cc/docs/4.14/#/      --cqhttp插件文档

2.https://nonebot.cqp.moe/guide/   --NoneBot框架文档

 

安装过程:

 

一.准备工作

 

1.Linux服务器

  首先我们需要一台linux服务器,这里我用的是免费白嫖半年的阿里云服务器。正常来说我是把安全组的所有端口都打开了,因为反正这个服务器就用来跑这一个东西,也不管其他的了,有些端口我们后面会用到,所以直接省事了。

2.连接工具

  这里我使用的finalshell,我觉得还是挺好用的,与windows主机进行文件传输和修改还是挺方便的。

 

二.Docker的安装

 

我是Ubuntu系统,所以参考的如下的安装过程:

https://yq.aliyun.com/articles/658984

然后还有其他系统的安装过程:

https://www.runoob.com/docker/ubuntu-docker-install.html

网上教程都挺多的,我这里就留个传送门。

 

三.Docker镜像coolq/wine-coolq的配置

 

我们知道,docker只是一个容器,可以理解为我们windows上常用的VMware虚拟机,现在我们容器有了,需要的就是镜像了。

虽然说酷Q官方也已经有了Docker镜像,但是为了省事,还是可以直接用大佬维护的已安装并启用了插件的镜像。

地址:https://cqhttp.cc/docs/4.14/#/

关于这些基本用法的的介绍上面网址有:

 

 

这里是不太完整,下面还有些参数是需要自己加入的,比如如果我用的是pro版本的话,就需要加上额外的COOLQ_URL下载pro版本的。

贴上我的运行配置的文件(有些需要结合文档自己去修改)

sudo docker run -ti --rm --name cqhttp-test \
--network host \
-v $(pwd)/coolq:/home/user/coolq \
-e VNC_PASSWD=****** \
-p 9000:9000 \
-p 5700:5700 \
-e COOLQ_URL=https://dlsec.cqp.me/cqp-tuling \
-e COOLQ_ACCOUNT=QQ号 \
-e CQHTTP_POST_URL=http://127.0.0.1:9001 \
-e CQHTTP_SERVE_DATA_FILES=yes \
richardchien/cqhttp:latest

更多配置使用可以参考文档。

 

四.NoneBot的安装配置 

 

具体参考文档就行:https://nonebot.cqp.moe/guide/installation.html

安装下载还是很简单的,主要是在python环境里面运行。插件也可以自己跟着文档教程自己写。

 

五.日常使用事项

 

首先像我日常使用,主要就是放到一个screen里面去运行。

基本上用到的命令有:

-A  将所有的视窗都调整为目前终端机的大小。
-d <作业名称>  将指定的screen作业离线。
-h <行数>  指定视窗的缓冲区行数。
-m  即使目前已在作业中的screen作业,仍强制建立新的screen作业。
-r <作业名称>  恢复离线的screen作业。
-R  先试图恢复离线的作业。若找不到离线的作业,即建立新的screen作业。
-s  指定建立新视窗时,所要执行的shell。
-S <作业名称>  指定screen作业的名称。
-v  显示版本信息。
-x  恢复之前离线的screen作业。
-ls或--list  显示目前所有的screen作业。
-wipe  检查目前所有的screen作业,并删除已经无法使用的screen作业。

一般是先创建一个新的screen,然后运行sudo docker run -ti --rm --name cqhttp-test \(上面容器的这段话)

最后才是运行python3 bot.py。

这样就能保证机器人24小时的运行啦。

标签:插件,离线,screen,机器人,作业,cqhttp,https,Linux,运行
来源: https://www.cnblogs.com/wushengyang/p/12575908.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有