[實作]把ChatGPT搬到Discord上吧!

在寫這篇文章的時候,ChatGPT的API一直爆掉……

前幾天玩了OpenAI的ChatGPT這個聊天AI,所以我突發奇想,為何不放到Discord讓一群人一起玩呢?
然後這個機器人就誕生了uwu
這篇文章會教大家怎麼自己架一個AI Discord機器人

什麼是ChatGPT?

ChatGPT 是一種語言模型,由 OpenAI 訓練而成。它是一種進行自然語言理解和生成的模型,可以用於多種應用,包括聊天機器人、語音助手和文本生成等。 ChatGPT 使用了頂尖的深度學習技術,能夠通過學習大量的文本數據來模擬人類的語言表達能力。它可以根據用戶的輸入自動生成有意義的回應,並且隨著不斷學習,它的回應能力也會越來越強。

chatgpt-EX

開源開源!

先放上機器人Github專案 https://github.com/HaeImCH/DiscordBot-ChatGPT

image

點擊”Download ZIP” 下載,然後解壓縮

把ChatGPT搬到Discord上吧!

事前準備: 拿取OpenAI的 __Secure-next-auth.session-token
登入ChatGPT之後,進入這個網頁 https://chat.openai.com/api/auth/session
F12進入開發者工具

firefox 示範:
點選儲存空間 — Cookie

image

尋找__Secure-next-auth.session-token

image

的部分複製起來就可以了~

chrome 示範:
點選應用程式

image

點選Cookies –> https://chat.openai.com

image

尋找__Secure-next-auth.session-token

image

把Value的部分複製起來就可以了~

第一步: 安裝Chrome: 載點

(生氣)firefox比較讚啦rrrr

第二步: 安裝必要依賴
Windows:
pip install -r requirements.txt

MacOS/Linux:
pip3 install -r requirements.txt

image

完成之後,我們要填入機器人的登入資料

第三步: 編輯main.py

image

這部分都填上去就ok了

第四步: 添加Emoji
loading, tick, cross這三個Emoji都必須加到Discord伺服器喔~

image

填好資料之後應該會長這樣

image

接下來打開Terminal
輸入
Windows:
python main.py
(應該會跳出chrome)

MacOS/Linux:
python3 main.py

看到這樣就代表可以囉!

image

29 則留言

  1. 如果openai官网访问chatgpt卡,时不时出现network问题,是因为这个网站被很多人访问
    那我用discord接上chatgpt机器人会不会出现这种问题?

  2. 哥 想請問 這行
    chatbot = Chatbot(config,conversation_id=None)
    發生例外狀況: Exception
    Failed to refresh session!

    The above exception was the direct cause of the following exception:

    File “D:\Vscode file\DiscordBot-ChatGPT-main\main.py”, line 27, in
    chatbot = Chatbot(config,conversation_id=None)

  3. 不好意思,想問一下
    執行程式所產生的瀏覽器會一直反覆開關,之後就跳錯了。請問有哪邊可能出問題的嗎?

    錯誤訊息:https://imgur.com/a/SB72HHE

  4. 執行python main.py時跳出
    File “C:\DiscordBot-ChatGPT-main\main.py”, line 3, in
    from revChatGPT.Unofficial import Chatbot
    File “C:\Users\COSH\AppData\Local\Programs\Python\Python310\lib\site-packages\revChatGPT\Unofficial.py”, line 8, in
    import undetected_chromedriver as uc
    ModuleNotFoundError: No module named ‘undetected_chromedriver’
    是什麼意思?

  5. 請問網路上的教學都是使用 openAI 的 api key,但你是使用瀏覽器的 token,兩者差在哪呢?是這樣就能繞過付費機制嗎?使用瀏覽器 token 會不會有過期問題?謝謝大佬

    • 最主要是openAI目前還沒有開放ChatGPT這個模型(無法使用openai的api來存取模型),所以只能以爬蟲的形式實現,使用瀏覽器的 token是因為要過chat.opanai.com的OAuth驗證,繞過付費機制的話目前無從得知,但基於之前洩漏的測試模型`text-chat-davinci-002-20221122`(2/10/2023失效),是不會扣credit的,最後,使用瀏覽器 token 會有過期問題(應該是可以refresh拉只是我好懶XD)

  6. 您好,看了一下您的程式碼
    讓我成功在我自己的discord bot中加入chatGPT啦
    大感謝~
    也想順便請問一下
    您寫的bot是可以支援多訊息同時輸入的嗎?

    話說
    revChatGPT這個就是官方自己洩漏的api喔
    也建議可以讓使用者選擇帳號密碼登入模式

    • 一開始是支持的,但自從OpenAI開始限制之後,就完全不行了@@
      第一個之後就都會回覆“Only one message at a time. Please allow any other responses to complete before sending another message, or wait one minute.”

      其實開始是登入帳號密碼的,後來因為有段時間不能用,就改成session token登入w

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *