Аргументы автоматически парсятся из аннотаций типов. Валидаторы, конвертеры, кастомные каттеры.
Клавиатуры, карусели, View с callback-кнопками. Полная типизация.
Многошаговые сценарии с хранилищем состояний. Memory, Redis или свой backend.
Группировка команд в классы с lifecycle-хуками, горячая перезагрузка.
Декораторы доступа, rate-limiting, max_concurrency из коробки.
Оба режима работы, мульти-бот, система аддонов.
import vkflow as vf
app = vf.App()
@app.command("ping")
async def ping():
return "Pong!"
app.run("TOKEN")
1. Откройте настройки сообщества
2. Перейдите в Работа с API → Создать ключ
3. Выберите нужные права доступа (как минимум: сообщения сообщества)
4. В настройках Long Poll API включите Long Poll, выберите версию 5.199+
5. Включите нужные типы событий (как минимум: входящие сообщения)
Если токен начинается с $, VKFlow автоматически подставит значение из переменной окружения: app.run("$VK_TOKEN")