根据文档能搭出来
以后有空再补下面的
坑:
需要更新nodejs
ssh断开后终端会停止工作 所以需要安装screen
有时候在暴毙gqcq的时候没有用
所以换成supervisor
在暴毙的时候回自动重启gocq
下面以Ubuntu 18.04.1 LTS为演示(16版本略微不同 自己去查一下下),windows也基本同理
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 -v
cd home
sudo mkdir tencentroobt
//给权限
sudo chmod -R 777 tencentroobt
cd tencentroobt
mkdir gocq
sudo chmod -R 777 gocq
mkdir cqsearch
sudo chmod -R 777 cqsearch
先进去文件夹
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.hjson
linux是按一下键盘上的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 array
post_message_format: string
// 是否使用服务器下发的新地址进行重连
// 注意, 此设置可能导致在海外服务器上连接情况更差
use_sso_address: false
// 是否启用 DEBUG
debug: false
// 日志等级 trace,debug,info,warn,error
log_level: "info"
// WebUi 设置
web_ui: {
// 是否启用 WebUi
enabled: false
}
}
然后按一下esc
然后按一下:wq 冒号也要打
回车
重新执行命令
./go-cqhttp
有可能会遇到滑块问题
选择1
将其复制到你浏览器上
打开浏览器
f12 选择网络
会出现新的文件
完成拼图并且复制ticket的内容将其粘贴到要你输入的里面
成功运行
再次运行一般就不需要这个了
注意如果我们关闭这个SSH那么我们所在的会话窗一切都会结束
所以请安装screen打开 或者安装supervisor 进行进程保护
supervisor将在后面的模块进行讲解
sudo apt-get install screen
常用命令
screen -ls # 查看所有screen
screen -S # 创建screen,并命名 注意大写
ctr + A, D # 快捷键,退出当前screen
screen -r # 进入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吧!
切到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)
主要是我们买的服务器都是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=true
esc :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上遇到奇怪的情况也会自动重启