【新版】使用 go-cqhttp 掃碼登入,一鍵接入 ChatGPT 機器人到 QQ 群

tiny極客發表於2023-03-13

? 專案效果

  • 由於 ChatGPT 目前只能在漂亮國使用,所以想要在國內使用 ChatGPT 必然險阻重重
  • 不僅時時刻刻要跟企鵝公司鬥智鬥勇,還要時時刻刻都要跟 openai 公司打游擊,真的是很難有一個穩定的版本供大家屢試不爽
  • 在不斷的游擊戰中,我們也是越戰越勇,在磨練中,技術越來越完善,體驗也越來越趨近於穩定。
  • 在上一版本中,我們使用的是 mirai 技術登入 QQ,導致會出現各種各樣的問題。
  • 所以在新版中,我們將克服所有登入的問題,使用 go-cqhttp 進行掃碼登入,一勞永逸解決登入難題
  • 想看 mirai 登入版本文章的可點選:https://segmentfault.com/a/1190000043498185

ChatGPT 群聊機器人

? 安裝 go-cqhttp

  • 點選連結下載最新版本的 go-cqhttphttps://github.com/Mrs4s/go-cqhttp/releases
  • 這裡我選擇 window 版本的 go-cqhttp_windows_386.exe,下載安裝包到本地,解壓後,執行其中的 go-cqhttp_windows_386.exe
  • 執行成功後,會生成執行檔案:go-cqhttp.bat,點選執行,其中的通訊方式選擇3,反向 websocket 通訊後,再回車,會生成配置檔案:config.yaml
  • 開啟配置檔案 config.yaml,配置機器人的 QQ,然後配置 ws 資訊,關於 ws 的埠可以自定義,後面 chatgpt 也配置相同的埠就行

下載 go-cqhttp

配置掃碼登入QQ

配置websocket

? 虛擬檔案

  • 配置完畢後,再次執行 go-cqhttp.bat 檔案,生成虛擬檔案,這一步不用掃碼,二維碼出來後,直接關閉視窗即可
  • 開啟生成的虛擬檔案:device.json,將其中的 protocol 引數改成 2
  • 再次重新啟動 go-cqhttp.bat,這時候可以掃碼登入 QQ

生成虛擬檔案

修改 protocol

? 啟動 ChatGPT

  • QQ 登入成功後,我們只需要啟動 ChatGPT 即可
  • 下載最新版本的 chatgpt-mirai-qq-bot,下載地址:https://github.com/lss233/chatgpt-mirai-qq-bot/releases
  • 點選 初始化.cmd,配置檔案內容如下,如果填寫有誤,後期可以在 chatgpt/config.cfg 重新修改即可
  • 配置裡面我們需要將 mirai 下的配置全部註釋,因為我們現在使用了 onebot 模式登入了 QQ
  • 配置完畢後,我們只需要點選 chatgpt.cmd 執行檔案即可,因為 qq 我們已經使用 go-cqhttp 登入了,此時只需要再登入 chatgpt 即可
# 這裡是 ChatGPT for QQ 的所有配置檔案
# 請注意:以 "#" 開頭的文字均為註釋
# 不會被程式讀取
# 如果你想要使用某個設定,請確保前面沒有 "#" 號

# 如果你想使用 go-cqhttp,則這麼寫:
[onebot]
qq=機器人QQ
manager_qq = 管理員QQ
# 此處的  reverse_ws_host 和 reverse_ws_port 對應
# go-cqhttp 中的 反向WS Universal 地址,如:ws://localhost:6555/ws
reverse_ws_host = "0.0.0.0"
reverse_ws_port = 8566

# [mirai]
# 這裡需要註釋掉,因為我們已經使用了上面的登入方式

# ==== OpenAI 賬號部分開始
[openai]
# OpenAI 相關設定
# 自定義 ChatGPT 的 browserless 接入點
# 自 3月9日 開始,不設定此項將無法正常使用 browserless 模式下的網頁版 ChatGPT
browserless_endpoint = "https://bypass.duti.tech/"

[[openai.accounts]]
mode = 'browserless'

# 你的 OpenAI 郵箱
email = "xxxxxxxx" 
# 你的 OpenAI 密碼
password = "xxxxxxxx"

# 下面是所有的 OpenAI 賬號都可以有的設定
# ========= 開始 ========

# 如果你在國內,需要配置代理
# 如果你用 Docker,記得把 127.0.0.1 改成你宿主機 IP(或者你代理程式的容器 IP)
proxy="http://127.0.0.1:7890"
本文參與了SegmentFault 思否寫作挑戰賽,歡迎正在閱讀的你也加入。

相關文章