Не знаю почему никому ещё не пришла эта идея на фоне проблем с телегой, отсутствием возможности в модуле вайбера отправить картинку и т.п. Решил набросать бота для всем известного ВК.
Единственная оговорочка - сервер должен быть доступен извне (по ссылке или по ip адресу). Только таким образом он сможет моментально реагировать на сообщения.
Модуль пока настраивается немного через пень-колоду...но если на него будет спрос - естественно всё доработаем.
Настройка не сильно сложная, просто много букав, потому что максимально подробно пытался расписать.
Итак сперва нужно настроить ВК.
Настройка ВК
Бот будет общаться с нами от имени сообщества. По-этому создаём это самое сообщество (группу в простонародии). Создаём по максимуму закрытым и приватным.
Обязательно разрешаем ему сообщения Естественно подписываемся на него.
Далее необходимо получить апи-ключ. Расписывать не буду, всё уже расписано за меня https://vk.com/dev/access_token (раздел Ключ доступа сообщества, самое простое - через настройки сообщества). Лично я выбрал все доступные опции при получении ключа, но можно ограничиться возможностями сообщений и прикрепления файлов. Далее залазим в настройки сообщества - Работа с API. Нас интересуют Ключи доступа (его мы получили ранее) и Callback API, а именно ответ который должен отправить сервер. Так же стоит поставить галочку в типах событий хотя бы на входящее сообщения.
Настройка МД
Теперь немного настройки через "пень-колоду" про которую я говорил.
Идём в корневую директорию МД и в файле config.php в конец дописываем несколько переменных
Код: Выделить всё
define('CALLBACK_API_CONFIRMATION_TOKEN', 'ответ сервера'); //Строка для подтверждения адреса сервера из настроек Callback API
define('VK_API_ACCESS_TOKEN', 'ключ доступа'); //Ключ доступа сообщества
define('BOT_LOGS_DIRECTORY', '/var/www/html/cms/debmes');
На этом настройка МД закончена, вернемся в ВК.
Продолжение настройки ВК
Возвращаемся на нашу вкладку Callback API и вписываем туда http://адрес_или_URL_МД/modules/vk_bot/callback_api.php. После нажатия подтвердить - если всё правильно - должна появиться зелёная галочка. Всё. Да, так просто.
Дополнительно
Один момент который позволяет это сделать так просто - файл config.php лежащий в директории с модулем. Он пустой, соответственно снимает все пароли на мд (конкретно для этой папки!!) при попытке доступа к другим папкам пароль будет так же запрашиваться. С одной стороны да, плохо, почти открытая дыра в системе. С другой стороны там нет ничего чем бы можно было воспользоваться для заливки вредоносных скриптов или для доступа к другим частям системы. Но если таки боитесь - удалите этот файл, или поставьте в него пароль, так же, как в основном файле.
Использование
После этих настроек вы можете пользоваться модулем.
В панели управления рабочая только 1 опция - MSG LEVEL. Остальное всё пока ненужное и нерабочее.
Ботом можно пользоваться несколькими способами:
- В режиме онлайн чата (выставить MSG LEVEL в минимальное значение в системе (чаще всего 0)). Тогда все ответы системы будут приходить в чат с ботом. А отправленные боту сообщения - непосредственно в систему.
- В режиме оповещалки (выставить MSG LEVEL в уровень важных сообщений). Боту будут приходить только сообщения выше или равной выставленной важности. Таким образом получите пуш-оповещения в режиме реального времени о важных событиях. Все отправленные боту сообщения так же будут приходить в систему.
- В режиме отдельных сообщений. В системе станет доступна опция
Код: Выделить всё
bot_sendMessage(gg('vk_answer_id'), 'Привет');
Код: Выделить всё
bot_sendMessage(gg('vk_answer_id'), 'Ну привет. Как оно?', '/var/www/html/cms/scenes/backgrounds/600x400.jpg');
Если модуль будет интересен народу - он будет развиваться, ибо есть куда.
Варианты развития
Перво-наперво конечно сделать адекватные настройки через систему, а не через config.php.
Далее - авто определение от какого пользователя пришло сообщение, так же ответы определённым пользователям.
А ещё с недавнего времени в ВК появилась интерактивная клавиатура Правда я пока не придумал как её применить. Скорее всего записи придётся создавать вручную.
Собственно сам модуль на гитхабе https://github.com/nick7zmail/MD_vk_bot.
И проект в коннекте https://connect.smartliving.ru/tasks/257.html.
Пробуйте, отписывайтесь.