qq搜图机器人搭建
主要的gocqhttp:https://github.com/Mrs4s/go-cqhttp
搜圖:https://github.com/Tsuk1ko/cq-picsearcher-bot
云服務器:https://www.chamaoyun.com/
根據文檔能搭出來
以后有空再補下面的
坑:
需要更新nodejs
ssh斷開后終端會停止工作 所以需要安裝screen
有時候在暴斃gqcq的時候沒有用
所以換成supervisor
在暴斃的時候回自動重啟gocq
先買一個服務器 最好是境外的
下面以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 //安裝最新穩定版的nodejs判斷是否安裝成功
node -v npm -v2.創建文件夾方便管理
cd home sudo mkdir tencentroobt//給權限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
先進去文件夾
cd gocq然后
Releases · Mrs4s/go-cqhttp (github.com)
去此網頁挑選屬于自己的版本
查看自己的版本(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然后想節省空間可以刪除原來的安裝包 懶得刪可以跳過
rm go-cqhttp-v0.9.40-fix2-linux-amd64.tar.gz然后運行
./go-cqhttp然后在當前目錄下會生成一個cofig.hjson
vim config.hjsonlinux是按一下鍵盤上的i然后就可以開始改東西啦
下面是參考 可以全部復制進去 也可以自己根據相關的改
/*go-cqhttp 默認配置文件 */{// QQ號uin: 你的賬號// QQ密碼password: "你的密碼"// 是否啟用密碼加密encrypt_password: false// 加密后的密碼, 如未啟用密碼加密將為空, 請勿隨意修改.password_encrypted: ""// 是否啟用內置數據庫// 啟用將會增加10-20MB的內存占用和一定的磁盤空間// 關閉將無法使用 撤回 回復 get_msg 等上下文相關功能enable_db: true// 訪問密鑰, 強烈推薦在公網的服務器設置access_token: ""// 重連設置relogin: {// 是否啟用自動重連// 如不啟用掉線后將不會自動重連enabled: true// 重連延遲, 單位秒relogin_delay: 3// 最大重連次數, 0為無限制max_relogin_times: 0}// API限速設置// 該設置為全局生效// 原 cqhttp 雖然啟用了 rate_limit 后綴, 但是基本沒插件適配// 目前該限速設置為令牌桶算法, 請參考: // 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// 令牌回復頻率, 單位秒frequency: 1// 令牌桶大小bucket_size: 1}// 是否忽略無效的CQ碼// 如果為假將原樣發送ignore_invalid_cqcode: false// 是否強制分片發送消息// 分片發送將會帶來更快的速度// 但是兼容性會有些問題force_fragmented: false// 心跳頻率, 單位秒// -1 為關閉心跳heartbeat_interval: 0// HTTP設置http_config: {// 是否啟用正向HTTP服務器enabled: true// 服務端監聽地址host: 0.0.0.0// 服務端監聽端口port: 5700// 反向HTTP超時時間, 單位秒// 最小值為5,小于5將會忽略本項設置timeout: 0// 反向HTTP POST地址列表// 格式: // {// 地址: secret// }post_urls: {}}// 正向WS設置ws_config: {// 是否啟用正向WS服務器enabled: true// 正向WS服務器監聽地址host: 0.0.0.0// 正向WS服務器監聽端口port: 6700}// 反向WS設置ws_reverse_servers: [// 可以添加多個反向WS推送{// 是否啟用該推送enabled: false// 反向WS Universal 地址// 注意 設置了此項地址后下面兩項將會被忽略// 留空請使用 ""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}]// 上報數據類型// 可選: string arraypost_message_format: string// 是否使用服務器下發的新地址進行重連// 注意, 此設置可能導致在海外服務器上連接情況更差use_sso_address: false// 是否啟用 DEBUGdebug: false// 日志等級 trace,debug,info,warn,errorlog_level: "info"// WebUi 設置web_ui: {// 是否啟用 WebUienabled: false} }然后按一下esc
然后按一下:wq 冒號也要打
回車
重新執行命令
./go-cqhttp有可能會遇到滑塊問題
選擇1
將其復制到你瀏覽器上
打開瀏覽器
f12 選擇網絡
會出現新的文件
完成拼圖并且復制ticket的內容將其粘貼到要你輸入的里面
成功運行
再次運行一般就不需要這個了
注意如果我們關閉這個SSH那么我們所在的會話窗一切都會結束
所以請安裝screen打開 或者安裝supervisor 進行進程保護
supervisor將在后面的模塊進行講解
安裝screen
sudo apt-get install screen常用命令
screen -ls # 查看所有screen screen -S <screen-name> # 創建screen,并命名 注意大寫 ctr + A, D # 快捷鍵,退出當前screen screen -r <screen-name> # 進入screen screen -X quit # 刪除screen,但沒有指定會話 screen -X -S [session you want to kill] quit #刪除screen,指定會話 screen -wipe # 清除dead screens創建
screen -S gocq創建完會自動進入screen
然后在這里面輸入的命令在SSH關閉的時候不會被關閉
然后輸入
./go-cqhttp按ctrl+a+d退出當前窗口但是里面的內容不會給關閉
然后去配置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只用進去設置管理者QQ(必填)
其他根據你喜好設置 全是中文注釋
然后
esc :wq部署流程:
sudo npm i -g yarn sudo yarn由于我們在上面一步已經開啟go-cqhttp
所以可以直接npm run test 測試一下是否能連接成功
運行成功
具體命令可以查看wiki
如何食用 · Tsuk1ko/cq-picsearcher-bot Wiki (github.com)
5.supervisor
主要是我們買的服務器都是1核1G的 有時候進程會直接爆掉
sudo apt-get install supervisor安裝完成后會默認啟動
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就會自動運行啦
注意:要先在前面的時候先運行幾次確認不需要輸入驗證碼和認證的時候在用supervisor啟動
常用命令:
supervisorctl start programxxx,啟動某個進程supervisorctl restart programxxx,重啟某個進程supervisorctl stop groupworker: ,重啟所有屬于名為groupworker這個分組的進程(start,restart同理)supervisorctl stop all,停止全部進程,注:start、restart、stop都不會載入最新的配置文件。supervisorctl reload,載入最新的配置文件,停止原有進程并按新的配置啟動、管理所有進程。supervisorctl update,根據最新的配置文件,啟動新配置或有改動的進程,配置沒有改動的進程不會受影響而重啟。搜圖機器人直接npm start就會自動掛在pm2上遇到奇怪的情況也會自動重啟
總結
- 上一篇: python中的分号
- 下一篇: 线程NEW状态和RUNNABLE状态