если в строке из 15 символов обрезать 16 то получим ноль, логичноpasha413 писал(а): ↑Чт авг 25, 2022 8:33 pmеще вопрос, хотел сделать по аналогии с вызовом сценариев, создал команду Графики:и событие CallbackChart_Код: Выделить всё
$em_therm = json_decode('"'.'\ud83c\udf21\ufe0f'.'"'); //термометр include_once(DIR_MODULES . 'telegram/telegram.class.php'); $telegram_module = new telegram(); //формируем массив названий кнопок, далее нужное по аналогии добавить здесь $term = array($em_therm.'CPU', $em_therm.'ТП', $em_therm.'Котел', $em_therm.'Теплица'); $total = count($term); for($i = 0; $i < $total; $i++) { //формируем массив кнопок с настройками, $i = 0 соответствует первой кнопке $option[] = $this->buildInlineKeyboardButton($term[$i], '', 'CallbackChart_' . $i, ''); } //количество кнопок в строке $count_row = 2; $option = array_chunk($option, $count_row); $keyb = $this->buildInlineKeyBoard($option); $content = array('chat_id' => $chat_id, 'text' => 'Выберите необходимый график:', 'reply_markup' => $keyb); $this->sendContent($content);
но на все кнопки приходит только первый графикКод: Выделить всё
if (strpos($callback, 'CallbackChart_') !== false) { $skip = true; //не перебираем далее остальные каллбеки //определяем параметр переданный с нажатия кнопки $term = substr($callback, 16);
можно через експлоде строку разделить по подчеркиванию, в примере автора в управлении пу так можно оперировать несколькими аргументами передаваемыми в каллбек