本次搭建的QQ機器人基于nonebot。可以參考官方文檔:nonebot指南
我的項目位址 : 簡單QQ機器人項目
- 安裝nonebot:
pip install nonebot
tips:python版本要>=3.6.1
-
下載下傳酷Q:
官方位址
然後可以跟着酷Q的新手教程走一遍
-
安裝 CoolQ HTTP API 插件
官方位址
繼續跟着教程走
- 在這提一下CoolQ HTTP API插件的配置
進入該目錄後就可以進行配置了。
- 建立一個Python檔案,加入以下代碼:
import nonebot
if __name__ == '__main__':
nonebot.init()
nonebot.load_builtin_plugins()
nonebot.run(host='127.0.0.1', port=8080)
第1行代碼:導入nonebot庫
第4行代碼:使用預設配置初始化 NoneBot 包
第5行代碼:加載 NoneBot 内置的插件
第6行代碼:在位址 127.0.0.1:8080 運作 NoneBot
提示
這裡 nonebot.run() 的參數 host='127.0.0.1'
表示讓 NoneBot 監聽本地環回位址,
如果你的 酷Q 運作在非本機的其它位置,
例如 Docker 容器内、區域網路内的另一台機器上等,
則這裡需要修改 host 參數為希望讓 CoolQ HTTP API 插件通路的 IP。
如果不清楚該使用哪個 IP,或者希望本機的所有 IP 都被監聽,
可以使用 0.0.0.0。
-
再次配置CoolQ HTTP API 插件
照着之前的方法打開名為 “user-id”.json 的檔案(“user-id” 為你登入的 QQ 賬号)
修改如下配置項:(有則改,無則加)
"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
配置好後重新開機插件
- 運作你寫的Python檔案,若配置成功,控制台應該會輸出以下内容:
[2019-10-01 15:55:21,745] 127.0.0.1:50971 GET /ws/api/ 1.1 101 - 1031
[2019-10-01 15:55:22,044] 127.0.0.1:50972 GET /ws/event/ 1.1 101 - 996
這表示 CoolQ HTTP API 插件已經成功地連接配接上了 NoneBot,與此同時,插件的日志檔案中也會輸出反向 WebSocket 連接配接成功的日志。
注意
如果到這一步你沒有看到上面這樣的日志,請檢視插件的日志檔案中是否在不斷嘗試重連(可通過将插件的 show_log_console 配置項設定為 true 來顯示日志控制台,友善調試),如果沒有在不斷重連,也說明連接配接成功.
除此之外,也可以直接向機器人随便發送一些消息,觀察 NoneBot 運作日志中是否有輸出,如果有,說明連接配接成功。
如果 NoneBot 運作日志中沒有任何通路日志,插件的日志中也在不斷重連,請注意檢查配置中的 IP 和端口是否确實可以通路。
接下來向你的機器人發送如下消息:
/echo 你好,世界
如果你的機器人向你回複:你好,世界。那麼恭喜你搭建成功!