Эхо бот вконтакте python

Эхо бот вконтакте python

Это новый вид статьи, в котором мы не будем говорить про PHP, многим python превосходит php, а для начинающих он покажется проще. Данная статья будет содержать в себе следующие шаги:

Установка не занимает много времени и умений. Переходим на официальный сайт https://www.python.org/downloads/ и скачиваем установщик себе на ПК.

Запускаем установщик, обязательно поставьте галочку возле надписи Add Python 3.7 to PATH, так у вас не возникнет проблем при работе с командной строкой Windows.

После установки запускаем командую строку:

И пишем команду:


Если Вы сделали все правильно, то увидите список команд и опций

На этом установка Python успешно завершена. Переходим к установке IDE PyCharm

Переходим на сайт jetbrains.com/pycharm и скачиваем среду PyCharm Community, она бесплатная.

После чего устаналвиваем и запускаем PyCharm


Забегая вперед, у меня по умолчанию в настройках программы стоял Python 2.7

Нам нужна последняя версия, открываем File -> Settings. -> Project interpreter и из выпадающего меню выбираем последнюю версию, или добавляем ее туда нажав на Show All…

Теперь можно создавать новый проект.

Если в конце видите такой текст, библиотека успешно установлена, можно импортировать ее в проект и писать первый код:

Это код из примера, благодаря нему мы убедимся что сделали все правильно. Вставить его нужно в файл new.py предварительно удалив все оттуда, что мы написали ранее.

Для начала настроим наше сообщество.
Создаем ключ

Копируем ключ и вставляем его в наш скрипт:
Вместо ‘your_group_token‘ указываем ключ сообщества
Вместо ‘your_group_id‘ указываем ID нашего сообщества

Теперь переходим во вкладку Long Poll APIи включаем его

Далее, обязательно включаем тип событий, это частая ошибка при создании ботов, забыв включить события, бот не будет работать! Выбираем все что есть.

Читайте также:  Intel mrd7 driver package

Вернемся к нашему коду. Давайте запустим наш скрипт и проверим как он будем обрабатывать события, запускаем скрипт:

Давайте покинем сообщество и снова вступим в него:

В консоли мы сразу увидели последние события. Немного добавим строк в наш код, и научим отвечать наше сообщество сообщением в ЛС на одно из событий:

Импортируем:
После:
Добавляем:
И отправляем сообщение самому пользователю:

Полный код:
напишем любое сообщение нашему боту и получим ответ:

Как узнать названия других событий? Они будут выводится в консоли, так как в коде используется:


Тут мы получили 2 события:

VkBotEventType.WALL_POST_NEW — Новый пост
VkBotEventType.GROUP_OFFICERS_EDIT — Выдача админ прав в самой группе

Документация и больше примеров можно посмотреть на GitHub . Если Вам интересен этот язык и вы хотите видеть больше статей по Python, пишите в комментарии об этом!

И все же в чем разница между CallBack API и Long Poll API? А разница есть и она большая.
Когда Вы используете CallBack API, ВК сам отправляет Вам происходящее событие на сервер, нам остается только получить его и обработать, у Long Poll API все наоборот, ВК ничего не отправляет, а хранит все события у себя на серверах, Вам нужно самому их получать и обрабатывать, Long Poll API подходит для высоко нагруженных проектов, в идеале советуем использовать оба типа получения событий. На этом наша статья подходит к концу, в следующий раз мы напишем как запустить Long Poll используя PHP, всем хорошего кодинга и настроения

Бот для VK на Python

Пример простого бота для ВКонтакте на Python 3. Обработка событий с использованием Bots Long Poll API, голосовые сообщения генерируются с помощью Яндекс.SpeechKit.

Читайте также:  Fable anniversary системные требования

Сообщество бота: https://vk.com/vkpython. Бот отправляет в ответ на любое сообщение картинку и голосовое сообщение с именем собеседника.

Подготовка к использованию

pip3 install vk requests

Получение ключа доступа VK API

Ключ доступа к VK API можно получить в настройках сообщества, там же нужно включить Long Poll API, как минимум для доступа к сообщениям и управления сообществом.

Сделать это можно перейдя в "Управление сообществом" -> "Работа с API" -> "Ключи доступа", "Long Poll API".

Получение ключа доступа Яндекс.SpeechKit

Переходим в кабинет разработчика, нажимаем "Получить ключ" и выбираем "SpeechKit Cloud".

Похоже, сейчас SpeeckKit стал полностью платным. Если вы нашли способ получения ключа для личного некоммерческого использования, сообщите об этом.

Сейчас боты стали обыденностью и находятся на каждом шагу, но если тебе нужен свой бот в социальной сети вконтакте, то это легко реализовать.

Ну прям совсем для новичков

Как оно работает?

Long Polling — это технология, которая позволяет получать данные о новых событиях с помощью «длинных запросов». Сервер получает запрос, но отправляет ответ на него не сразу, а лишь тогда, когда произойдёт какое-либо событие (например, придёт новое сообщение), либо истечёт заданное время ожидания.

Говоря русским языком, мы отправляем на сервер запрос, а он в свою очередь тыкает вконтакте если там произойдёт что либо, например, нам придёт сообщение он бежит и говорит об этом нам. От этого и будем плясать.

Техническая реализация

Для начала нам нужно доказать вконтакту что мы — это мы, а не кто-либо ещё. Делается это очень просто.

Замечание, ребята из ВК рекомендуют использовать в качестве логина номер телефона т.к. иначе можно нарваться на проверку антиробот, ту самую где тебя просят ввести недостающие цифры из номера телефона.

Читайте также:  После установки виндовс 7 не устанавливаются программы

Если бот будет сидеть в группе то авторизация выглядит по другому.

— Что такое токен?
— Такая штука из циферок и буковок которую нужно получить в настройках группы. Для этого достаточно открыть раздел «Управление сообществом» («Управление страницей», если у Вас публичная страница), выбрать вкладку «Работа с API» и нажать «Создать ключ доступа».

Теперь вызовем longpool.

В сообщениях может быть не только заданный вами текст. Например:

А ещё можно прикреплять картинки.

Можно придумать ещё много всего интересного, но тут подумайте сами, а я лишь скажу что: ссылки можно делить на части. Например:

и никто не запретил нам получать ответ от пользователя на примере Википедии:

Ссылки на примеры и документацию

На этом я с вами попрощаюсь. Хорошего кодинга.

Ссылка на основную публикацию
Adblock detector