Skip to content

Lightweight modern asynchronous framework for VK bots that can automatically build docs for your bots

License

Notifications You must be signed in to change notification settings

deknowny/vkquick

Repository files navigation

VK Quick шапка

VK Quickэто современный асинхронный фреймворк для создания ботов ВКонтакте, автоматически генерирующий документацию к командам бота в виде сайта


Ключевые особенности:

PyPI - Python Version Downloads

  • Скорость: VK Quick использует конкурентность в одном потоке (asyncio) и является одним из самых быстрых фреймворков для разработки ботов

  • Компактность кода: Разработка требует меньше времени в несколько раз, код становится короче, вероятность возникновения багов уменьшается. VK Quick автоматически создает документацию к написанному боту, позволяя сконцентрироваться разработчику именно на самом коде

  • Легкое обучение: Создавать ботов невероятно просто вместе с VK Quick! Обучение проходит быстро и легко

  • Инструменты для упрощения разработки: Из коробки VK Quick представляет CLI (терминальная утилита) — инструмент, облегающий процесс создания команд, настройки проекта и выстраивания архитектуры

  • Поддержка актуального API: Множество разных возможностей для ботов перенесены в удобный Python-стиль, любые нововведения в социальной сети незамедлительно отображаются в самом фреймворке

  • Отзывчивое коммьюнити: Вы всегда можете обратиться с вопросом, на который обязательно ответят наши специалисты по разработке ботов в официальной беседе нашего сообщества


Установка

python -m pip install vkquick

До релиза 1.0: python -m pip install https://github.com/deknowny/vkquick/archive/master.zip

Вместе с фреймворком устанавливается треминальная утилита — kwik:

kwik --help

Echo-бот

Прежде чем создать своего первого бота, нужно получить специальный токен — ключ, через который можно взаимодействовать с ресурсами ВК. VK Quick позволяет писать ботов как для групп, так и пользователей в одном стиле — достаточно запустить код с нужным токеном.

import vkquick as vq


app = vq.App()


@app.command("пинг", "ping")
async def greeting():
    """
    Самая обычная пинг-понг команда
    """
    return "Понг!"


@app.command("дата", prefixes=["/"])
async def resolve_user(user: vq.User):
    """
    Возвращает дату регистрации указанного пользователя
    """
    registration_date = await vq.get_user_registration_date(user.id)
    formatted_date = registration_date.strftime("%d.%m.%Y")
    return f"Дата регистрации пользователя {user:@[fullname]}: {formatted_date}"


app.run("token")

Остается подставить вместо "token" свой токен. Теперь у нас есть бот сразу с двумя командами!

Пример работы бота

И автоматически созданная документация по командам в папке autodocs

Пример автоматически сгенерированной документации

Хотите больше возможностей? Переходите на наш официальный сайт https://vkquick.rtfd.io и продолжайте углубляться в разработку ботов вместе с VK Quick!