За последние 24 часа нас посетил 22391 программист и 1015 роботов. Сейчас ищут 680 программистов ...

Не работают команды бота vk api. Как исправить?

Тема в разделе "PHP для профи", создана пользователем Artemk1ter, 25 апр 2020.

Метки:
  1. Artemk1ter

    Artemk1ter Новичок

    С нами с:
    25 апр 2020
    Сообщения:
    1
    Симпатии:
    0
    Здравствуйте, я пишу бота, и у меня возникла проблема.

    Бот не реагирует на команды(а на кнопки реагирует), никак я не смог найти ошибку,
    и решил обратиться к профи. Вот код (некоторые штуки зацензурены):


    PHP:
    1. <?php
    2.  
    3. include "vk_api.php";
    4.  
    5.  
    6. const VK_KEY = "cens";  // Токен сообщества
    7. const ACCESS_KEY = "cens";  // Тот самый ключ из сообщества
    8. const VERSION = "5.81"; // Версия API VK
    9.  
    10.  
    11. $vk = new vk_api(VK_KEY, VERSION);
    12. $data = json_decode(file_get_contents('php://input'));
    13.  
    14. if ($data->type == 'confirmation') {
    15.     exit(ACCESS_KEY);
    16. }
    17. $vk->sendOK();
    18. echo 'ok';
    19. // ====== Наши переменные ============
    20. $id = $data->object->from_id; // Узнаем ID пользователя, кто написал нам
    21. $message = $data->object->text; // Само сообщение от пользователя
    22. // ====== *************** ============
    23.  
    24. //=====Кнопки======
    25. const BTN_1 = [["command" => '/select //1'], "1", "red"];
    26. const BTN_2 = [["command" => '/select //2'], "2", "red"];
    27. const BTN_3 = [["command" => '/select //3'], "3", "red"];
    28. const BTN_4 = [["command" => 'hack'], "Взлом", "red"];
    29. const BTN_5 = [["command" => 'back'], "⬅️Назад", "green"];
    30. const BTN_6 = [["command" => 'лалка'], "Троллить лалку", "blue"];
    31. const BTN_7 = [["command" => '/ver'], "Информация⚙️", "red"];
    32. const BTN_8 = [["command" => 'donate'], "Задонатить ", "blue"];
    33.  
    34. if (isset($data->object->peer_id))
    35.         $peer_id = $data->object->peer_id; // Получаем peer_id чата, откуда прилитело сообщение
    36.     else
    37.         $peer_id = $id;
    38.  
    39. if (isset($data->object->payload)){  //получаем payload
    40.           $payload = json_decode($data->object->payload, True);
    41.      } else {
    42.           $payload = null;
    43.      }
    44.       if ($payload != null) { // если payload существует
    45.       switch ($payload['command']) { //Смотрим что в payload кнопках
    46.         case '/select //1': //Если это Fish
    47.          $vk->sendMessage($id,'https://vk.com/club194653253?z=video-194653253_456239018%2Fvideos-194653253');
    48.         break;
    49.         case '/select //2':
    50.          $vk->sendMessage($id, 'https://vk.com/video-194653253_456239020');
    51.         break;
    52.         case '/select //3':
    53.         $vk->sendMessage($id, 'Unk_error');
    54.         break;
    55.         case 'hack':
    56.         $vk->sendImage($id, "img/pnt.jpg");
    57.         break;
    58.         case 'back':
    59.         $vk->sendButton($id, 'Возвращено!', [ //Отправляем кнопки пользователю
    60.             [BTN_6, BTN_7, BTN_8]
    61.             [BTN_4]
    62.         ]);
    63.         break;
    64.       }
    65. if ($data->type == 'message_new') {  
    66.     if ($message == '/Начать') {
    67.  
    68.             $vk->sendButton($id, 'Напиши /help, чтоб узнать что я могу', [ //Отправляем кнопки пользователю
    69.             [BTN_6, BTN_7, BTN_8]
    70.             [BTN_4]
    71.             ]);
    72.     }
    73.     if ($message == '/help') {
    74.  
    75.             $vk->sendMessage($id, "Мои команды: <br> /лалка - тролл лалки <br> /donate - задонатить админу <br> /vipporn (в разработке)<br> /hack - хакнуть пентагон <br> /ver - check info about bot");
    76.     }
    77.     if ($message == '/test') {
    78.  
    79.             $vk->sendMessage($id, "1");
    80.     }
    81.     if ($message == '/лалка') {
    82.  
    83.             $vk->sendButton($id, 'Выбери номер:', [ //Отправляем кнопки пользователю
    84.             [BTN_1, BTN_2, BTN_3]
    85.             [BTN_5]          
    86.             ]);
    87.             }          
    88.     }
    89. }
    Огромное спасибо
     
  2. Dyec

    Dyec Активный пользователь

    С нами с:
    14 мар 2013
    Сообщения:
    8
    Симпатии:
    0
    что выдаёт по адресу где бот распаложен? может ошибка. пробуй / убрать и замени его на !