232 - PHP Online

Form of PHP Sandbox

Enter Your PHP code here for testing/debugging in the Online PHP Sandbox. As in the usual PHP files, you can also add HTML, but do not forget to add the tag <?php in the places where the PHP script should be executed.



Your result can be seen below.

Result of php executing





Full code of 232.php

  1. <?php
  2. include "vk_api.php"; //Подключаем библиотеку для работы с api vk
  3.  
  4. //**********CONFIG**************
  5. const VK_KEY = "your_key"; //тот самый длинный ключ доступа сообщества
  6. const ACCESS_KEY = "your_key"; //например c40b9566, введите свой
  7. const VERSION = "5.80"; //ваша версия используемого api
  8. //******************************
  9.  
  10. const BTN_FISH =  [["animals" => 'Fish'], "А какие бывают?", "blue"]; //Код кнопки 'Fish'
  11. const BTN_BACK =  [["command" => 'start'], "<< Назад", "red"]; // Код кнопки '<< Назад'
  12. const BTN_SALMON = [["animals" => 'Pink_salmon'], "Горбуша", "white"]; // Код кнопки 'Горбуша'
  13. const BTN_GOLDFISH = [["animals" => 'Goldfish'], "Золотая рыбка", "blue"]; // Код кнопки 'Золотая рыбка'
  14. const BTN_PLOTVA = [["animals" => 'Plotva'], "Плотва", "green"]; // Код кнопки 'Плотва'
  15.  
  16. $vk = new vk_api(VK_KEY, VERSION); // создание экземпляра класса работы с api, принимает ключ и версию api
  17. $data = json_decode(file_get_contents('php://input')); //Получает и декодирует JSON пришедший из ВК
  18.  
  19. if ($data->type == 'confirmation') { //Если vk запрашивает ключ
  20.   exit(ACCESS_KEY); //Завершаем скрипт отправкой ключа
  21. }
  22.  
  23. $vk->sendOK(); //Говорим vk, что мы приняли callback
  24.  
  25. if (isset($data->type) and $data->type == 'message_new') { //Проверяем, если это сообщение от пользователя
  26.   $id = $data->object->from_id; //Получаем id пользователя, который написал сообщение
  27.   $message = $data->object->text;
  28.  
  29.   if (isset($data->object->peer_id))
  30.         $peer_id = $data->object->peer_id; // Получаем peer_id чата, откуда прилитело сообщение
  31.     else
  32.         $peer_id = $id;
  33.   
  34.   if (isset($data->object->payload)){  //получаем payload
  35.                 $payload = json_decode($data->object->payload, True);
  36.      } else {
  37.                   $payload = null;
  38.      }
  39.   
  40.   if (isset($payload['command']) or mb_strtolower($message) == 'начать') { //Если нажата кнопка начать или << назад
  41.     $vk->sendButton($peer_id, 'Хочешь посмотреть на рыбок?', [[BTN_FISH]]); //Отправляем кнопку пользователю
  42.   } else {
  43.     if ($payload != null) { // если payload существует
  44.       switch ($payload['animals']) { //Смотрим что в payload кнопках
  45.         case 'Fish': //Если это Fish
  46.           $vk->sendButton($peer_id, 'Вот такие, выбирай', [ //Отправляем кнопки пользователю
  47.             [BTN_SALMON, BTN_GOLDFISH, BTN_PLOTVA],
  48.             [BTN_BACK]
  49.           ]);
  50.           break;
  51.         case 'Pink_salmon': //Если это Горбуша
  52.           $vk->sendMessage($peer_id, "Держи свою горбушу!"); //отправляем сообщение
  53.           $vk->sendImage($peer_id, "img/pink_salmon.jpg"); //отправляем картинку
  54.           break;
  55.         case 'Goldfish': //Если это Золотая рыбка
  56.           $vk->sendMessage($peer_id, "Она исполнит твои желания...");
  57.           $vk->sendImage($peer_id, "img/goldfish.jpg");
  58.           break;
  59.         case 'Plotva': //Если это Плотва
  60.           $vk->sendMessage($peer_id, "Ой, похоже картинку перепутали)");
  61.           $vk->sendImage($peer_id, "img/plotva.jpg");
  62.           break;
  63.         default:
  64.           break;
  65.       }
  66.     }
  67.   }
  68. }
  69. ?>
File Description
  • 232
  • PHP Code
  • 25 Apr-2022
  • 3.8 Kb
You can Share it: