Skip to content

mfasman95/discordia

Repository files navigation

@discordia

Monorepo for the @discordia Discord bot framework

license

What is Discordia?

Discordia is the Roman equivalent of Eris, the Goddess of Discord.

This monorepo, on the other hand, is a tool for creating Discord bots. The core of the framework is made of two pieces - @discordia/framework and @discordia/action.

The framework module is used to register your discord bot by giving it your discord bot token as well as giving the bot a name to respond to.

The action module is how you handle message responses. It allows you to specify accessors (conditions under which the bot should respond) and responses (the response to be given if the accessor is met). You can also publish the actions you make so that others can add those actions to their bots.

For a tutorial on how to setup a project using @discordia you can check out the getting started guide.

You can also use one of the generators to bootstrap your own bot or bootstrap an action to publish on its own.

Packages

@discordia/framework @discordia/action @discordia/default-help @discordia/debug @discordia/complete

Generators

Use these generators to quickly bootstrap projects related to the @discordia framework using npx or yarn create.

@discordia/create-discordia-bot @discordia/create-discordia-action

This guide will walk you through creating a bot from the Discord developers site as well as setting up your workspace to develop an @discordia bot with Node and NPM, and then finally how to use the @discordia/framework and @discordia/action modules.

Contributing

This project uses Conventional Commits. After you make your changes and update the appropriate tests, do the following steps:

  • npm test - You can also use npm run test:watch to validate in a watch loop
  • npm run lint - Your changes will be linted when they are staged, but this will help you catch those changes earlier
  • git add ... - Stage the changes you want to commit
  • npm run commit - This command will walk you through making a conventional commit