Vk url bot отзывы

Возможно я плохо искал, но я не смог найти подробного руководства по созданию бота на python с применением фреймворка Django и подхода webhook, работающего на хостинге от российской компании. В большинстве материалов говориться о применении фреймворка Flask и использования бесплатных хостингов Heroku и PythonAnywhere. Опыт сообщества Хабр меня выручает, поэтому я решил в знак благодарности потратить время на написание данной статьи. Опишу полученный практический опыт, чтобы дать возможность всем кто в этом заинтересован сэкономить время и лучше понять как сделать бота на Python с применением фреймворка Django на своём хостинге, используя подход webhook.

Зачем платный хостинг?

На мой взгляд жизнеспособный вариант бота — это когда он не зависит от вашего локального компьютера и доступен 24/7. Для этого нужен хостинг, на котором есть: веб-сервер, система управления базами данных (для развития возможностей бота), регистрация доменного имени, получение для него SSL-сертификата и техническая поддержка всего этого хозяйства. Такие услуги стоят денег. Я плачу хостингу 138 рублей в месяц за поддержание инфраструктуры для работоспособности бота: поддержка Python + Django, СУБД MySQL 25 Гб, поддержка SSH.

ПРОВЕРКА НА ЧЕСТНОСТЬ — УДВОЕНИЕ ДЕНЕГ В ТЕЛЕГРАМ / НЕ ОЖИДАЛ


В большинстве уроков я видел что используется персональный компьютер в качестве сервера или бесплатный хостинг с ограничениями по времени работы и т. п. В примерах бот с периодичностью опрашивает сервер мессенджера на предмет появления новых сообщений от пользователей. Это лишняя нагрузка на серверы мессенджера, поэтому бот могут «забанить» на какое-то время. Всё это по моему мнению не жизненно для продуктивного использования. Но для теста и обучения вполне возможно.

Что такое webhook и зачем он?

Для продуктива правильным решением считаю использование webhook’а, т. е. подхода, при котором наш бот ожидает сообщений от сервера мессенжера, а не «долбит» его периодическим запросами: есть новые сообщения или нет. С webhook’ом будет так: написал пользователь сообщение, сервер мессенджера отправил его вашему боту, он сообщение принял, обработал и ответил.

Почему Django?

Я решил делать бота на python, поэтому подключил на хостинге поддержку python. Но выбора фреймворка у меня не было — хостинг располагает только Django. Говорят на нём работает Instagram, Pinterest, Bitbucket и Mozilla. Возможно именно поэтому хостинг предлагает именно его.

Почему ВКонтакте, а не Telegram или Viber?

Чтобы двигаться от простого к сложному для меня было важно найти самый простой и понятный способ настроить webhook. ВКонтакте оказался для меня наиболее понятным ввиду чёткой справке и простоты подключения webhook’a в панели управления сообществом в разделе «Управление — Работа с API». Описание того как я всё настраивал и подключал будет дальше.

В перспективе хочу сделать доступным своего бота в Viber. А с Telegram пока не по пути, т. к. мой хостинг в России, а из России Telegram заблокирован. Чтобы не было проблем с Telegram можно купить хостинг заграницей.

ПРОВЕРКА НА ЧЕСТНОСТЬ — БОТ ВКОНТАКТЕ ДЛЯ ЗАРАБОТКА / ВЫВЕЛ ДЕНЬГИ

Как установить webhook для бота ВКонтакте?

Доменное имя https://. Для начала нужно зарегистрировать доменное имя сайта и получить для него ssl-сертификат.

Я не хотел использовать для чат-бота корневой домен, поэтому после регистрации домена, я сделал поддомен и получил для него ssl-сертификат.

Все эти манипуляции я сделал на сайте хостинга в своём личном кабинете.
В итоге я получил адрес сайта mybot.mysite.ru и ssl-сертификат к нему.

Еще по теме:  Вот это спорт Вконтакте

Получаем для бота ключ доступа (токен) ВКонтакте. Сперва создал закрытую группу, далее зашёл в «управление» группой, в раздел «Работа с API». Во вкладке «Ключи доступа» находится токен, а во вкладке «Callback API» настройки webhook’a.

Установка и настройка Django. Возможно для запуска вашего скрипта на python Django не нужен, но я не знаю как можно по другому.

Используя PuTTY я подключился к серверу по SSH, настроил и активировал виртуальное окружение.

virtualenv-2.7 virtualenv/myEnv . virtualenv/myEnv/bin/activate

команда в первой строке создаёт виртуальное окружение, а команда во второй — его активирует (обратите внимание на пробел после точки). Версия 2.7 продиктована хостингом и может отличаться в вашем случае. Поэтому читайте справку хостинга.

Далее установил Django
SSH:

pip install ‘django

установил Джанго версии не ранее второй, т. к. на хостинге используется python 2.7, а с ним работает только Django версии меньше 2.

И установил python-модуль для работы с API ВКонтакте
SSH:

pip install vk

FTP:
Создал папку для django-проектов в корневой директории на хостинге. Назвал её django.

SSH:
Создал новый проект.

cd django/ django-admin.py startproject mybot

в результате создастся папка с именем проекта (в нашем случае — это «mybot») в папке /django. В ней будут файлы начального проекта, созданные автоматически:
/django
/mybot – папка проекта
/mybot – модуль с настройками нашего проекта
__init__.py
settings.py
urls.py
wsgi.py
manage.py

Проект в Django – это группа приложений. Приложение в Django – это программа, которая выполняет действия, заложенные разработчиком.

SSH:
Создал приложение.

cd mybot python manage.py startapp vk_bot

Я перешёл в папку /django/mybot и создал новое приложение с именем «vk_bot».
В папке проекта создалась папка с именем приложения, содержащая файлы приложения, созданные автоматически:

/django
/mybot – папка проекта
/mybot – модуль с настройками нашего проекта
__init__.py
settings.py
urls.py
wsgi.py
manage.py
/vk_bot – папка приложения
__init__.py
admin.py
apps.py
models.py
tests.py
views.py

FTP:
Я загрузил все файлы проекта на свой ноутбук для работы с кодом.
Для работы с файлами проекта и программирования я использовал приложение Atom.

Atom:
Отредактировал настройки проекта в файле /django/mybot/mybot/settings.py

. DEBUG = False . ALLOWED_HOSTS = [ u’mybot.mysite.ru’, ] .

Atom:
Отредактировал настройки url-маршрутизации адресов в файле /django/mybot/mybot/urls.py
. urlpatterns = [ url(r’^vk_bot/’, include(‘vk_bot.urls’)), ] .

FTP:
Создал файл /django/mybot/vk_bot/urls.py такого содержания:
from django.conf.urls import url from . import views app_name = ‘vk_bot’ urlpatterns = [ url(r’^$’, views.index, name=’index’), ]

Atom:
Отредактировал файл /django/mybot/vk_bot/views.py – добавил в него функцию под названием index, которая будет выполняться при запросе в браузере адреса

https://mybot.mysite.ru/vk_bot/

Вот это кусок кода отвечает за то, чтобы обрабатывать запросы с сервера, которые он будет посылать для того, чтобы подключить наш webhook для обработки событий. Скажем так, «подтверждение» нашего webhook’a.

if (data[‘type’] == ‘confirmation’):# if VK server request confirmation «»» For confirmation my server (webhook) it must return confirmation token, whitch issuing in administration web-panel your public group in vk.com. Using in HttpResponse function allows you response only plain text, without any format symbols. Parametr response to VK server as VK want. «»» # confirmation_token from bot_config.py return HttpResponse(confirmation_token, content_type=»text/plain», status=200)

Обратите внимание, что все конфигурационные настройки я держу в отдельном файле конфигурации бота bot_config.py и поэтому подключаю его в начале скрипта:

from bot_config import * # import token, confirmation_token and over constants from bot_config.py

bot_config.py
# -*- coding: utf-8 -*- «»» Configuration file for VK bot «»» # token issued on the VK group web-administration page token = ‘. ‘ # confirmation token issued on the VK group web-administration page in «Callback API» section confirmation_token = ‘. ‘ # secret key for cross site request forgery protection. It will be in each VK server request secret_key = ‘. ‘

А в этот кусок кода обрабатывает сообщения пользователей:
if (data[‘type’] == ‘message_new’):# if VK server send a message session = vk.Session() api = vk.API(session, v=5.5) user_id = data[‘object’][‘user_id’] # token from bot_config.py api.messages.send(access_token = token, user_id = str(user_id), message = «Hello, I’m bot!») return HttpResponse(‘ok’, content_type=»text/plain», status=200)

Еще по теме:  Как удалить подарок в ВК который ты подарил другу

Если что-то показалось непонятным, можно дополнительно прочитать статью о первой настройке Django.

