在Linux雲服務上運行酷Q機器人並DIY自己的功能


前言:

群里各種大佬的機器人功能花里胡哨,讓我很是眼饞,所以自己也去搞了個酷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/#/

配置文件/root/coolq/app/io.github.richardchien.coolqhttpapi/config/****.ini

 

[2947034436] serve_data_files = yes post_url = http://127.0.0.1:9001 ws_reverse_api_url=ws://127.0.0.1:8080/ws/api/ ws_reverse_event_url= ws://127.0.0.1:8080/ws/event/ use_ws_reverse= true

 

***.json配置文件

{ "host": "[::]", "port": 5700, "use_http": true, "ws_host": "[::]", "ws_port": 6700, "use_ws": yes, "ws_reverse_url": "", "ws_reverse_api_url": "", "ws_reverse_event_url": "", "ws_reverse_reconnect_interval": 3000, "ws_reverse_reconnect_on_code_1000": true, "use_ws_reverse": false, "post_url": "", "access_token": "", "secret": "", "post_message_format": "string", "serve_data_files": false, "update_source": "china", "update_channel": "stable", "auto_check_update": false, "auto_perform_update": false, "show_log_console": true, "log_level": "info" }

 

 

運行容器的基本配置在官方文檔有:

 

 

但是這里是不太完整,下面還有些參數是需要自己加入的,比如如果我用的是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里面去運行。

 

screen -S cq


在當前會話窗口中按Ctrl a +d快捷鍵可以實現分離,這時窗口會彈出[detached]的提示,並回到主窗口。
screen -d name #遠程detach某個session,前提是已經跳出了name窗口

 

基本上用到的命令有:

-A  將所有的視窗都調整為目前終端機的大小。
-d     <作業名稱>  將指定的screen作業離線。
-h     <行數>  指定視窗的緩沖區行數。
-m  即使目前已在作業中的screen作業,仍強制建立新的screen作業。
-r      <作業名稱>  恢復離線的screen作業。
-R     先試圖恢復離線的作業。若找不到離線的作業,即建立新的screen作業。
-s   指定建立新視窗時,所要執行的shell。
-S     <作業名稱>  指定screen作業的名稱。
-v   顯示版本信息。
-x   恢復之前離線的screen作業。
-ls  顯示目前所有的screen作業。
-wipe  檢查目前所有的screen作業,並刪除已經無法使用的screen作業。

screen -S yourname -> 新建一個叫yourname的session
screen -ls -> 列出當前所有的session
screen -r yourname -> 回到yourname這個session
screen -d yourname -> 遠程detach某個session
screen -d -r yourname -> 結束當前session並回到yourname這個session

一般是先創建一個新的screen,然后運行sudo docker run -ti --rm --name cqhttp-test \(上面容器的這段話)

最后才是運行python3 bot.py。

這樣就能保證機器人24小時的運行啦。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM