Go-CQHttpでQQロボットを構築
公式ドキュメントはこちら-> ATRU公式ドキュメント
Go-CQHttp + Atri
Linuxシステムを使用してデプロイする
必要
- Linuxを搭載したサーバー1/マシン
- Python環境バージョン>=3.8
- SSHターミナルツール、Xshellをお勧めします
Go-CQHttpを構成する
-
go -cqhttpリリースに移動して、cqhttpに対応するLinuxサーバー
go-cqhttp_linux_amd64.tar.gz
ファイルをダウンロードします。 -
sshツールを使用してサーバーに入り、新しいcqhttpフォルダーを作成します
cd〜
mkdir cqhttp && cd cqhttp
-
フォルダに
go-cqhttp_linux_amd64.tar.gz
アップロードしcqhttp
、パッケージを解凍します -
実行
./go-cqhttp
して、次が表示されるのを待ちます。
この時点で、ctrl+c
[プロセスの終了]を押してから、変更しますconfig.yml
コメントの//は、自分でカスタマイズする必要があります。私は他のものを理解していないので、動かないことをお勧めします。
# go-cqhttp 默认配置文件
account: # 账号相关
uin: 1437907718 # QQ账号
password: '' # 密码为空时使用扫码登录
encrypt: false # 是否开启密码加密
status: 0 # 在线状态 请参考 https://docs.go-cqhttp.org/guide/config.html#在线状态
relogin: # 重连设置
delay: 3 # 首次重连延迟, 单位秒
interval: 3 # 重连间隔
max-times: 0 # 最大重连次数, 0为无限制
# 连接服务列表
servers:
# 添加方式,同一连接方式可添加多个,具体配置说明请查看文档
#- http: # http 通信
#- ws: # 正向 Websocket
#- ws-reverse: # 反向 Websocket
#- pprof: #性能分析服务器
# 反向WS设置
- ws-reverse:
# 反向WS Universal 地址
# 注意 设置了此项地址后下面两项将会被忽略
universal: ws://127.0.0.1:8080/onebot/v11/ws // 反向 websockets 通信地址,按照我写的就行。
# 反向WS API 地址
api: ws://your_websocket_api.server
# 反向WS Event 地址
event: ws://your_websocket_event.server
# 重连间隔 单位毫秒
reconnect-interval: 3000
middlewares:
<<: *default # 引用默认中间件
复制代码
_config.yml
セットアップしたら、先に進んで実行します./go-cqhttp
:
次に、QRコードが表示され、ロボットqqでコードをスキャンして認証を受けることができます。初めてコードをスキャンするときは、ファイルを移動しない限り、その後コードをスキャンする必要はありません。黄色のフィールドが表示されますが、心配する必要はありません。nonebotの最終セットアップ後、次の接続を行うことができます。
を押しctrl+c
てプロセスを終了し、Enterキーを押してフォルダcd ~
に戻りhome
ます。この時点で、cqhttp
構成は成功です。
atriを構成する
ポータル:atriの高性能テキストは大根が大好きで、さまざまな興味深い小さな機能が組み合わされています。
GithubリポジトリからATRI-main.zip
圧縮パッケージをダウンロードします
サーバーディレクトリにunzip ATRI-main.zip
配置し、次のコマンドでアーカイブを解凍します。
我建议把
ATRI-main
文件夹名称改为main
,以方便后期的调试,
再通过cd main
进入文件夹,并输入以下命令安装atri所需的依赖:
pip install -r requirements.txt
复制代码
安装完依赖之后,再修改下文件夹中的config.yml
文件,这里我们只做最初的改动:
记得将
InlineGoCQHTTP
的enable
改为false
。我们暂时采用GO-CQHttp
、atri
分开运行的方式。
BotSelfConfig:
host: "127.0.0.1" # 监听ip,要和cq-http中的设置保持一致。
port: 20000 # 监听端口,要和cq-http中的设置保持一致。
debug: false
superusers: ["1234567890"] # 超级用户qq号码。注意:这不是机器人qq号,这是一个和机器人沟通的账号。
nickname: ["ATRI", "Atri", "atri", "亚托莉", "アトリ"]
command_start: ["", "/"]
command_sep: ["."]
session_expire_timeout: 60
proxy: "" # 请参考文档
InlineGoCQHTTP: # 在atri文件夹内调用cqhttp,这边建议cq-http和atri分开跑比较好呢!
enabled: false
accounts: # 可多个账号,具体请参考文档
- uin: 1234567890
password: ""
protocol: 3
download_domain: "github.com"
download_version: "v1.0.0-rc1"
SauceNAO:
key: ""
Setu:
reverse_proxy: true # 请参考文档
reverse_proxy_domain: "i.pixiv.re"
复制代码
修改好之后,就可以通过以下命令来启动atri啦!
COPYpython main.py
复制代码
screen让你的机器人跑起来
安装screen
模块:
通过如下命令安装screen
:
yum install -y screen
复制代码
screen简单命令
创建一个screen
例如:screen -S [name]
:
screen -S cqhttp
复制代码
这样,你就创建好了一个screen,现在按住ctrl a+d
来退出,如果你还想查看的话,也可以通过screen -r cqhttp
来查看。
查看当前运行中的screen
例如:screen -ls
ubuntu@VM-16-11-ubuntu:~$ screen -ls
There are screens on:
2183677.cqhttp (03/04/2022 09:55:58 PM) (Detached)
2182766.atri (03/04/2022 09:52:23 PM) (Detached)
2 Sockets in /run/screen/S-ubuntu.
复制代码
注意上述命令中的数字2183677.cqhttp
,它非常有用,我们可以通过screen -r 2183677
的方式来重新加入,也可以通过screen -r cqhttp
来进入screen。
销毁一个screen
例如:screen -X -S [name] quit
。按上文所述,我们查到cqhttp的数字为2183677
,那么我们就可以通过如下方式来杀死这个screen:
screen -X -S 2183677 quit
复制代码
将atri和cqhttp连通
大体思路:在cqhttp的文件夹内创建一个screen
用来运行cqhttp
,然后退出当前screen,cd
到atri文件夹,仍按照上述步骤操作,这样,cqhttp才能和atri连通。
cd cqhttp
screen -S cqhttp
复制代码
此时,我们已经开启了cqhttp的screen窗口,这时,我们就可以先通过./go-cqhttp faststart
让cqhttp
运行起来,然后通过ctrl a+d
退出当前screen。再然后,进入到atri文件夹内。
cd ~
cd atri
screen -S atri
复制代码
同样的,atri窗口已经开启,通过python main.py
让atri运行,然后ctrl a+d
退出。 此时,我们再screen -r cqhttp
返回cq的screen,发现已经连接上atri辣! 我们对机器人发一个/ping
,机器人便会回复,
注:此段大部分参照Sady's Blog,欢迎去串门
基于mirai框架搭建QQ机器人
mirai 是一个在全平台下运行,提供 QQ Android 协议支持的高效率机器人库。
开始
环境
- Windows或Windows Sever都可以
- Mirai Console
- QQ小号
流程
- 访问 iTXTech/mcl-installer;
- 下载适合你的系统的可执行文件;
- 在一个新文件夹存放这个文件,运行它;
- 通常可以一路回车使用默认设置完成安装,安装完成后程序自动退出;
- 运行
mcl.cmd
启动,成功后会看到绿色的mirai-console started successfully
。
初始化
第一次运行 mcl.cmd
时会初始化运行环境。下表说明了各个文件夹的用途。
文件夹名称 | 用途 |
---|---|
scripts |
存放启动器的脚本,一般不需要在意他们 |
plugins |
存放插件 |
data |
存放插件的数据,一般不需要在意它们 |
config |
存放插件的配置,可以打开并修改配置 |
logs |
存放运行时的日志,日志默认保留 7 天 |
插件
- chat-command: 允许在聊天环境通过以 “/” 起始的消息执行指令
- mirai-api-http:提供 HTTP 支持,允许使用其他编程语言的插件
コミュニティプラグインの場所
- みらい公式フォーラムみらいフォーラム
注:この段落のほとんどは、 Li Xinjia Network Studioに言及しています。ぜひ、お立ち寄りください。