How thevery-nvg/auto_posting_bot works
This repository implements a Telegram bot for managing channels and scheduled posts, with webhook and polling entry points. A user interacts through bot updates; handlers manage channel and post records, while scheduling and publication are represented in the source tree. The sampled webhook source establishes dispatcher setup, middleware, and router registration; sampled handlers show database-backed edits. Several major modules are unsampled, so their internal call wiring is not asserted.
Main entry points: run_webhook.py Update dispatcher · manage_posts Post management · crud.py Data operations · db_middleware.py DB middleware
Components 16
Bot runtime
- Webhook app
run_webhook.py - Polling runner
run_polling.py - Update dispatcher
run_webhook.py - DB middleware
src/middlewares/db_middleware.py
Bot features
- Channel management
src/handlers/manage_channels - Post management
src/handlers/manage_posts - Admin handlers
src/handlers/admin.py - Common commands
src/handlers/common.py - Calendar interaction
src/handlers/calendar.py
Persistence
- Data operations
src/core/crud.py - Domain models
src/core/models.py - Database sessions
src/core/database.py
Scheduling
- Post scheduling
src/handlers/manage_posts/shedule.py
Other components
- Telegram user
- Telegram
- Telegram Bot API
Connections 20
- Telegram user → Telegram: sends updates
- Telegram → Webhook app: posts updates
- Webhook app → Update dispatcher: feeds updates
- Polling runner → Update dispatcher: dispatches updates
- Update dispatcher → DB middleware: runs middleware
- Update dispatcher → Channel management: routes updates
- Update dispatcher → Post management: routes updates
- Update dispatcher → Admin handlers: routes updates
- Update dispatcher → Common commands: routes updates
- Update dispatcher → Calendar interaction: routes updates
- DB middleware → Database sessions: opens session
- DB middleware → Post scheduling: shares manager
- Channel management → Data operations: updates records
- Post management → Data operations: updates records
- Data operations → Domain models: operates on
- Data operations → Database sessions: persists data
- Post management → Post scheduling: uses scheduling
- Post scheduling → Telegram Bot API: publishes posts
- Post management → Telegram Bot API: sends bot actions
- Telegram Bot API → Telegram: calls API