Analysis updated 2026-05-18
Build a VK bot that guides users through multi-step conversations using the built-in Finite State Machine.
Handle VK messages with either Long Polling or Webhook mode depending on your hosting setup.
Store bot conversation state in memory, SQLite, or Redis depending on whether it needs to survive restarts.
Monitor a running bot's activity and registered handlers through the built-in real-time dashboard.
| ndugram/fastvk | 0c33/agentic-ai | adennng/stock_strategy_lab | |
|---|---|---|---|
| Stars | 14 | 14 | 14 |
| Language | Python | Python | Python |
| Setup difficulty | easy | hard | hard |
| Complexity | 2/5 | 4/5 | 4/5 |
| Audience | developer | developer | researcher |
Figures from each repo's GitHub metadata at analysis time.
Requires Python 3.10 or newer, installs with a single pip command.
FastVK is a Python framework for building bots on VKontakte, the Russian social network. It is designed for developers who have worked with Python web or bot frameworks before, specifically FastAPI or aiogram, because it borrows the same code patterns from both. If you know how to write a FastAPI route handler or an aiogram command handler, the mechanics of FastVK will feel familiar. The framework runs asynchronously, meaning it can handle many incoming messages at the same time without waiting for each one to finish before starting the next. Under the hood it uses aiohttp for all network calls and Pydantic for modeling the data that VK sends in each event. It supports both Long Polling (the bot regularly asks VK for new messages) and Webhook mode (VK pushes messages to a URL the bot exposes). A built-in Finite State Machine lets bots guide a user through multi-step conversations. For example, a bot can ask a user for their name, wait for the reply, store it, then ask for their age, and so on, tracking which step the conversation is on. This state can be stored in memory (lost on restart), in a SQLite database, or in Redis for setups that need the state to survive a server reboot. Other included features: a keyboard builder for creating button menus that VK displays below the chat input, filters for routing messages to the right handler by command text, user ID, or current state, middleware hooks that run before or after every incoming event, and a router system for splitting a large bot into smaller modules. There is also a real-time dashboard that shows live statistics, a feed of recent activity, and a searchable list of registered handlers, accessible while the bot is running. Logging output is colored and structured to make it easy to read in a terminal. Installation is a single pip command. Python 3.10 or newer is required.
An async Python framework for building VKontakte bots, borrowing code patterns from FastAPI and aiogram with built-in state machines and a live dashboard.
Mainly Python. The stack also includes Python, aiohttp, Pydantic.
Setup difficulty is rated easy, with roughly 30min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.