How desenvolvimento-de-software/mslovelace_bot works
Ada Lovelace is a Telegram group-management bot. Its principal workflow is to receive Telegram updates (through incoming delivery or polling), turn them into contexts, dispatch actions, commands, and callbacks, and respond through Telegram’s API. Domain capabilities include moderation, warnings, federation, greetings/captcha, and AdaShield anti-spam checks. The README documents MySQL/Prisma and Combot integration; source excerpts are limited, so links for unsampled controllers and feature handlers are shown only where the tree or documentation supports them.
Main entry points: Controller.ts Update dispatch · TelegramBotApi.ts Telegram API client · commands Bot commands · Polling.ts Update polling
Components 20
Bot runtime
- App lifecycle
src/App.ts - Incoming delivery
src/controllers/Incoming.ts - Update polling
src/controllers/Polling.ts - Update dispatch
src/controllers/Controller.ts - Context factory
src/contexts/ContextFactory.ts
Group features
- Update actions
src/actions - Bot commands
src/commands - Callback handlers
src/callbacks - AdaShield checks
src/services/AdaShield.ts
Domain services
- Moderation services
src/services/Ban.ts - Warning service
src/services/Warnings.ts - Federation service
src/services/Federations.ts - User and chat data
src/services/UsersAndChats.ts - Scheduled tasks
src/intervals
External integrations
- Telegram API client
src/libraries/telegram/TelegramBotApi.ts - Combot API client
src/libraries/combot/CasApi.ts
Other components
- Telegram users
- Telegram API
- Combot anti-spam
- MySQL database
Connections 25
- Telegram users → Incoming delivery: send updates
- App lifecycle → Incoming delivery: mounts controller
- App lifecycle → Update polling: mounts controller
- Incoming delivery → Update dispatch: forwards payload
- Update polling → Update dispatch: forwards updates
- Update polling → Telegram API client: requests updates
- Update dispatch → Context factory: creates context
- Update dispatch → Update actions: dispatches actions
- Update dispatch → Bot commands: dispatches commands
- Update dispatch → Callback handlers: dispatches callbacks
- Update actions → AdaShield checks: checks joiners
- Bot commands → Moderation services: invokes moderation
- Bot commands → Warning service: manages warnings
- Bot commands → Federation service: manages federations
- Update actions → User and chat data: saves context data
- Scheduled tasks → Moderation services: kicks unverified users
- Scheduled tasks → Telegram API client: deletes expired messages
- AdaShield checks → Combot API client: checks spam status
- Combot API client → Combot anti-spam: queries status
- AdaShield checks → Telegram API client: bans flagged users
- Moderation services → Telegram API client: manages membership
- Warning service → MySQL database: persists warnings
- Federation service → MySQL database: persists federation data
- User and chat data → MySQL database: reads and writes
- Telegram API client → Telegram API: calls Bot API