A modular, unopinionated, middleware-based Discord bot framework.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github
.vscode
src
test
.codeclimate.yml
.editorconfig
.eslintignore
.eslintrc.json
.gitignore
.travis.yml
LICENSE
README.md
index.ts
package.json
tsconfig.json
tslint.json
yarn.lock

README.md

Erisa

Build Status Maintainability Test Coverage npm

Erisa is a Discord bot framework built upon Eris using TypeScript.

This is currently a heavy work-in-progress and nothing is guarenteed to be consistent and stable until v1.

Installation

npm install erisa

Basic Usage

Instead of using conventional .on listeners, Erisa provides a .use function for listening to events, (sort of similar to Express' .use middleware function), which allows wildcard listeners among other things.

TypeScript (recommended)

import {Erisa} from 'erisa';
import {Message} from 'eris'; // For types

const bot = new Erisa('token');

bot.use('ready', () => console.log('Erisa online!'));

bot.use('createMessage', (_, msg: Message) => {
    if (msg.content === '!ping') {
        msg.channel.createMessage('Pong!');
    }
});

bot.connect();

JavaScript

const {Erisa} = require('erisa');

const bot = new Erisa('token');

bot.use('createMessage', (_, msg) => {
    if (msg.content === '!ping') {
        msg.channel.createMessage('Pong!');
    }
});

bot.connect();

I found a bug or want to request a feature

Open an issue here, making sure that no duplicate issues exist already (unless you believe your situation to be different enough to warrant a new issue).

Contributing

For further contribution, guidelines see CONTRIBUTING.

License

This repository is licensed under the MIT license. More info can be found in the LICENSE file.