ShazowBot is my personal chat bot for general and useless stuff. The main focus here is making the bot flexible enough to support any environment (discord, twitch, etc.) by simply implementing the message listener, message parser and action execution.
Codebase | Description |
---|---|
Chat | Normalizes multiple environments input/output |
Server | Bot implementation |
Api | Bot database management API |
Front | Bot database management front |
Database | Models and Repositories |
Utils | General utils |
For .env
settings, the following properties are needed:
-
MONGODB_CONNECTION_URL: MongoDb connection URL for storing/retrieving models.
-
DISCORD_TOKEN: Discord Bot Token.
-
TWITCH_USERNAME: Your bot twitch username.
-
TWITCH_TOKEN: Your
TWITCH_USERNAME
generated oauth token
For general (and not sensitive data), we use config.json
:
-
prefix: Prefix used for commands
-
trollCommandThreshold: Troll commands are ignored since they generally dont mean anything besides trying to find problems inside the bot implementation. The threshold is the minimum message size for classifying it as troll
-
twitchChannels: List of twitch channels to connect with
- build: Build all packages
- start: Start the bot
- lint: Run linter
- new command: Creates new command boilerplate
To see bot available commands, check out this folder.