使用OpenGPT(ChatGPT)搭建 QQ 機器人

JanYork_小簡發表於2022-12-14

本教程來自:OpenGPT搭建QQ機器人-憨憨部落格

有問題可來我部落格詢問:我的部落格

準備

一個伺服器:Windos,Centos,Ubuntu

環境:Python

一個 QQ 號用作機器人

一個 OpenAI 賬號 (註冊教程自行搜尋)

搭建

這裡我用 Centos7 為例進行教程,其他系統類似

註冊 OpenGPT

一瓶可樂錢註冊OpenGPT,教程連結:https://blog.ideaopen.cn/inde...

獲取 OpenGPT 的 token

登入上自己的OpenGPT賬號,然後 F12 開啟開發者工具,找到應用,選擇 Cookie,接著將__Secure-next-auth.session-token 的值複製出來一會用。

所需檔案

先下載所需檔案

https://wwqj.lanzoum.com/b041...

密碼:hanhanz.top

如果連結失效請聯絡我。

下載好解壓縮裡面有三個資料夾。

go-cqhttp_linux_amd64py 上傳到伺服器。

配置 py

安裝 Python 就自行百度吧。

開啟 chat-gpt-qbot.py

第 7 行填寫自己的 QQ 號作為機器人。

第 9 行填上自己的 token。

然後滑到最下面,將 151 行的埠改成自己想用的。

填寫完 Ctrl + S 儲存。

安裝依賴

cd /bot-test/py #這裡的/bot-test/py是你存放檔案的地方
pip install -r requirements.txt 或 pip3 install -r requirements.txt

可能出現的問題 1:

當我們執行 pip 時會報一個錯(如果沒報錯就不用管了)下面是報錯:

WARNING: Running pip as the ‘root’ user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/...

解決方式:

這裡報錯的原因是因為我們需要一個虛擬環境,虛擬環境可以使不同的虛擬環境相互獨立,不會影響到其他應用;可以防止出現包管理混亂和版本衝突,而且不會影響全域性的 python 環境。

配置虛擬環境:

cd #回到根目錄
python -m venv tutorial-env 或 python3 -m venv tutorial-env (tutorial-env是虛擬環境的名稱,可以隨意更改)
source tutorial-env/bin/activate
 

執行好上面的三行命令後,如果字首已經變了的話,那就說明已經安裝好虛擬環境了,我們就可以下一步了。

安裝好虛擬環境後,我們就可以繼續安裝依賴了。

cd /bot-test/py #這裡的/bot-test/py是你存放檔案的地方
pip install -r requirements.txt 或 pip3 install -r requirements.txt

沒有報錯說明我們安裝好依賴了,接下來執行 chat-gpt-qbot.py

python chat-gpt-qbot.py 或 python3 chat-gpt-qbot.py

顯示這樣就說明我們執行成功了,然後 Ctrl + C 結束執行,去配置 go-cqhttp

配置 go-cqhttp

官方地址:https://docs.go-cqhttp.org/gu...

開啟 go-cqhttp_linux_amd64 資料夾裡面的 config.yml 檔案,並在第 4 行填上自己的機器人 QQ 號,密碼不用填,我們進行掃碼登入。

然後還是滑到最下面,在 108 行填上響應的 url

http://127.0.0.1:port 
#將port改成剛剛設定的埠號,我剛剛設定的是2666,所以我將port改成了2666就行

修改好之後儲存,這樣我們就可以執行了

cd bot-test/go-cqhttp_linux_amd64/ #同理bot-test/go-cqhttp_linux_amd64/是你的位置
./go-cqhttp

這裡會提示許可權不夠。

chmod 777 go-cqhttp #對go-cqhttp檔案進行提權

我們再執行,會讓我們掃碼。

此處圖片包含二維碼,請前往我部落格檢視完整文章。

可能會出現的問題 2:

這是因為不在一個網路環境裡

解決方式:

在自己的電腦上開啟剛剛下載的壓縮包裡的 go-cqhttp_windows_386 資料夾,再對 config.yml 配置一遍 (和剛剛在伺服器上配置的一樣),配置好雙擊執行 go-cqhttp.bat,然後會讓我們掃碼

此處圖片包含二維碼,說明同上。

掃碼登入成功。

此處圖片包含二維碼,說明同上。

登入好之後,關閉視窗,在 go-cqhttp_windows_386 找到 session.token 檔案。

session.token 上傳到伺服器上的 go-cqhttp_linux_amd64 資料夾裡。

這個時候我們再執行./go-cqhttp 就行了,這樣就登入成功了。

安裝 screen 這個時候我們就配置好了,接下來就是讓這兩個程式同時進行,我們需要安裝 screen

yum install screen -y

因為我已經安裝過了,所以顯示無須任何處理。

screen 的簡單用法

screen -S name #新建一個執行空間,name可以隨便寫,例如:screen -S go-cq ,screen -S py 這裡的S一定要大寫
screen -D name #殺死命名為name的執行空間,殺死之後該執行空間就沒了,裡面執行的東西也就不會執行了
screen -r name #連線名字為name的執行空間
Ctrl + A + D #退出當前執行空間,但裡面的執行的程式會一直執行,如果要對該程式進行操作,只需要執行上面的screen -r 即可進入

使用 screen 保持 bot 執行

py

screen -S pybot
source tutorial-env/bin/activate #需要進入虛擬環境
cd /cd /bot-test/py #這裡的/bot-test/py是你存放檔案的地方
python chat-gpt-qbot.py 或 python3 chat-gpt-qbot.py

然後我們 Ctrl + A + D 退出當前執行空間

go-cqhttp

screen -S go-cq
cd bot-test/go-cqhttp_linux_amd64/ #同理bot-test/go-cqhttp_linux_amd64/是你的位置
./go-cqhttp

然後我們 Ctrl + A + D 退出當前執行空間

到這裡教程也就結束了讓我們看一下結果吧

Bot 執行截圖

私聊

群聊

然後就可以愉快的使用了,想在群裡使用的話,直接把機器人拉進群,然後 @機器人提問

建議開啟禁止加好友,不然你懂得

原作者:https://lucent.blog/?p=99

我是對原作者的教程進行了細化,並且加了些我自己的改動,還是要多支援支援原作者

相關文章