Всем привет! Пишу бота на кнопках и столкнулся с проблемой ловли сообщения после нажатия пользователем на кнопку, бот сохраняет ТЕКСТ КНОПКИ, а не сообщение после кнопки. if($payload['command'] == 'btn_7') { if($db->query("INSERT INTO tickets (message_id, user_id, message) VALUES ('$msg_id', '$user_id', '$message');")){ $vk->msg('Ты выбрал цитату без фото. Отправь текст цитаты')->send(); } } PHP if($payload['command'] == 'btn_7') { if($db->query("INSERT INTO tickets (message_id, user_id, message) VALUES ('$msg_id', '$user_id', '$message');")){ $vk->msg('Ты выбрал цитату без фото. Отправь текст цитаты')->send(); } } Как же сохранить следующее сообщение после нажатия кнопки пользователем?
Смотри как я реализовал, для начала тебе нужно поле в котором ты хочешь сохранить. Делаешь нопку например редактировать. Затем эту кнопку обрабатываешь. У кнопки редактировать пайлоад к примеру редактирировать. Если пайлоад редактировать был передан то делаешт условие Редактируешь поле свое на Редактировать1 в базе Затем получаешь из бд значение поля. Делаешь условие, просто условие после message new. Если $message == $bdinfo То Апдейт запрос со значением $message. За пк буду подробно отпишу, с такой же библиотекой я работал. Тут нужно делать все в 2 этапа, по другому не получится
Вот пример Leonchikkk, вот пример https://kotoff.net/article/php/70-kak-sdelat-cepochku-soobschenij-anketu-dlja-bota-vk-na-php.html
Еще 1 метод, сегодня придумал. Метод заключается в том что, ты после передачи payload записываешь любое значение в txt, затем ты проверяешь сообщение на символы, и внутри этой же проверки ты проверяешь значение из txt, после того как выполнился скрипт, ты удаляешь файл. При нажатии допустим кнопку он опять создаться с нужным значением. if ($payload == 'random_btn') { $vk->sendButton($peer_id, "Добро пожаловать во вселенную где я могу ответить на твои вопросы.<br>Я искренне жду твой вопрос, к сожалению мой словарный запас ограничен<br>Я могу отвечать на вопросы со значением да/нет.", [[]]); $file = 'vopros.txt'; // Открываем файл для получения существующего содержимого $current = file_get_contents($file); // Добавляем значение в файл $current .= "Вопрос"; // Пишем содержимое обратно в файл file_put_contents($file, $current); fclose($file); } $file = 'vopros.txt'; // Открываем файл для получения существующего содержимого $content = file_get_contents($file); fclose($file);открываем файл для получения значения if (preg_match("/^([а-яА-ЯЁёa-zA-Z0-9_?\\s]+)$/u",$message)) { if ($content == "Вопрос") { $rand = rand(1, 6); if ($rand == "1") { $vk->sendButton($peer_id, "Да", [[]]); } elseif ($rand == "2") { $vk->sendButton($peer_id, "Нет", [[]]); } elseif ($rand == "3") { $vk->sendButton($peer_id, "Точно да", [[]]); } elseif ($rand == "4") { $vk->sendButton($peer_id, "Думаю нет", [[]]); } elseif ($rand == "5") { $vk->sendButton($peer_id, "Без сомнений", [[]]); } elseif ($rand == "6") { $vk->sendButton($peer_id, "Есть сомнения", [[]]); } unlink('vopros.txt'); } } PHP if ($payload == 'random_btn') { $vk->sendButton($peer_id, "Добро пожаловать во вселенную где я могу ответить на твои вопросы.<br>Я искренне жду твой вопрос, к сожалению мой словарный запас ограничен<br>Я могу отвечать на вопросы со значением да/нет.", [[]]); $file = 'vopros.txt'; // Открываем файл для получения существующего содержимого $current = file_get_contents($file); // Добавляем значение в файл $current .= "Вопрос"; // Пишем содержимое обратно в файл file_put_contents($file, $current); fclose($file); } $file = 'vopros.txt'; // Открываем файл для получения существующего содержимого $content = file_get_contents($file); fclose($file);открываем файл для получения значения if (preg_match("/^([а-яА-ЯЁёa-zA-Z0-9_?\\s]+)$/u",$message)) { if ($content == "Вопрос") { $rand = rand(1, 6); if ($rand == "1") { $vk->sendButton($peer_id, "Да", [[]]); } elseif ($rand == "2") { $vk->sendButton($peer_id, "Нет", [[]]); } elseif ($rand == "3") { $vk->sendButton($peer_id, "Точно да", [[]]); } elseif ($rand == "4") { $vk->sendButton($peer_id, "Думаю нет", [[]]); } elseif ($rand == "5") { $vk->sendButton($peer_id, "Без сомнений", [[]]); } elseif ($rand == "6") { $vk->sendButton($peer_id, "Есть сомнения", [[]]); } unlink('vopros.txt'); } } Как по мне проще всего использовать, базу.