Warning
- 
run pip3 install -r requirements.txt
- 
Rename the file .env.exampleto.env
- 
Recommended python version 3.9+
- 
Go to https://discord.com/developers/applications create an application 
- 
Build a Discord bot under the application 
- 
Get the token from bot setting 
- 
Store the token to .envunder theDISCORD_BOT_TOKEN  
- 
Turn MESSAGE CONTENT INTENT ON
- 
Invite your bot to your server via OAuth2 URL Generator 
Note
In Step 2, you only need to complete the authentication process for the model you want to use (it's not necessary to complete all Step 2) Remember to modify
CHAT_MODELto the default model you want to use in.envfile
- 
Click Create new secret key 
- 
Store the SECRET KEY to .envunder theOPENAI_API_KEY
- 
You're all set for Step 3 
Only Support ChatGPT Plus Account
- 
Create an account on https://chat.openai.com/chat and open it 
- 
Open console with F12
- 
Open Applicationtab > Cookies
- 
Copy the value for _puidfrom cookies and paste it into.envunderPUID
- 
Save your email into .envunderOPENAI_EMAIL
- 
Save your password into .envunderOPENAI_PASSWORD
- 
You're all set for Step 3 
- 
Open console with F12
- 
Open Applicationtab > Cookies
- 
Copy the value for _puidfrom cookies and paste it into.envunderPUID
- 
Copy the value for accessTokenfrom cookies and paste it into.envunderACCESS_TOKEN
- 
You're all set for Step 3 
- 
Go to https://bard.google.com/ 
- 
Open console with F12
- 
Open Applicationtab > Cookies
- 
Copy the value for __Secure-1PSIDfrom cookies and paste it into.envunderBARD_SESSION_ID
- 
You're all set for Step 3 
- 
Rename the file cookies.dev.jsontocookies.json
- 
Go to https://bing.com/chat and log in your Microsoft account 
- 
Use Cookie Editor or similar extensions to export the cookies 
- 
Paste it into cookies.json
- 
You're all set for Step 3 
- 
Open a terminal or command prompt 
- 
Navigate to the directory where you installed the ChatGPT Discord bot 
- 
Run python3 main.pyorpython main.pyto start the bot
- 
Build the Docker image & Run the Docker container docker compose up -d
- 
Inspect whether the bot works well docker logs -t chatgpt-discord-bot- docker psto see the list of running services
- docker stop <BOT CONTAINER ID>to stop the running bot
 
- Set the value of LOGGINGin the.envto False
- 
A system prompt would be invoked when the bot is first started or reset 
- 
You can set it up by modifying the content in system_prompt.txt
- 
All the text in the file will be fired as a prompt to the bot 
- 
Get the first message from ChatGPT in your discord channel! 
- 
Go Discord setting turn developer modeon
- 
/chat [message]Chat with ChatGPT!
- 
/draw [prompt]Generate an image with the Dalle2 model
- 
/switchpersona [persona]Switch between optional chatGPT jailbreaks- random: Picks a random persona
- chatGPT: Standard chatGPT mode
- dan: Dan Mode 11.0, infamous Do Anything Now Mode
- sda: Superior DAN has even more freedom in DAN Mode
- confidant: Evil Confidant, evil trusted confidant
- based: BasedGPT v2, sexy gpt
- oppo: OPPO says exact opposite of what chatGPT would say
- dev: Developer Mode, v2 Developer mode enabled
 
- 
/privateChatGPT switch to private mode
- 
/publicChatGPT switch to public mode
- 
/replyallChatGPT switch between replyAll mode and default mode
- 
/resetClear ChatGPT conversation history
- 
/chat-modelSwitch different chat model- OFFICIAL-GPT-3.5: GPT-3.5 model
- OFFICIAL-GPT-4.0: GPT-4.0 model (make sure your account can access gpt-4 model)
- Website ChatGPT-3.5: Website ChatGPT-3.5 model (UNOFFICIAL)
- Website ChatGPT-4.0: Website ChatGPT-4.0 model (UNOFFICIAL)(available if you got a plus account)
- Bard: Google Bard Model
- Bing: Microsoft Bing Model
 
Warning
Using certain personas may generate vulgar or disturbing content. Use at your own risk.
- 
public mode (default)the bot directly reply on the channel
- 
private modethe bot's reply can only be seen by the person who used the command
- 
replyall modethe bot will reply to all messages in the channel without using slash commands (/chatwill also be unavailable)Warning The bot will easily be triggered in replyallmode, which could cause program failures








