An open API service indexing awesome lists of open source software.

https://github.com/cryptiklemur/eris-command-framework


https://github.com/cryptiklemur/eris-command-framework

Last synced: 12 months ago
JSON representation

Awesome Lists containing this project

README

          

# Eris Command Framework

## You should probably just use slash commands now...

This framework is based around the idea of `PluginInterface`, and `CommandInterfaces`.

a Plugin (that implements `PluginInterface`) has Commands, that are annotated by `@Command()`

### Usage

##### Requirements

* TypeORM
* Inversify

```typescript
import {CommandFramework, Interfaces, types} from 'eris-command-framework';

const container = new Container({defaultScope: 'singleton'});
const commandFramework = new CommandFramework(container, {prefix: '|'}); // Prefix is required

const connection: Connection = await createConnection(
{
autoSchemaSync: true,
driver: {
database: process.env.DATABASE_NAME,
host: process.env.DATABASE_HOST,
port: process.env.DATABASE_PORT,
username: process.env.DATABASE_USER,
password: process.env.DATABASE_PASSWORD,
type: "mysql",
extra: {
supportBigNumbers: true,
bigNumberStrings: true,
},
},
entities: [
// Your entities here,
...commandFramework.GetEntities()
],
},
);

container.bind(types.Connection).toConstantValue(connection);

const plugins: Interfaces.PluginInterface[] = [
// Array of PluginInterfaces
];

// Finish setting up your container
await commandFramework.Initialize(plugins);
```