@aleksey_what

Ошибка кнопок бота вк на PHP?

Сделал бота по гайду, взял библиотеку и тд и тп, подсаживаю на хостинг и... кнопки не работают. Простые сообщения работают, если отправить боту (https://vk.com/club200146298)- "дата" отправляет дату (то есть все работает нормально, без ошибок, вк принимает код). При отправке "Начать" он должен отправить кнопки, но не отправляет. Что я сделал не так, и чего я не понимаю?

Ссылка ко всему боту - https://cloud.mail.ru/public/293y/5nTxRewRo

<?php 
 
require_once('simplevk-master/autoload.php'); // Подключение библиотеки 
 
 
use DigitalStar\vk_api\VK_api as vk_api; // Основной класс 
use DigitalStar\vk_api\VkApiException; // Обработка ошибок 
 
 
 
const VK_KEY = "TOKEN"; // Токен сообщества 
const CONFIRM_STR = "CONF_TOKEN"; // Тот самый ключ из сообщества 
const VERSION = "5.103"; // Версия API VK 
 
$vk = vk_api::create(VK_KEY, VERSION)->setConfirm(CONFIRM_STR); 
 
$data = json_decode(file_get_contents('php://input')); //Получает и декодирует JSON пришедший из ВК 
 
$vk->sendOK(); //Говорим vk, что мы приняли callback 
 
// ТУТ НАШИ КНОПКИ === 
$BTN_1 = $vk->buttonText('№1', 'blue', ['command' => 'btn_1']); 
$BTN_2 = $vk->buttonText('№2', 'blue', ['command' => 'btn_2']); 
$BTN_3 = $vk->buttonText('№3', 'blue', ['command' => 'btn_3']); 
$BTN_4 = $vk->buttonText('№4', 'blue', ['command' => 'btn_4']); 
$BTN_5 = $vk->buttonText('№1', 'green', ['command' => 'btn_5']); 
$BTN_6 = $vk->buttonText('№2', 'green', ['command' => 'btn_6']); 
$BTN_7 = $vk->buttonText('№3', 'green', ['command' => 'btn_7']); 
$BTN_8 = $vk->buttonText('№4', 'green', ['command' => 'btn_8']); 
$BTN_9 = $vk->buttonText('Назад', 'red', ['command' => 'btn_9']); 
$BTN_10 = $vk->buttonText('Назад', 'red', ['command' => 'btn_10']); 
// =================== 
 
// ====== Наши переменные ============ 
$id = $data->object->message->from_id; // Узнаем ID пользователя, кто написал нам 
$peer_id = $data->object->message->peer_id; 
$message = $data->object->message->text; // Само сообщение от пользователя 
$date = date("d.m.Y H:i"); 
// ====== *************** ============ 
if ($data->type == 'message_new') { 
 
 if($message == 'Начать') { 
 $vk->sendButton($peer_id, "Произвольный текст:", [[$BTN_1, $BTN_2, $BTN_3, $BTN_4], [$BTN_10]]); 
 } 
 
 if (isset($data->object->message->payload)) { //получаем payload 
 $payload = json_decode($data->object->message->payload, True); // Декодируем в JSON формат 
 } else { 
 $payload = null; // Иначе кнопок нет 
 } 
 
 $payload = $payload['command']; // $payload = название нашей кнопки 
 
 // Теперь пишем действия с кнопками 
 if ($payload == 'btn_1') 
 $vk->sendButton($peer_id, "Произвольный текст:", [[$BTN_5, $BTN_6, $BTN_7, $BTN_8], [$BTN_9]]); 
 if ($payload == 'btn_2') 
 $vk->sendButton($peer_id, "Произвольный текст:", [[$BTN_5, $BTN_6, $BTN_7, $BTN_8], [$BTN_9]]); 
 if ($payload == 'btn_3') 
 $vk->sendButton($peer_id, "Произвольный текст:", [[$BTN_5, $BTN_6, $BTN_7, $BTN_8], [$BTN_9]]); 
 if ($payload == 'btn_4') 
 $vk->sendButton($peer_id, "Произвольный текст:", [[$BTN_5, $BTN_6, $BTN_7, $BTN_8], [$BTN_9]]); 
 if ($payload == 'btn_9') 
 $vk->sendButton($peer_id, "Произвольный текст:", [[$BTN_1, $BTN_2, $BTN_3, $BTN_4], [$BTN_10]]); 
 if ($payload == 'btn_10') 
 $vk->sendButton($peer_id, "Произвольный текст:", [[]]); 
 
 if ($message == 'Отключить') 
 $vk->sendButton($peer_id, "Кнопки скрыты, чтобы снова вызвать их, отправьте 'Начать' ", [[]]); 
 
 if ($message == 'Дата') { 
 
 $vk->sendMessage($peer_id, $date); 
 
 } 
 
 if ($message == 'дата') { 
 
 $vk->sendMessage($peer_id, $date); 
 
 } 
 }
  • Вопрос задан
  • 167 просмотров
Пригласить эксперта
Ответы на вопрос 1
opium
@opium
Просто люблю качественно работать
Откройте дебаг и посмотрите в чем проблема
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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