Skip to content

AnimalDesign/bot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

88 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ANIMAL bot

This is the home of the ANIMAL bot. It shall be a (not so) silent companion, supporting our everyday work life at the office.

Project Status: WIP - Initial development is in progress. Build Status Test Coverage Code Climate Issue Count Dependencies

Core functionality

The core of the ANIMAL bot provides the following functionality:

Database layer

The database layer is based on the Sequelize ORM and therefor supports PostgreSQL, MySQL, MariaDB, SQLite (currently tested and used) and MSSQL databases.

Module loader

With the module loader, we try to maintain greatest possible flexibility. Developers can independently teach the bot new tricks without blocking others. Modules overseen by the ANIMAL team can be found here. To install a module, it usually needs to be copied (or cloned) into app/modules/<modulename>. Have a look at the Example module repository to learn more on how to extend the bot.

Note: A module can be deactivated simply by renaming its module.js file.

The modular concept of the module loader is loosely inspired by this article.

Commandline interface

To make some functionality easy accessable, the bos also has a commandline interface. It is based on Commander.js and can be extended by modules.

./bin/bot

Logger

The logger component uses winston to log infos into app/logs/info.log and errors into app/logs/error.log.

Dependencies

About

„We build it" -- ANIMAL