Coder Social home page Coder Social logo

impact14 / chatgpt-discord-bot Goto Github PK

View Code? Open in Web Editor NEW

This project forked from zero6992/chatgpt-discord-bot

0.0 0.0 0.0 50.47 MB

Integrate ChatGPT into your own discord bot

License: GNU General Public License v2.0

Python 99.01% Dockerfile 0.99%

chatgpt-discord-bot's Introduction

ChatGPT Discord Bot

Build your own Discord bot using ChatGPT


Warning

2023-04-12 Bing now supported

2023-03-27 Bard now supported

2023-08-02 Unofficial GPT-4 is currently down

Chat

image

Setup

Critical prerequisites to install

  • run pip3 install -r requirements.txt

  • Rename the file .env.example to .env

  • Recommended python version 3.9 +


Step 1: Create a Discord bot

  1. Go to https://discord.com/developers/applications create an application

  2. Build a Discord bot under the application

  3. Get the token from bot setting

    image

  4. Store the token to .env under the DISCORD_BOT_TOKEN

    image
  5. Turn MESSAGE CONTENT INTENT ON

    image

  6. Invite your bot to your server via OAuth2 URL Generator

    image


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_MODEL to the default model you want to use in .env file

Step 2: Official API authentication

Geanerate an OpenAI API key

  1. Go to https://beta.openai.com/account/api-keys

  2. Click Create new secret key

    image

  3. Store the SECRET KEY to .env under the OPENAI_API_KEY


Step 2: Website ChatGPT authentication

Only Support ChatGPT Plus Account

  1. Open https://chat.openai.com/api/auth/session

  2. Open console with F12

  3. Open Application tab > Cookies

    image

  4. Copy the value for _puid from cookies and paste it into .env under PUID

  5. Copy the value for accessToken from cookies and paste it into .env under ACCESS_TOKEN


Step 2: Google Bard authentication

  1. Go to https://bard.google.com/

  2. Open console with F12

  3. Open Application tab > Cookies

  4. Copy the value for __Secure-1PSID from cookies and paste it into .env under BARD_SESSION_ID


Step 2: Microsoft Bing authentication

  1. Rename the file cookies.dev.json to cookies.json

  2. Go to https://bing.com/chat and log in your Microsoft account

  3. Use Cookie Editor or similar extensions to export the cookies

  4. Paste it into cookies.json


Step 3: Run the bot on the desktop

  1. Open a terminal or command prompt

  2. Navigate to the directory where you installed the ChatGPT Discord bot

  3. Run python3 main.py or python main.py to start the bot


Step 3: Run the bot with Docker

  1. Build the Docker image & Run the Docker container docker compose up -d

  2. Inspect whether the bot works well docker logs -t chatgpt-discord-bot

    Stop the bot:

    • docker ps to see the list of running services
    • docker stop <BOT CONTAINER ID> to stop the running bot

Have a good chat!


Optional: Auto-Login

  • The auto-login feature allows your bot to automatically login to either Google Bard or Microsoft Bing using provided credentials
  • It will auto fetch the cookies you need
  • To enable this feature, first specify your Chrome browser's version by filling in the chrome_version field in the .env file
  • Google Bard
    1. set bard_enable_auto_login to True in .env

    2. Fill google_account and google_password in .env

      (NOTICE: AUTO-LOGIN ONLY WORKS FOR GOOGLE ACCOUNT THAT DOES NOT HAVE 2FA)

  • Microsoft Bing
    1. set bing_enable_auto_login to True in .env
    2. Then fill bing_account and bing_password in .env

Optional: Setup system prompt

  • 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 mode on

    1. Right-click the channel you want to recieve the message, Copy ID

      channel-id

    2. paste it into .env under DISCORD_CHANNEL_ID

Optional: Disable logging

  • Set the value of LOGGING in the .env to False

中文設置教學


Commands

  • /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
  • /private ChatGPT switch to private mode

  • /public ChatGPT switch to public mode

  • /replyall ChatGPT switch between replyAll mode and default mode

  • /reset Clear ChatGPT conversation history

  • /chat-model Switch 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

Special Features

Draw

image

Switch Persona

Warning

Using certain personas may generate vulgar or disturbing content. Use at your own risk.

image

Mode

  • public mode (default) the bot directly reply on the channel

    image

  • private mode the bot's reply can only be seen by the person who used the command

    image

  • replyall mode the bot will reply to all messages in the channel without using slash commands (/chat will also be unavailable)

    Warning The bot will easily be triggered in replyall mode, which could cause program failures


chatgpt-discord-bot's People

Contributors

bradly0cjw avatar cnrpman avatar danparizher avatar devarxify avatar dovarfalcone avatar hvikman avatar ja1e0 avatar jacky-chay avatar jeanhadrien avatar joaquinv98 avatar kingbain avatar kkogai avatar lintangtimur avatar mcuxdaredevil avatar mohamedal-nassirat avatar mzrtamp avatar prevailugah avatar shahab00x avatar shinysocks avatar yungpingxu avatar zero6992 avatar ziipzaaapm16a4 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.