Skip to content

Example code for using OpenAI’s NodeJS SDK with discord.js SDK to create a Discord Bot that uses Slash Commands.

License

Notifications You must be signed in to change notification settings

mrandcris/dallify-discord-bot

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Example code for running a Discord Bot that uses OpenAI's DALL-E api to generate AI images.

This bot uses OpenAI's NodeJS SDK, and v14 of discord.js, and is written in Typescript.

This repo is not accepting Pull Requests. Please fork this repo if you want to add or change features.

Features include:

  • draw command to generate images (1 to 9) using the generations endpoint
  • save button to send images to user's DMs
  • reroll button to rerun that generation
  • expand button to zoom out of the image by using the edits (inpaint) endpoint

Discord Bot setup:

https://discordjs.guide/preparations/setting-up-a-bot-application.html

Your bot needs the following bot permissions:

  • Send Messages
  • Use Slash Commands
  • Attach Files

Use the invite link in src/Bot.ts, which includes the above permissions.

Secrets setup:

  1. Go to src/utils/constants.ts and follow the comments to create src/utils/config.json
  2. Copy your bot's client id and token into config.json
  3. Copy your server's id into config.json (https://support.discord.com/hc/en-us/articles/206346498-Where-can-I-find-my-User-Server-Message-ID-)
  4. Copy your OpenAI API key into config.json (https://beta.openai.com/account/api-keys)

Node server setup:

  1. install brew if you don't have it (https://docs.brew.sh/Installation)
  2. brew install npm if you don't have it
  3. npm install in repo root
  4. npm run start in repo root

Screen Shot 2022-11-04 at 8 35 39 PM

About

Example code for using OpenAI’s NodeJS SDK with discord.js SDK to create a Discord Bot that uses Slash Commands.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 100.0%