https://github.com/tulioabreu/shazow-bot
Customizable personal bot for any text platform with an API
https://github.com/tulioabreu/shazow-bot
bot discord-bot twitch-bot
Last synced: 3 months ago
JSON representation
Customizable personal bot for any text platform with an API
- Host: GitHub
- URL: https://github.com/tulioabreu/shazow-bot
- Owner: TulioAbreu
- Created: 2021-03-21T12:48:34.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2023-03-31T17:53:39.000Z (about 3 years ago)
- Last Synced: 2025-03-06T01:46:53.270Z (over 1 year ago)
- Topics: bot, discord-bot, twitch-bot
- Language: TypeScript
- Homepage:
- Size: 575 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 14
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
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.
## Package Structure
| Codebase | Description |
| -------- | ----------- |
| [Chat](https://github.com/TulioAbreu/shazow-bot/tree/master/packages/chat) | Normalizes multiple environments input/output |
| [Server](https://github.com/TulioAbreu/shazow-bot/tree/master/packages/server) | Bot implementation |
| [Api](https://github.com/TulioAbreu/shazow-bot/tree/master/packages/api) | Bot database management API |
| [Front](https://github.com/TulioAbreu/shazow-bot/tree/master/packages/front) | Bot database management front |
| [Database](https://github.com/TulioAbreu/shazow-bot/tree/master/packages/database) | Models and Repositories |
| [Utils](https://github.com/TulioAbreu/shazow-bot/tree/master/packages/utils) | General utils |
## Settings
For `.env` settings, the following properties are needed:
- **MONGODB_CONNECTION_URL**: MongoDb connection URL for storing/retrieving [models](https://github.com/TulioAbreu/shazow-bot/tree/master/packages/server/src/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
## Repository Commands
- **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](https://github.com/TulioAbreu/shazow-bot/tree/master/docs).