JSPM

  • Created
  • Published
  • Downloads 3
  • Score
    100M100P100Q82093F
  • License MIT

The main discordia framework

Package Exports

  • @discordia/framework

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@discordia/framework) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

Note: Some of the links in this README file work better on the documentation site

Installation

Discordia instantiates and starts Discord bots using the @discordia/framework module.

# install the module using npm
npm install @discordia/framework

# install the module using yarn
yarn add @discordia/framework

Basic Example

const DiscordiaFramework = require('@discordia/framework');
// actions is an array of DiscordiaAction objects
const actions = require('./actions');
const options = {
  name: 'myBot',
  caseSensitiveName: false,
  missingCommandMessage: 'The command you tried to send was not available',
  help: 'You should probably configure a useful help message or leave the default',
};

const myBot = new DiscordiaFramework('DISCORD_BOT_TOKEN', actions, options);

// Set up the event listeners and log the bot in using the provided token
myBot.start();

Usage

Every Discordia framework is made of three pieces: a token, an array of actions, and a set of optional options.

Token

String

Your private Discord bot token. The token for your bot should be located at https://discordapp.com/developers/applications/{client-id}/bot (replace {client-id} with the Client ID of your Discord application) in a hidden field that you can reveal by clicking "Click to Reveal Token". This guide is a useful one for making a new Discord bot if you have not done so before. Follow that guide through step #4 to make your bot and get a link to invite it to a server.

⚠️This token is a sensitive piece of information - do not commit it with your source code and regenerate it if it ever becomes compromised⚠️

Actions

Array[DiscordiaAction]

An array of DiscordiaAction objects. See our guide on how to use the @discordia/action module to create your own actions and/or install them from third party modules.

Options

Object

The options object is prepopulated with overrideable defaults. More in-depth explanations of the available options are below.

Option Default
name undefined
caseSensitiveName false
missingCommandMessage "The command you typed is not available 🙁"
help @discordia/help-default

name

String - Default = undefined

Your discord bot will see all messages sent in a server you invite it to. By default, it will only respond when you @ the bot. If name is set then the bot will instead respond to any message that begins with a string matching name. By default this is not case sensitive but you can set caseSensitiveName to true if you want the name to be case sensitive.

caseSensitiveName

Boolean - Default = false

Controls whether or not the bot name should be treated as if it is case sensitive. This field is ignored if name is not set.

missingCommandMessage

String|Function - Default = "The command you typed is not available 🙁"

See DiscordiaFramework.handleMissingCommand for more details.

The message to send if a server member tries to ask the bot to do an action it does not know how to handle. You can either customize the string or provide a function to give a more involved response.

help

String|Function - Default = @discordia/help-default

See DiscordiaFramework.handleHelp for more details.

The message to send if a server member tries to ask the bot for help. By default it will use @discordia/default-help to read your actions and send a response based on their accessors and descriptions. You can provide a static string as a response or provide a custom function to give a more involved response.

Testing

🚧 Coming Soon! 🚧