Магия для веб-сервера. Для настройки адресации запросов к веб-серверу зашёл на сервер в папку с доменами через FTP-клиент FileZilla и создал там папку «mybot.mysite.ru», в неё положил три файла, содержимое которых взято из справки на хостинге:

AddHandler wsgi-script .wsgi RewriteEngine on RewriteCond % !-f RewriteRule ^(.*)$ /django.wsgi/$1 [QSA,PT,L] RewriteCond % !=https RewriteRule .* https://%% [R=301,L]

django.wsgi
import os, sys virtual_env = os.path.expanduser(‘~/virtualenv/myEnv’) activate_this = os.path.join(virtual_env, ‘bin/activate_this.py’) execfile(activate_this, dict(__file__=activate_this)) sys.path.insert(0, os.path.join(os.path.expanduser(‘~’), ‘django/mybot’)) os.environ[‘DJANGO_SETTINGS_MODULE’] = ‘mybot.settings’ from django.core.wsgi import get_wsgi_application application = get_wsgi_application()

Здесь «myEnv» — название созданного вами виртуального окружения, «django» — папка в корневом разделе файловой системы на хостинге, «mybot» — название проекта, который мы создали с помощью Django.

Сайт в разработке

«Привязываем» наш webhook к обработке сообщений в созданной группе Вконтакте.
Для этого вернёмся в раздел управления нашей группой на сайте ВКонтакте (см. скриншот выше). Введём в поле «Адрес» наш адрес webhook’a

https://mybot.mysite.ru/vk_bot/

и нажмём кнопку «Подтвердить». Если наша функция index(request), написанная в файле /django/mybot/vk_bot/views.py работает корректно, т. е. в ней нет опечаток и ошибок, то появится зелёная галочка, символизирующая что всё хорошо.

Чтобы наш webhook получал от сервера ВКонтакте сообщения о новых сообщениях пользователей, в разделе управления нашей группой на сайте ВКонтакте, во вкладке «Типы событий» поставим галочку напротив «входящие сообщения».

В итоге наш скрипт будет получать вот такие сообщения в json формате:

,»group_id»:1. 4,»secret»:»uxSBw»>

Обратите внимание на то, что в json сообщении есть поле «secret». Это тот самый секретный ключ, который я прописал в разделе управления группой на сайте ВКонтакте, взамен встроенной в Django CSRF защиты, которую мне пришлось отключить.

Как сделать бота умнее и лучше?

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

Успехов в вашем творческом труде!

Источник: habr.com

Отзывы о программе VkBot

Очень дорого за такую недоработанную программу. 1. неудобный интерфейс 2. не все фукции работают как надо: нужно писать в поддержку, после обращения исправляют (но зачем мне тратить на это время) 3. почему-то очень быстро расходуется капча (в 4 раза быстрее, чем в моей прошлой программе)
15 | 33 | Ответить

егор про VkBot 3.7.8 [02-01-2018]

у меня написано пожалуйста подождите и все
9 | 26 | Ответить

jgfh про VkBot 3.7.8 [20-12-2017]

Откуда мне знать, что эта программа не ворует логины с паролями? Она как вообще работает и на чем исполняется?
15 | 83 | Ответить

Дмитрий про VkBot 3.7.8 [05-09-2017]

Проверить не смог! Тупо не запускается. «Пожалуйста ждите. » и на этом все..
8 | 21 | Ответить

Оля про VkBot 3.7.8 [03-01-2017]

работает только новая версия программы, пишите в личку vk.com/ marik_original скину файлом
3 | 12 | Ответить

макс про VkBot 3.7.8 [29-09-2016]

чё за фигня чё с программой она вопще никакая раньше нормальная была а щас чё за фигня
7 | 31 | Ответить

Рационализатор про VkBot 3.7.8 [14-07-2016]

