Всем привет!
В этой статье напишем чат бота для #Вконтакте который будет отвечать нашим клиентам в #VK заранее заготовленные фразы и отправлять диалог нам в #telegram
Например когда мы спим или очень заняты.
Как всегда код будет писаться на языке #Python
Бота я назвал "Кузя" =)
Для начала нужно что бы у Вас была группа или сообщество в VK и установлен python.
1. Создадим 3 файла в папке vk_bot
kyzya.py
token_vk.py
base.py
2. Создадим папку log куда будет сохраняться весь диалог бота и клиента.
3. Откроем файл base.py - запишем в него переменные на которые будет реагировать Кузя. А в сами переменные передадим список слов, список может быть любой на ваше усмотрение.
4. Откроем файл token_vk.py - запишем в него переменные токенов от Вконтатке и Телеграма. Токен у каждого свой!
Как получи токены я писал в предыдущих статьях на моём канале.
Установим необходимые библиотеки для работы чат бота, в этой папке откроем командную строку и пропишем команды:
pip install <название библиотеки>
Библиотеки: time, vk_api, vk, random2, json, datetime, re, requests
Например что бы установить библиотеку time нужно в командной строке ввести:
pip install time
И другие библиотеки по той же аналогии.
5. После установки всех библиотек откроем файл kyzya.py и начнем писать туда код.
Первым делом импортируем все библиотеки:
Авторизуемся как сообщество:
Ключ берётся из файла token_vk.py
Напишем функции отправки сообщения:
Работать будем через пул Вконтакте, поэтом слушаем пул и приводим время запуска Кузи в нормальный вид + сообщение что Кузя запущен:
Отправляем себе в Телеграм сообщение что Кузя запущен:
chat_id - это id вашей группы или id аккаунта в Телеграм.
Напишем цикл, который будет слушать не пришло ли нам сообщение:
И если пришло сообщение, то получаем текст сообщения, id пользователя и время сообщения, время так же приводим в нормальный вид:
Авторизовываемся под токеном и передаем в переменную usr данные которые хотим получить от собеседника. (Город, пол, страну, ник, подписчиков, время последнего визита, контакты, номер телефона и другие данные)
Получим Имя и Фамилию и запишем в переменные:
Сделаем условия, если город не указан или скрыт, то напишем: где вы живете?
Аналогично с номером телефона.
Выведем сообщение в консоль, что в такое то время ФИО написал такой то текст:
Зададим переменные в которые будет произвольно (рандомно) передаваться слово из списка из фала base.py Например слово приветствия и другие:
Зададим время во сколько ответил Кузя:
И напишем условия проверки слов от пользователя, если то что написал наш собеседник для Кузи найдено в нашей базе, тогда выведем сообщение из заранее подготовленного шаблона:
Если бот не понял вопроса, приводим все слова в общий список и сравниваем.
spisok = base.privet + base.poka + base.blag + base.spasib + base.imya + base.vopros_pro_imya + base.vopros_pro_vozrast + base.otvet_pro_vozrast + base.vopros_pro_kontakti + base.vopros_pro_tovar + base.strt + base.vopros_pro_moi_nomer + base.otvet_na_obrash_k_kyze
И в конце напишем еще отправку диалога в Телеграм:
Что - бы весь диалог приходил нам в "личку" в телеграме, например пока мы спим и проснувшись увидели всю их "болтавню" =)
И все это дело будем записывать в текстовый файл в папку log, где имя файла будет ФИО человека:
Теперь давайте проверять!
Запустим файл kyzya.py - открыв командную строку в папке с этим файлом. Введем:
py kyzya.py
Видим сообщение что Кузя запущен и время в консоле, так - же мне в телеграм пришло тоже самое:
+ В телеграм:
Напишем ему Вконтакте например привет:
В консоли вышло:
И в телеграме тоже самое:
+ все это записалось в текстовый фал в папке log:
Вот таким вот способом можно написать для своего бизнеса чат бота для группы Вконтакте, наполнив его своими фразами и шаблонами, который возьмет часть работы на себя.
Весь Код:
Файл: base.py
Файл: token_vk.py
Файл:kyzya.py (разбил на несколько частей)
Когда я запущу бота, то дам ссылку на его проверку, что бы вы смогли пообщаться с великим Кузей =) Ссылку оставлю либо в статье прямо тут, либо в комментариях.
На этом все. Ну и по традиции спасибо что дочитали, подписывайтесь на мой канал, развивайтесь, познавайте новое и не болейте, Всем пока!
#чат бот для vk #чат-бот #свой айтишник #программирование с нуля #бот кузя #бот для сообщества