GithubHelp home page GithubHelp logo

bot-example-php's Introduction

Бот для VK

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

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

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

Укажите свои данные в config.php. Ключ доступа к API и код подтверждения для Callback API Вы можете получить в настройках сообщества. Подробнее о получении ключа доступа для Яндекс SpeechKit можно прочитать здесь.

Описание файлов

Обработка событий Callback API. В нашем примере обрабатываются два события:

  • confirmation — уведомление для подтверждения адреса сервера;
  • new_message — уведомление о входящем сообщении.

Подробную информацию о типах событий и формате уведомлений Вы найдёте в документации ВК API.

Отправка сообщений с вложениями.

Функции для работы с методами API ВКонтакте

Функции для работы с API Яндекс SpeechKit для генерация голосовых сообщений.

bot-example-php's People

Contributors

apiwoman avatar stamepicmorg avatar tsivarev avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

bot-example-php's Issues

Бот не отвечает

Здравствуйте, бот не отвечает и у яндекса нет ключей speech Api. Они прекратили поддержку? В чем может быть проблема?

Invalid response for photos.saveMessagesPhoto request

19:12:55 [_vkApi_call] : [ERROR] {"error":{"error_code":100,"error_msg":"One of the parameters specified was missing or invalid: file is undefined","request_params":[{"key":"title","value":"Voice message"},{"key":"v","value":"5.67"},{"key":"method","value":"docs.save"},{"key":"oauth","value":"1"}]}}
19:12:55 [callback_handleEvent] : [ERROR] exception 'Exception' with message 'Invalid response for docs.save request' in /home/admin/web/public_html/weatherapp/www/api/vk_api.php:69
Stack trace:
#0 /home/admin/web/public_html/weatherapp/www/api/vk_api.php(45): _vkApi_call('docs.save', Array)
#1 /home/admin/web/public_html/weatherapp/www/bot/bot.php(41): vkApi_docsSave(NULL, 'Voice message')
#2 /home/admin/web/public_html/weatherapp/www/bot/bot.php(11): _bot_uploadVoiceMessage(189957065, '/home/admin/web...')
#3 /home/admin/web/public_html/weatherapp/www/index.php(56): bot_sendMessage(189957065)
#4 /home/admin/web/public_html/weatherapp/www/index.php(32): _callback_handleMessageNew(Array)
#5 /home/admin/web/public_html/weatherapp/www/index.php(18): callback_handleEvent()
#6 {main}

При исправлении ошибки в CURLfile (недостаточно аргументов)
curl_setopt($curl, CURLOPT_POSTFIELDS, array('file' => new CURLfile($file_name)));
=>
curl_setopt($curl, CURLOPT_POSTFIELDS, array('file' => new CURLfile($file_name, mime_content_type($file_name), 'file')));
Ошибка в логах меняется на

19:15:42 [callback_handleEvent] : [ERROR] exception 'Exception' with message 'Invalid response for photos.saveMessagesPhoto request' in /home/admin/web/public_html/weatherapp/www/api/vk_api.php:69
Stack trace:
#0 /home/admin/web/public_html/weatherapp/www/api/vk_api.php(31): _vkApi_call('photos.saveMess...', Array)
#1 /home/admin/web/public_html/weatherapp/www/bot/bot.php(29): vkApi_photosSaveMessagesPhoto('[]', 849124, '8bc76748718508b...')
#2 /home/admin/web/public_html/weatherapp/www/bot/bot.php(8): _bot_uploadPhoto(189957065, '/home/admin/web...')
#3 /home/admin/web/public_html/weatherapp/www/index.php(56): bot_sendMessage(189957065)
#4 /home/admin/web/public_html/weatherapp/www/index.php(32): _callback_handleMessageNew(Array)
#5 /home/admin/web/public_html/weatherapp/www/index.php(18): callback_handleEvent()
#6 {main}

Что не так?

Неотвечает

Почему то все прошло гладко а бот то неотвечает
Может изза того что нету secretkey как у вас в другом примере handler.php?

нашел логи и судя по ним проблема в токене:

15:10:02 [_vkApi_call] : [ERROR] {"error":{"error_code":15,"error_msg":"Access denied: no access to call this method","request_params":[{"key":"oauth","value":"1"},{"key":"method","value":"photos.getMessagesUploadServer"},{"key":"peer_id","value":"396487030"},{"key":"v","value":"5.67"}]}}
15:10:02 [callback_handleEvent] : [ERROR] exception 'Exception' with message 'Invalid response for photos.getMessagesUploadServer request' in /api/vk_api.php:69
Stack trace:
#0 /api/vk_api.php(23): _vkApi_call('photos.getMessa...', Array)
#1 /bot/bot.php(22): vkApi_photosGetMessagesUploadServer(396487030)
#2 /bot/bot.php(8): _bot_uploadPhoto(396487030, '/var/www/bot...')
#3 /index.php(56): bot_sendMessage(396487030)
#4 /index.php(32): _callback_handleMessageNew(Array)
#5 /index.php(18): callback_handleEvent()
#6 {main}

Пара вопросов по коду

  1. Что может выбросить исключение, которое мы пытаемся отловить в блоке try...catch (index.php)?
  2. Зачем нужен _callback_okResponse(); после блока try...catch (index.php)?

Хотелось бы для себя прояснить эти вопросы для себя. Спасибо!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.