How ruanlopes1350/shark_guardian_bot works
Shark Guardian TS is a WhatsApp group-management bot. Incoming WhatsApp messages pass through the central interceptor, which applies automatic safety checks and resolves commands; accepted commands proceed through command classes, controllers, and business services to SQLite-backed repositories, with standardized replies sent through the WhatsApp connection. The README also describes moderation, group administration, economy, stickers, and YouTube downloads. Some subsystem links reflect documented architecture and capabilities; unsampled implementation details are not inferred.
Main entry points: interceptadorMensagem.ts Message interceptor · RespostaComum.ts Standard replies · command Command handlers · repositorioGrupo.ts Group repository
Components 22
Bot Runtime
- Bot entry
src/index.ts - Message interceptor
src/middleware/interceptadorMensagem.ts - Command registry
src/core/RegistradorComandos.ts - Command handlers
src/command - Standard replies
src/utils/RespostaComum.ts
Safety and Groups
- Group controller
src/controller/controladorGrupo.ts - Group services
src/service/servicoGrupo.ts - Automatic moderation
src/service/servicoModeracaoAutomatica.ts - Anti-link rules
src/service/servicoAntiLink.ts
Bot Features
- Media controller
src/controller/controladorMidia.ts - Media services
src/service/servicoMidia.ts - User controller
src/controller/controladorUsuario.ts - User services
src/service/servicoUsuario.ts
Persistence
- Group repository
src/repository/repositorioGrupo.ts - User repository
src/repository/repositorioUsuario.ts - Command repository
src/repository/repositorioComando.ts - SQLite connection
src/config/db/DbConnect.ts - SQLite database
Other components
- WhatsApp users
- YouTube
- FFmpeg
Connections 35
- WhatsApp users → WhatsApp: send messages
- WhatsApp → Bot entry: deliver events
- Bot entry → Message interceptor: process messages
- Bot entry → Command registry: register commands
- Bot entry → WhatsApp: connect socket
- Message interceptor → Command registry: resolve command
- Message interceptor → Group repository: read group rules
- Message interceptor → User repository: read user state
- Message interceptor → WhatsApp: moderate messages
- Message interceptor → Command handlers: dispatch accepted command
- Command handlers → Group controller: delegate group actions
- Command handlers → Media controller: delegate media actions
- Command handlers → User controller: delegate user actions
- Group controller → Group services: delegate group rules
- Group controller → Automatic moderation: delegate moderation
- Group services → Group repository: read and write group data
- Automatic moderation → Group repository: read and write moderation data
- Automatic moderation → User repository: record user sanctions
- Anti-link rules → Group repository: read and write link rules
- Media controller → Media services: delegate media work
- Media services → YouTube: download media
- Media services → FFmpeg: convert media
- User controller → User services: delegate user actions
- User services → User repository: read and write user data
- Command registry → Command repository: sync command settings
- Group repository → SQLite connection: query database
- User repository → SQLite connection: query database
- Command repository → SQLite connection: query database
- SQLite connection → SQLite database: read and write
- Standard replies → WhatsApp: send formatted replies
- Command handlers → Standard replies: format responses
- Group services → Standard replies: send responses
- Automatic moderation → Standard replies: send responses
- Media services → Standard replies: send media
- User services → Standard replies: send responses