3.7 KiB
3.7 KiB
GPT-3.5 PyCord Discord Bot
This is a Discord Bot that Uses OpenAI's new Chat API-Endpoint to generate text like ChatGPT
How to use
This Bot uses the PyCord Library (PyCord) and the OpenAI Python Library (OpenAI)
There are two ways to use this bot:
Using Docker or without Docker.
The No Docker Way
- Clone the Repo
- Install the requirements using
pip install -r requirements.txt. Preferably in a virtual environment likevenv. - Get a Discord Bot Token from the Discord Developer Portal
- Create a new Application
- Go to the Bot Tab and create a new Bot
- Copy the Token
- Also Check under Privileged Gateway Intents the following:
- Server Members Intent
- Message Content Intent
- Get an OpenAI API Key from OpenAI
- Go to the
configs-folder and create a file called.envin the config folder and add the following:
DISCORD_TOKEN=Your_Bot_Token
OPENAI_API_KEY=Your_OpenAI_API_Key
- Run the bot using
python main.pyorpython3 main.py- To keep the Bot running in the background use
nohup python3 main.py & - To stop the Bot use
pkill -f main.py
- To keep the Bot running in the background use
The Docker Way
- Clone the Repo
- Get a Discord Bot Token from the Discord Developer Portal
- Create a new Application
- Go to the Bot Tab and create a new Bot
- Copy the Token
- Also Check under Privileged Gateway Intents the following:
- Server Members Intent
- Message Content Intent
- Get an OpenAI API Key from OpenAI
- Use
docker build -t discord-bot .to build the Docker Image - Make a folder called
chat - Make a folder called
configand create a file called.envin the configs folder and add the following:
DISCORD_TOKEN=Your_Bot_Token
OPENAI_API_KEY=Your_OpenAI_API_Key
- Run the bot using
docker run -v /path/to/config:/usr/share/dcbot/configs -v /path/to/chat:/usr/share/dcbot/chats -d --name discord-bot discord-bot - To stop the Bot use
docker stop <container-id>
How to use the Bot
Once the Bot is running and you have invited it to your Server, you can use the following commands:
- /add text (channel-id) to Add the Bot to listen in a channel. The Bot will listen to all messages in that channel and answer them using GPT-3.5. The Bot will ignore Messages with a Prefix (Default - $)
- /add prefix (channel-id) to Add the Bot to listen in a channel. The Bot will listen to all messages in that channel that start with the prefix and answer them using GPT-3.5 (Default - !)
- /remove text/prefix (channel-id) to remove the Bot from listening in a channel.
- /list text/prefix to list all channels the Bot is listening in.
- /delete to delete the bots history from specific channels.
- /help to get a list of all commands.
- /ping to check if the Bot is online.
- /setup (channelid) (System-Message) Changes the System-Message. See OenAI's Documentation for more information. OpenAI Docs
Future Improvements
- Currently I am working on an SQLite DB to store all information needed (eg. Servers, Channels, Configs, etc)
- Also I am working on a way to toggle between GPT 3.5-turbo and GPT-4
- Need to find and fix Bugs
How to Contribute
If you want to contribute to this project, feel free to open a PR or Issue.