This is a simple discord bot with the following functionalities:
- Ping a user with a reaction.
- Gives users roles. (Work in progress)
deploy-commands.ts - Manages if commands should be created, deleted, if it should happen for public command or guild commands e.t.c. also passes basic command info from commandInits.ts
to index.ts
.
commandsInit.ts - Preapers the commands to be deployed and saves basic info about it so the command could be executed later on.
commands folder stores all of the commands code, each file in there is requred to export { name, description, permissions, execute }
. and optionaly initOptions
.
- name - name of the command
- description - description of the command
- permissions - permissions required to execute the command
- execute - function that executes the command
- initOptions - made to add options for the command the following function will run when the command is deployed.
First in order to run your bot you need to make sure that you have node.js v16.X installed.
Then you need to create a file called .env
in the root of the project and add the following varibles to it:
TOKEN=
clientId=
guildId=
# Example of what I use DATABASE_URL="file:./db/dev.db"
DATABASE_URL=
# only true or false
buildCommands=
removeCommands=
buildCommandsPublic=
removeCommandsPublic=
You can also view those varibles in the .env.example
file.
After all the dependencies are installed and .env
file is seted up you can generate a database by running npx prisma migrate dev --name init
at the root folder of the project.
Now just run npm run dev
and the bot should be up and running.
If you have a button, selectmenu or e.t.c you need to make sure that you .setCustomId()
to the name of the event file.