如何將Discord機械人升級為ChatGPT4: 簡單教
將ChatGPT API應用到Discord Bot
事前準備:
- Open AI 帳戶 – api key
- Discord 帳戶
- 安裝 Git 用來下載 Github代碼
- 需要 Python3 運行機械人
Source Code: https://github.com/milkxd/gpt_dcbot_thread.git
取得ChatGPT API Key
OpenAI API: https://platform.openai.com/account/api-keys
用上面鏈結到OpenAI 網頁, 按圖中的按鈕取得API Key
可以隨便給個名字或者直接按”Create secret key”建立
建立Discord機械人
Discord Developer Portal: https://discord.com/developers/applications
到Discord Developer Portal 並登入帳號, 右上角的按鈕建立一個新Application
改一個你喜歡的名字,不過名字與別人相撞的話一會建立機械人會失敗,同意條款就可以建立
會自動跳到新建立Application的頁面, 按下”Copy”將APPLICATION ID複製到記事本, 等會需要用到
之後在左邊的選單按”Bot”, 到機械人的頁面
建立一個新機械人, 按下”Yes, do it!” 感覺Nevermind應該都一樣= =”
建立好之後, 可以Copy Token, 或者View Token, 也是複製到記事本等會需要用到
這個Token離開這個頁面後就再看不到, 下次進來只會看到Reset Token, 到時重設Token後也是只可以看一次
之後在左邊選單到 OAuth2->URL Generator 設定機械人的限權
SCOPES 選 bot
BOT PERMISSIONS 選 Administrator
之後到頁面的最底部生成了一個網址, 把這個網址複製, 然後貼到瀏覽器新頁面
如果 client_id= 後面是一堆問號, 就把client_id=???????? 改成
client_id=<剛剛複製的APPLICATION ID>
進到這網址就會看到授權頁面, 選擇自己想機械人加入的伺服器, 你需要是伺服器的擁有人或管理員
機械人是離線的, 因為還未運行
到 Github 獲取 GPT Discord機械人的程式碼
Source Code: https://github.com/milkxd/gpt_dcbot_thread.git
我是用 Linux Ubuntu 運行的有需要可以在前面加sudo, Window 可以省略並到python網頁下載python3
Python3: https://www.python.org/downloads/
apt update
apt upgrade
apt install python3
apt install python3-pip
在 cmd/terminal 從 Github下載程式碼
git clone https://github.com/milkxd/gpt_dcbot_thread.git
用 cd 進到 gpt_dcbot_thread 目錄並安裝所需的模組
cd gpt_dcbot_thread
pip3 install -r requirements.txt 如果不行嘗試 pip install -r requirements.txt
把目錄 .env.example 複製到 .env 修改成自己的 API KEY 及機械人 Token
Linux 用家可以用nano或vim修改, Windows 用家用記事本打開修改即可
cp .env.example .env
nano .env
OPENAI_API_KEY 是一開始複製了的OpenAI API Key
DISCORD_BOT_TOKEN 是機械人的 Token
DISCORD_CLIENT_ID 則是 APPLICATION ID
ALLOWED_SERVER_IDS 是可以使用該機械人伺服器ID, 可多於一個伺服器並用逗號分隔把1改成自己的ID
最底那個可以不用理會
取得伺服器ID方法
到左下角的設定, 然後到進階並開啟開發者模式
回到伺服器, 左左邊伺服器列表右鍵, 最尾一個複製伺服器ID
準備好所有事情之後, 儲存.env 然後回到 gpt_dcbot_thread 目錄, 並運行機械人
python3 -m src.main 如果不行嘗試 python -m src.main
機械人上線啦, 輸入 /chat 就可以問他問題
機械人會建立一個討論串, 關於同一個問題進到討論串直接發問就可以了
如果要發問新問題就回到主頻道再輸入 /chat 發問
程式碼預設是使用 gpt-3.5-turbo 的模組, 若要更改請到 目錄中 /scr/completion.py 檔案
搜尋 gpt-3.5-turbo 把他修改到 gpt-4, 就能使用 GPT-4 的模組
價錢大約是 gpt-3.5 的 15 倍, 我嘗試過整段程式碼貼上發問, 使用了$0.17USD (大約 $1 港元 / $4台幣)
而 GPT-3.5 真像不用錢似的, 三至四次發問也未必用得到 $0.01USD
用 API 的好處就是不會像OPENAI網頁的使用頁面經常斷線需要刷新頁面, 也不用一直連著VPN
壞處就是要付費.
教學就到這邊, 感覺無論 GPT3.5 還是 GPT-4 編程上還是蠻常出現bug的.
反而用它Debug有奇效, 現在我把機械人拉進Discord整個團隊在用十分方便!
備註: 原程式碼是用舊GPT模組, 因此我把程式碼請求API的部分改作GPT-3.5或GPT-4的格式