Example Discord bot written in Python that uses the completions API to have conversations with the `text-davinci-003` model, and the moderations API to filter the messages.
Example Discord bot written in Python that uses the completions API to have conversations with the text-davinci-003 model, and the moderations API to filter the messages.
Disable "Public Bot" unless you want your bot to be visible to everyone
Enable "Message Content Intent" under "Privileged Gateway Intents"
Go to the OAuth2 tab, copy your "Client ID", and fill in DISCORD_CLIENT_ID
Copy the ID the server you want to allow your bot to be used in by right clicking the server icon and clicking "Copy ID". Fill in ALLOWED_SERVER_IDS. If you want to allow multiple servers, separate the IDs by "," like server_id_1,server_id_2
You should see an invite URL in the console. Copy and paste it into your browser to add the bot to your server.
Optional configuration
If you want moderation messages, create and copy the channel id for each server that you want the moderation messages to send to in SERVER_TO_MODERATION_CHANNEL. This should be of the format: server_id:channel_id,server_id_2:channel_id_2
If you want to change the personality of the bot, go to src/config.yaml and edit the instructions
If you want to change the moderation settings for which messages get flagged or blocked, edit the values in src/constants.py. A lower value means less chance of it triggering.
FAQ
Why isn't my bot responding to commands?
Ensure that the channels your bots have access to allow the bot to have these permissions.
Send Messages
Send Messages in Threads
Create Public Threads
Manage Messages (only for moderation to delete blocked messages)