ediziks / BingGPT-Discord-Bot

BingGPT Discord Bot that can handle /ask & /imagine prompts using reverse engineered API of Microsoft's Bing Chat under the hood
The Unlicense
119 stars 14 forks source link
bing bing-api bing-chat bingapi bingchat chat chatbot chatbots chatgpt chatgpt-api chatgpt-bot chatgpt4 discord discord-bot edge edgegpt gpt gpt-4 gpt4 openai

BingGPT-Discord-Bot

BingGPT-Discord-Bot is a Discord bot that can be invited to any Discord servers and be interact with Microsoft's Bing Chat. It's reverse engineered API of Microsoft's Bing Chat which is currently running with GPT-4 and recently started to support Text-to-Image generation

Setup

Requirements

Checking access (Required)

Getting authentication (Required)

(Option 1) Installation & Running with Docker

  1. Be sure that Docker and docker-compose are installed on your system

  2. Complete the installation section above up to 3th step (including the 3th)

  3. Build the project

    docker-compose build
  4. Run the application

    • Running in the shell/terminal

      docker-compose up
    • Running in detached mode (similar as a background process)

      docker-compose up -d

(Option 2) Installation & Running with Python

  1. Clone the repo and change directory to repo folder

    git clone https://github.com/ediziks/BingGPT-Discord-Bot.git
    cd BingGPT-Discord-Bot
  2. Place cookies.json file into the main path. See Getting authentication (Required) section above for more information. Also, check example.cookies.json file to see the right path

  3. Set the environment variables (BOT_TOKEN & SERVER_ID) in the .env file. See .example.env file to get the right format and the path. Check creating Discord bot and getting the token for more details about the BOT_TOKEN. And, the SERVER_ID can be simply copied by right clicking the server logo you want to invite the bot, and selecting COPY_ID. See how to get Discord server id for more information.

  4. Install the requirements

    pip install -r requirements.txt
  5. Make bot.py and dcbot.sh files executable

    chmod +x src/bot.py dcbot.sh
  6. The bot can be launched after completing the steps below. There are two alternatives to do so;

    • 1st method: Running the bot with python command in the terminal

      python src/bot.py
    • 2nd method: Running the bot as a background process (Preferred)

      ./dcbot.sh
      • Bot logs can be find under src/bot.log
      • Find the process id with the first command and stop the process by providing the process id in the second command
      ps ax | grep bot.py
      sudo kill -9 <proces_id>

Inviting the Bot

See how to invite a bot to Discord server for more information about the bot invitation. Make sure that the bot permissions look like as in the image below before generating the invitation url

invitation permissions

Usage

Commands

/ask <prompt>      - Ask BingGPT a question
/imagine <prompt>  - Ask BingGPT to imagine visuals
/reset             - Reset the conversation
/hardreset         - Reset the session

Sample Usage

/ask usage

/imagine usage

Known Issues

Currently, the /imagine command doesn't work as expected. Suggestion and PRs are more than welcome.