@artemk1ter

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

Здравствуйте, я пишу бота, и у меня возникла проблема.

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

include "vk_api.php"; 


const VK_KEY = "cens";  // Токен сообщества
const ACCESS_KEY = "cens";  // Тот самый ключ из сообщества 
const VERSION = "5.81"; // Версия API VK


$vk = new vk_api(VK_KEY, VERSION); 
$data = json_decode(file_get_contents('php://input')); 

if ($data->type == 'confirmation') { 
    exit(ACCESS_KEY); 
}
$vk->sendOK(); 
echo 'ok';
// ====== Наши переменные ============
$id = $data->object->from_id; // Узнаем ID пользователя, кто написал нам
$message = $data->object->text; // Само сообщение от пользователя
// ====== *************** ============

//=====Кнопки======
const BTN_1 = [["command" => '/select //1'], "1", "red"];
const BTN_2 = [["command" => '/select //2'], "2", "red"];
const BTN_3 = [["command" => '/select //3'], "3", "red"];
const BTN_4 = [["command" => 'hack'], "Взлом", "red"];
const BTN_5 = [["command" => 'back'], "⬅️Назад", "green"];
const BTN_6 = [["command" => 'лалка'], "Троллить лалку", "blue"];
const BTN_7 = [["command" => '/ver'], "Информация⚙️", "red"];
const BTN_8 = [["command" => 'donate'], "Задонатить ", "blue"];
 
 if (isset($data->object->peer_id))
        $peer_id = $data->object->peer_id; // Получаем peer_id чата, откуда прилитело сообщение
    else
        $peer_id = $id;

 if (isset($data->object->payload)){  //получаем payload
          $payload = json_decode($data->object->payload, True);
     } else {
          $payload = null;
     }
      if ($payload != null) { // если payload существует
      switch ($payload['command']) { //Смотрим что в payload кнопках
        case '/select //1': //Если это Fish
         $vk->sendMessage($id,'https://vk.com/club194653253?z=video-194653253_456239018%2Fvideos-194653253');
        break;
		case '/select //2':
         $vk->sendMessage($id, 'https://vk.com/video-194653253_456239020');
		 break;
		case '/select //3':
		 $vk->sendMessage($id, 'Unk_error');
		break;
		case 'hack':
        $vk->sendImage($id, "img/pnt.jpg"); 
		break;
		case 'back':
		$vk->sendButton($id, 'Возвращено!', [ //Отправляем кнопки пользователю
            [BTN_6, BTN_7, BTN_8] 
			[BTN_4]
		]);
		break;
      }
if ($data->type == 'message_new') {    
	if ($message == '/Начать') {

			$vk->sendButton($id, 'Напиши /help, чтоб узнать что я могу', [ //Отправляем кнопки пользователю
            [BTN_6, BTN_7, BTN_8] 
			[BTN_4]
			]);
    }
    if ($message == '/help') {

            $vk->sendMessage($id, "Мои команды: <br> /лалка - тролл лалки <br> /donate - задонатить админу <br> /vipporn (в разработке)<br> /hack - хакнуть пентагон <br> /ver - check info about bot");
    }
    if ($message == '/test') {

            $vk->sendMessage($id, "1");
    }
    if ($message == '/лалка') {

            $vk->sendButton($id, 'Выбери номер:', [ //Отправляем кнопки пользователю
            [BTN_1, BTN_2, BTN_3] 
			[BTN_5]			
			]); 
			}			
    }
}


Огромное спасибо
  • Вопрос задан
  • 340 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы