vkquick

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

MIT License

Stars
70
Committers
13

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


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

  • Скорость: 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!