Skip to content
This repository has been archived by the owner on Jun 12, 2022. It is now read-only.
/ erisa Public archive

A modular, unopinionated, middleware-based Discord bot framework.

License

Notifications You must be signed in to change notification settings

erisaaa/erisa

Repository files navigation

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.