Python-библиотека для создания ботов ВКонтакте
Project description
🤖 Bontakte
Bontakte — это современная Python-библиотека для создания ботов ВКонтакте. Она предлагает интуитивный API, полную поддержку функционала платформы и высокую производительность. Решение идеально для автоматизации коммуникаций и создания сервисных приложений, обеспечивая надежность и простоту интеграции.
✨ Особенности
- 🚀 Простота использования — интуитивный API с декораторами
- ⚡ Высокая производительность — асинхронная обработка событий
- 🔧 Гибкость — поддержка фильтров и кастомных обработчиков
- 📦 Полная поддержка VK API — все основные методы платформы
- 🎯 Типизированные данные — удобные классы для работы с сообщениями и пользователями
- 🔄 Long Poll — автоматическая обработка обновлений
📦 Установка
pip install bontakte
Или из исходников:
git clone https://github.com/triazov/bontakte.git
cd bontakte
pip install -e .
🚀 Быстрый старт
from bontakte import Bot
bot = Bot(access_token="YOUR_ACCESS_TOKEN", group_id=YOUR_GROUP_ID)
@bot.message_handler()
async def handle_message(event):
await bot.send_message(
event.message.chat_id,
f"Привет, {event.user.full_name}! Вы написали: {event.message.text}"
)
bot.run()
📚 Примеры использования
Обработка сообщений с фильтрами
from bontakte import Bot
bot = Bot(access_token="YOUR_ACCESS_TOKEN", group_id=YOUR_GROUP_ID)
def is_command(event):
return event.message.text.startswith("/")
@bot.message_handler(filters=is_command)
async def handle_command(event):
command = event.message.text.split()[0]
if command == "/start":
await bot.send_message(event.message.chat_id, "Бот запущен!")
elif command == "/help":
await bot.send_message(event.message.chat_id, "Доступные команды: /start, /help")
bot.run()
Обработка различных событий
from bontakte import Bot
bot = Bot(access_token="YOUR_ACCESS_TOKEN", group_id=YOUR_GROUP_ID)
@bot.event_handler("message_new")
async def on_message(event):
print(f"Новое сообщение: {event.data}")
@bot.event_handler("message_edit")
async def on_message_edit(event):
print(f"Сообщение отредактировано: {event.data}")
@bot.event_handler("message_reply")
async def on_message_reply(event):
print(f"Ответ на сообщение: {event.data}")
bot.run()
Работа с вложениями
from bontakte import Bot
bot = Bot(access_token="YOUR_ACCESS_TOKEN", group_id=YOUR_GROUP_ID)
@bot.message_handler()
async def handle_message(event):
if event.message.attachments:
for attachment in event.message.attachments:
if attachment.type == "photo":
await bot.send_message(
event.message.chat_id,
f"Получено фото: {attachment.url}"
)
bot.run()
Асинхронная отправка сообщений
import asyncio
from bontakte import Bot
bot = Bot(access_token="YOUR_ACCESS_TOKEN", group_id=YOUR_GROUP_ID)
async def send_notifications():
peer_ids = [123456789, 987654321]
for peer_id in peer_ids:
await bot.send_message(peer_id, "Уведомление от бота!")
await asyncio.sleep(1)
@bot.message_handler()
async def handle_message(event):
if event.message.text == "/notify":
await send_notifications()
bot.run()
📖 Документация
Основные классы
Bot
Основной класс для работы с ботом.
Параметры инициализации:
access_token(str) — токен доступа VK APIgroup_id(int, optional) — ID группы для Long Pollapi_version(str, default: "5.131") — версия VK API
Методы:
| Метод | Описание |
|---|---|
message_handler(filters=None) |
Декоратор для обработки сообщений |
event_handler(event_type) |
Декоратор для обработки событий |
send_message(peer_id, text, **kwargs) |
Отправка сообщения |
get_user(user_id) |
Получение информации о пользователе |
run() |
Запуск бота (блокирующий метод) |
start_polling() |
Запуск бота (асинхронный метод) |
stop() |
Остановка бота |
Типы данных
Message— объект сообщения с полями:id,text,user_id,chat_id,date,attachments,reply_to,forward_messagesUser— объект пользователя с полями:id,first_name,last_name,username,photo,is_bot,full_nameChat— объект чата с полями:id,type,title,members_countAttachment— объект вложения с полями:type,url,title,description,dataEvent— базовый класс событияMessageEvent— событие сообщения, наследуется отEvent
🔧 Требования
- Python 3.8+
- requests >= 2.28.0
📝 Лицензия
Этот проект распространяется под лицензией MIT. Подробности в файле LICENSE.
👤 Автор
Triazov Kirill
- 🌐 Сайт: triazov.ru
- 📧 Email: info@triazov.ru
🤝 Вклад в проект
Мы приветствуем вклад в развитие библиотеки! Пожалуйста, ознакомьтесь с CONTRIBUTING.md для получения подробной информации.
📄 История изменений
Все изменения проекта документированы в CHANGELOG.md.
Сделано с ❤️ для разработчиков ВКонтакте
⭐ Поставить звезду • 🐛 Сообщить об ошибке • 💡 Предложить идею
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file bontakte-0.1.0.tar.gz.
File metadata
- Download URL: bontakte-0.1.0.tar.gz
- Upload date:
- Size: 10.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2e03564f87c35dfb3ebb4512aa82b1c9e36e93e7b0db0a119decf0c02d146700
|
|
| MD5 |
8f917206985fec5bf5f3329e2308b210
|
|
| BLAKE2b-256 |
099bebca003e839dd6ff171985af5dc921b5cc2cc9e7f899a6725d45932b3c3b
|
File details
Details for the file bontakte-0.1.0-py3-none-any.whl.
File metadata
- Download URL: bontakte-0.1.0-py3-none-any.whl
- Upload date:
- Size: 9.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e73192bf920aa9be6aad293e72914faaf934a090a646ee457807e5d58f1d7944
|
|
| MD5 |
4d3a7dbc79be38b6fc651546e45e8719
|
|
| BLAKE2b-256 |
526a2dcdd121cc64b32941b91e13efe79cd2f26e09c4d23074bd2dd6032e91f7
|