qq搜图机器人搭建
主要的gocqhttp:https://github.com/Mrs4s/go-cqhttp
搜圖:https://github.com/Tsuk1ko/cq-picsearcher-bot
云服務(wù)器:https://www.chamaoyun.com/
根據(jù)文檔能搭出來(lái)
以后有空再補(bǔ)下面的
坑:
需要更新nodejs
ssh斷開(kāi)后終端會(huì)停止工作 所以需要安裝screen
有時(shí)候在暴斃gqcq的時(shí)候沒(méi)有用
所以換成supervisor
在暴斃的時(shí)候回自動(dòng)重啟gocq
先買一個(gè)服務(wù)器 最好是境外的
下面以Ubuntu 18.04.1 LTS為演示(16版本略微不同 自己去查一下下),windows也基本同理
1.安裝nodejs
sudo apt-get install nodejs sudo apt install libssl1.0-dev nodejs-dev node-gyp npm sudo npm install n -g //更新node為最新版本的管理工具 sudo n stable //安裝最新穩(wěn)定版的nodejs判斷是否安裝成功
node -v npm -v2.創(chuàng)建文件夾方便管理
cd home sudo mkdir tencentroobt//給權(quán)限sudo chmod -R 777 tencentroobt cd tencentroobt放gocq的文件夾
mkdir gocq sudo chmod -R 777 gocq放cq-search的文件夾
mkdir cqsearch sudo chmod -R 777 cqsearch3.下載gocq
先進(jìn)去文件夾
cd gocq然后
Releases · Mrs4s/go-cqhttp (github.com)
去此網(wǎng)頁(yè)挑選屬于自己的版本
查看自己的版本(linux)
dpkg --print-architecture arch可以右鍵檢查源代碼查看
下載命令:
wget https://github.com/Mrs4s/go-cqhttp/releases/download/v0.9.40-fix2/go-cqhttp-v0.9.40-fix2-linux-amd64.tar.gz下載完成后解壓
tar -zxvf go-cqhttp-v0.9.40-fix2-linux-amd64.tar.gz然后想節(jié)省空間可以刪除原來(lái)的安裝包 懶得刪可以跳過(guò)
rm go-cqhttp-v0.9.40-fix2-linux-amd64.tar.gz然后運(yùn)行
./go-cqhttp然后在當(dāng)前目錄下會(huì)生成一個(gè)cofig.hjson
vim config.hjsonlinux是按一下鍵盤(pán)上的i然后就可以開(kāi)始改東西啦
下面是參考 可以全部復(fù)制進(jìn)去 也可以自己根據(jù)相關(guān)的改
/*go-cqhttp 默認(rèn)配置文件 */{// QQ號(hào)uin: 你的賬號(hào)// QQ密碼password: "你的密碼"// 是否啟用密碼加密encrypt_password: false// 加密后的密碼, 如未啟用密碼加密將為空, 請(qǐng)勿隨意修改.password_encrypted: ""// 是否啟用內(nèi)置數(shù)據(jù)庫(kù)// 啟用將會(huì)增加10-20MB的內(nèi)存占用和一定的磁盤(pán)空間// 關(guān)閉將無(wú)法使用 撤回 回復(fù) get_msg 等上下文相關(guān)功能enable_db: true// 訪問(wèn)密鑰, 強(qiáng)烈推薦在公網(wǎng)的服務(wù)器設(shè)置access_token: ""// 重連設(shè)置relogin: {// 是否啟用自動(dòng)重連// 如不啟用掉線后將不會(huì)自動(dòng)重連enabled: true// 重連延遲, 單位秒relogin_delay: 3// 最大重連次數(shù), 0為無(wú)限制max_relogin_times: 0}// API限速設(shè)置// 該設(shè)置為全局生效// 原 cqhttp 雖然啟用了 rate_limit 后綴, 但是基本沒(méi)插件適配// 目前該限速設(shè)置為令牌桶算法, 請(qǐng)參考: // https://baike.baidu.com/item/%E4%BB%A4%E7%89%8C%E6%A1%B6%E7%AE%97%E6%B3%95/6597000?fr=aladdin_rate_limit: {// 是否啟用限速enabled: false// 令牌回復(fù)頻率, 單位秒frequency: 1// 令牌桶大小bucket_size: 1}// 是否忽略無(wú)效的CQ碼// 如果為假將原樣發(fā)送ignore_invalid_cqcode: false// 是否強(qiáng)制分片發(fā)送消息// 分片發(fā)送將會(huì)帶來(lái)更快的速度// 但是兼容性會(huì)有些問(wèn)題force_fragmented: false// 心跳頻率, 單位秒// -1 為關(guān)閉心跳heartbeat_interval: 0// HTTP設(shè)置http_config: {// 是否啟用正向HTTP服務(wù)器enabled: true// 服務(wù)端監(jiān)聽(tīng)地址host: 0.0.0.0// 服務(wù)端監(jiān)聽(tīng)端口port: 5700// 反向HTTP超時(shí)時(shí)間, 單位秒// 最小值為5,小于5將會(huì)忽略本項(xiàng)設(shè)置timeout: 0// 反向HTTP POST地址列表// 格式: // {// 地址: secret// }post_urls: {}}// 正向WS設(shè)置ws_config: {// 是否啟用正向WS服務(wù)器enabled: true// 正向WS服務(wù)器監(jiān)聽(tīng)地址host: 0.0.0.0// 正向WS服務(wù)器監(jiān)聽(tīng)端口port: 6700}// 反向WS設(shè)置ws_reverse_servers: [// 可以添加多個(gè)反向WS推送{// 是否啟用該推送enabled: false// 反向WS Universal 地址// 注意 設(shè)置了此項(xiàng)地址后下面兩項(xiàng)將會(huì)被忽略// 留空請(qǐng)使用 ""reverse_url: "ws://127.0.0.1:8080/cqhttp/ws"// 反向WS API 地址reverse_api_url: "ws://you_websocket_api.server"// 反向WS Event 地址reverse_event_url: "ws://you_websocket_event.server"// 重連間隔 單位毫秒reverse_reconnect_interval: 3000}]// 上報(bào)數(shù)據(jù)類型// 可選: string arraypost_message_format: string// 是否使用服務(wù)器下發(fā)的新地址進(jìn)行重連// 注意, 此設(shè)置可能導(dǎo)致在海外服務(wù)器上連接情況更差use_sso_address: false// 是否啟用 DEBUGdebug: false// 日志等級(jí) trace,debug,info,warn,errorlog_level: "info"// WebUi 設(shè)置web_ui: {// 是否啟用 WebUienabled: false} }然后按一下esc
然后按一下:wq 冒號(hào)也要打
回車
重新執(zhí)行命令
./go-cqhttp有可能會(huì)遇到滑塊問(wèn)題
選擇1
將其復(fù)制到你瀏覽器上
打開(kāi)瀏覽器
f12 選擇網(wǎng)絡(luò)
會(huì)出現(xiàn)新的文件
完成拼圖并且復(fù)制ticket的內(nèi)容將其粘貼到要你輸入的里面
成功運(yùn)行
再次運(yùn)行一般就不需要這個(gè)了
注意如果我們關(guān)閉這個(gè)SSH那么我們所在的會(huì)話窗一切都會(huì)結(jié)束
所以請(qǐng)安裝screen打開(kāi) 或者安裝supervisor 進(jìn)行進(jìn)程保護(hù)
supervisor將在后面的模塊進(jìn)行講解
安裝screen
sudo apt-get install screen常用命令
screen -ls # 查看所有screen screen -S <screen-name> # 創(chuàng)建screen,并命名 注意大寫(xiě) ctr + A, D # 快捷鍵,退出當(dāng)前screen screen -r <screen-name> # 進(jìn)入screen screen -X quit # 刪除screen,但沒(méi)有指定會(huì)話 screen -X -S [session you want to kill] quit #刪除screen,指定會(huì)話 screen -wipe # 清除dead screens創(chuàng)建
screen -S gocq創(chuàng)建完會(huì)自動(dòng)進(jìn)入screen
然后在這里面輸入的命令在SSH關(guān)閉的時(shí)候不會(huì)被關(guān)閉
然后輸入
./go-cqhttp按ctrl+a+d退出當(dāng)前窗口但是里面的內(nèi)容不會(huì)給關(guān)閉
然后去配置cqsearch吧!
4.下載cq-picsearcher-bot
切到cqsearch文件夾
cd /home/tencentroobt/cqsearch/ git clone https://github.com/Tsuk1ko/cq-picsearcher-bot.git cd cq-picsearcher-bot/ cp config.default.jsonc config.jsonc vi config.jsonc只用進(jìn)去設(shè)置管理者QQ(必填)
其他根據(jù)你喜好設(shè)置 全是中文注釋
然后
esc :wq部署流程:
sudo npm i -g yarn sudo yarn由于我們?cè)谏厦嬉徊揭呀?jīng)開(kāi)啟go-cqhttp
所以可以直接npm run test 測(cè)試一下是否能連接成功
運(yùn)行成功
具體命令可以查看wiki
如何食用 · Tsuk1ko/cq-picsearcher-bot Wiki (github.com)
5.supervisor
主要是我們買的服務(wù)器都是1核1G的 有時(shí)候進(jìn)程會(huì)直接爆掉
sudo apt-get install supervisor安裝完成后會(huì)默認(rèn)啟動(dòng)
cd /etc/supervisor/conf.d/ vi gocq.conf然后輸入
[program:gocq] directory=/home/tencentroobt/gocq/ command=/home/tencentroobt/gocq/go-cqhttp autostart=true autorestart=true user=root redirect_stderr=trueesc :wq
目錄可以自行更改
重啟
supervisorctl reload supervisorctl start test然后gocq就會(huì)自動(dòng)運(yùn)行啦
注意:要先在前面的時(shí)候先運(yùn)行幾次確認(rèn)不需要輸入驗(yàn)證碼和認(rèn)證的時(shí)候在用supervisor啟動(dòng)
常用命令:
supervisorctl start programxxx,啟動(dòng)某個(gè)進(jìn)程supervisorctl restart programxxx,重啟某個(gè)進(jìn)程supervisorctl stop groupworker: ,重啟所有屬于名為groupworker這個(gè)分組的進(jìn)程(start,restart同理)supervisorctl stop all,停止全部進(jìn)程,注:start、restart、stop都不會(huì)載入最新的配置文件。supervisorctl reload,載入最新的配置文件,停止原有進(jìn)程并按新的配置啟動(dòng)、管理所有進(jìn)程。supervisorctl update,根據(jù)最新的配置文件,啟動(dòng)新配置或有改動(dòng)的進(jìn)程,配置沒(méi)有改動(dòng)的進(jìn)程不會(huì)受影響而重啟。搜圖機(jī)器人直接npm start就會(huì)自動(dòng)掛在pm2上遇到奇怪的情況也會(huì)自動(dòng)重啟
總結(jié)
- 上一篇: python中的分号
- 下一篇: 线程NEW状态和RUNNABLE状态