A
A
aleksey_what2020-11-09 15:00:20
PHP
aleksey_what, 2020-11-09 15:00:20

Bot buttons error in PHP?

I made a bot according to the guide, took the library, etc., etc., I put it on hosting and ... the buttons do not work. Simple messages work if sent to the bot ( https://vk.com/club200146298 ) - "date" sends the date (that is, everything works fine, without errors, VK accepts the code). When submitting "Start" it should submit the buttons, but it doesn't. What did I do wrong and what do I not understand?

Link to the whole bot - 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, "Произвольный текст:", ); 
 } 
 
 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, "Произвольный текст:", ); 
 if ($payload == 'btn_2') 
 $vk->sendButton($peer_id, "Произвольный текст:", ); 
 if ($payload == 'btn_3') 
 $vk->sendButton($peer_id, "Произвольный текст:", ); 
 if ($payload == 'btn_4') 
 $vk->sendButton($peer_id, "Произвольный текст:", ); 
 if ($payload == 'btn_9') 
 $vk->sendButton($peer_id, "Произвольный текст:", ); 
 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); 
 
 } 
 }

Answer the question

In order to leave comments, you need to log in

1 answer(s)
P
Puma Thailand, 2020-11-09
@opium

Open debug and see what the problem is

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question