Создание Чат-бот-навигатор в социальной сети ВК
Компьютерные программы:
1. Python 3.9
2. PyCharm Community Edition 2020.2.3
Начнем с создания бота, а именно группы в ВК. Для это нужно зайти в «группы» → «создать сообщество». Выберите любой тип сообщества и введите название, тематику группы. На открывшейся странице настроек, выберите «Работа с API» Далее, необходимо создать API-ключ. Затем выберите нужные вам параметры с доступом для вашего API-ключа. Скорее всего, вам придётся подтверждать действие в ВК с помощью мобильного телефона. Затем скопируйте полученный API-ключ где-нибудь в файл. Он нам еще понадобится. Затем нужно разрешить сообщения. Для этого переходим в «сообщения» и включаем их.
После всего этого, открываем программу PyCharm.
Когда вы запускаете PyCharm в первый раз или когда нет открытых проектов, вы видите Экран приветствия. Он предлагает вам основные точки входа в среду IDE: создание или открытие проекта, проверка проекта с помощью контроля версий, просмотр документации и настройка среды IDE.
Когда проект открывается, вы видите главное окно, разделенное на несколько логических областей. Давайте рассмотрим ключевые элементы пользовательского интерфейса:
1. Project Tool Window. Панель инструментов проекта. В этом окне отображаются файлы вашего проекта.
2. PyCharm Editor. Редактор PyCharm. Находится с правой стороны, где вы пишете свой код. В нем есть вкладки для удобной навигации между открытыми файлами.
3. Navigation Bar. Панель навигации. Находится над редактором, позволяет быстро запускать и отлаживать ваше приложение, а также выполнять процедуры контроля версий VCS.
4. Left gutter. Левый столбец, вертикальная полоса рядом с редактором, показывает брекпоинты и обеспечивает удобный способ перехода по иерархии кода. Он также отображает номера строк и историюVCS.
5. Right gutter. Правый столбец, справа от редактора. PyCharm постоянно контролирует качество вашего кода и постоянно показывает результаты проверки в правом столбце: ошибки, предупреждения и т.д. Индикатор в правом верхнем углу показывает общий статус проверки кода для всего файла.
6. PyCharm Tool Windows. Панель инструментов PyCharm. Это специальные окна, прикрепленные к низу и сторонам рабочей области, которые обеспечивают доступ к типичным задачам, таким как управление проектами, поиск и навигация по исходному коду, интеграция с системами контроля версий и т.д.
7. Status Bar. Строка состояния. Указывает состояние вашего проекта и показывает различные предупреждения и информационные сообщения.
Приступим к самому созданию бота и написанию кодов, на примере моего чат-бота.
С самого начала мы должны импортировать нужные модули: в редакторе PyCharm импортируем vk_api с помощью кода «import vk_api». Затем мы пишем «from vk_api.longpoll import VkLongPoll, VkEventType» Long Polling — это технология, которая позволяет получать данные о новых событиях с помощью «длинных запросов». Сервер получает запрос, но отправляет ответ на него не сразу, а лишь тогда, когда произойдёт какое-либо событие (например, придёт новое сообщение), либо истечёт заданное время ожидания.
После этого мы пишем такой код как «from vk_api.utils import get_random_id» random_id – уникальный (в привязке к API_ID и ID отправителя) идентификатор, предназначенный для предотвращения повторной отправки одинакового сообщения. Ниже мы пишем «def write_message(sender, message):authorize.method('messages.send', {'user_id': sender, 'message': message, 'random_id': get_random_id()})» Функция write_msg получает id пользователя ВК <user_id>, которому оно отправит собственно само сообщение.
Затем мы пишем «token = «Сюда вставляем API-ключ созданный ранее, который можно скопировать в настройках сообщество, во вкладке "Работа с API"», далее пишем «authorize = vk_api.VkApi(token=token)» для авторизации как сообщество и настраиваем longpool, пишем основной цикл «for event in longpoll.listen():»
Далее вводим команду «try:», все последующие команды должны быть объединены в данной команде. Также мы должны создать команду для нового сообщения, те, действия бота при получении нового сообщения: «if event. type == VkEventType.MESSAGE_NEW and event.to_me and event.text:». Для того чтобы бот распознавал поступающие ему сообщения и с заглавной и со строчной буквы, необходимо прописать код: «reseived_message = event.text». Также нужно написать код для распознавания id пользователя с помощью команды: «sender = event.user_id». [3].
Теперь приступаем непосредственно к созданию ответов бота на те или иные сообщения подписчиков. Команда, которая содержит в себе конкретный текст входящего сообщения выглядит так: «if reseived_message == «Начать»: вводится на одной строке, а на следующей прописывается команда ответа самого бота на сообщение: write_message(sender, «Добрый день! Меня зовут …. вот что я могу. В моих командах есть (т.д)»)», так можно написать любые другие составляющие команд.
И последний код, пишется для того чтобы бот каждый раз не переподключался к серверу и вовсе не отключаться: «except Exception as E:
Список литературы
1. Как создать чат-бота с нуля на Python: подробная инструкция.
2. Инструкция по началу работы PyCharm.
3. Пишем чат бота для ВКонтакте на python с помощью longpoll.
|