VkBot больше не работает вообще. И альтернативы ему со всеми его функционалом пока нет. ((
8 | 9 | Ответить

BAXXXIMIRON про VkBot 3.7.8 [28-06-2016]

Почему он не чистит стену?!
4 | 4 | Ответить

Руслан про VkBot 3.7.8 [28-06-2016]

Пишет,что не правильный логин или пароль, хотя введено все верно.
68 | 46 | Ответить

Еще по теме:  Как скрыть фотографии в ВК от всех

kamila в ответ Руслан про VkBot 3.7.8 [28-07-2016]

у меня тоже самое, введено все правильно, но не работает, отстой
6 | 8 | Ответить

Оскар в ответ Руслан про VkBot 3.7.8 [03-09-2016]

Таня в ответ Руслан про VkBot 3.7.8 [06-01-2017]

Пароль должен быть на англ
2 | 4 | Ответить

Игорь про VkBot 3.7.8 [26-05-2016]

не работает функция добавления в группу. (
8 | 5 | Ответить

Полина про VkBot 3.7.8 [23-05-2016]

Почему не работает рассылка? почему не удаляются диалоги? что стало с программой
6 | 7 | Ответить

Алина про VkBot 3.7.8 [02-04-2016]

CyberGhost112 про VkBot 3.7.8 [26-03-2016]

печаль беда. и куда смотрит администрация? в топку.
6 | 15 | Ответить

Серёга про VkBot 3.7.8 [18-03-2016]

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

елена в ответ Серёга про VkBot 3.7.8 [21-07-2018]

Напишите что за это бот
2 | 3 | Ответить

MRX про VkBot 3.7.8 [10-03-2016]

Ребят, как поставить другое время и дату на фотографиях ВК. Очень нужно, выручайте)
3 | 6 | Ответить

николай про VkBot 3.7.8 [07-03-2016]

Андрей в ответ николай про VkBot 3.7.8 [15-03-2016]

купить ключ на антигейт или другом сервисе антикапчи
5 | 5 | Ответить

Juliya про VkBot 3.7.8 [07-03-2016]

Не качайте эту программу.
Скачала, чтобы прочитать все сообщения за один раз.
Прочитала, а через пару часов мой аккаунт в вк взломали, так ещё качественно
вк пишет что ни пароль не подходит, ни номер телефона ни почта не привязаны к странице.
17 | 62 | Ответить

Евгения про VkBot 3.7.8 [10-01-2016]

Все отлично работает! Программа супер! Пользуюсь более 3 лет ею уже)
2 | 2 | Ответить

Дима про VkBot 3.7.8 [09-01-2016]

Как удалить все комментарии, которые я писал когда либо?
31 | 76 | Ответить

Источник: www.softportal.com

VK Bot

VK Bot — программа для продвижения Вконтакте. Функции разделены по блокам для удобства работы и увеличения продуктивности. Вк Бот — система привлечения трафика в анкету. Благодаря тонким настройкам искать целевой сегмент аудитории намного проще.

От 690 руб.
Способ оплаты:
Ежемесячно
Тестовый период:
Бесплатная версия:

Функционал

Рассылка — рассылайте сообщения внутри системы всеми доступными способами.

Инвайтинг — приглашение новых друзей и подписчиков по критериям.

Масслайкинг — проявляйте массово социальную активность на страницах потенциальных клиентов.

Парсинг — собирайте информацию для рекламы в системе.

Диалоги и Автоответчик — переписывайте сами или настройте бота.

Автоматизация — обслуживайте сообщество при помощи настраиваемого автоматического режима.

Аналогичные сервисы 9

Крючкова Ольга
Предприниматель
Цена-качество
Функционал

VK Bot очень помогает мне в продвижении группы Вконтакте. Кстати, сервис позволяет еще работать с Одноклассниками, но я ими не пользуюсь. Боту я поручаю всю грязную работу и наслаждаюсь только приростом фолловеров)) Под грязной работой я понимаю приглашалки в группу, лайки, репосты и т.д. С каждым обновлением добавляются новые функции, что не может не радовать. Спасибо разработчикам)

Перваков Кирилл
Цена-качество
Функционал

По мне, так прога недоработана. Часто возникают ошибки при входе, надпись «Подключение не защищено». Функционал, конечно, достаточно широкий: массовая рассылка сообщений, автоматические ответы, удаление собачек, автоматические отметки на фото и много другого. При хорошей реализации, проект оценил бы на максимум.

Кархов Виктор
Цена-качество
Функционал

Позиционирую себя как обычного пользователя, поэтому программы стараюсь выбирать максимально простые и удобные в использовании. ВК Бот – это то, что совпадает с моими предпочтениями. Я не стараюсь использовать его в профессиональных целях, скорее, как помощника в ведении своего аккаунта Вконтакте. С ним можно быстро отметить друзей на фотографиях, поставить лайки, исключить удаленных пользователей. Все автоматизировано и работает быстро.

Источник: niksolovov.ru

Рейтинг
( Пока оценок нет )
Загрузка ...