Вариант анимированной клавиатуры я разместил в модуле telegram MajorDoMo. Выглядеть это будет так:
Код состоит из двух частей.
Эту часть кода вставляем в команды telegram модуля. Вот в этом меню:
C++
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
$off = json_decode('"'.'\ud83c\udf11'.'"'); $on = json_decode('"'.'\uD83C\uDF15'.'"'); $k1 = $off; $k2 = $off; $k3 = $off; $k4 = $off; $k5 = $off; $k6 = $off; $k7 = $off; $k8 = $off; $k9 = $off; if (gg("Relay17.status") == 1) $k1 = $on; if (gg("Relay11.status") == 1) $k2 = $on; if (gg("Relay15.status") == 1) $k3 = $on; if (gg("Relay16.status") == 1) $k4 = $on; if (gg("Relay08.status") == 1) $k5 = $on; if (gg("Relay05.status") == 1) $k6 = $on; if (gg("Relay01.status") == 1) $k7 = $on; if (gg("Relay02.status") == 1) $k8 = $on; if (gg("Relay03.status") == 1) $k9 = $on; $option[] = $this->buildInlineKeyboardButton($text=$k1."Ванная","","Callback_vanna",""); $option[] = $this->buildInlineKeyboardButton($text=$k2."Кухня","","Callback_kuhniy",""); $option[] = $this->buildInlineKeyboardButton($text=$k3."Frost","","Callback_frost",""); $option[] = $this->buildInlineKeyboardButton($text=$k4."Кофе","","Callback_kofe",""); $option[] = $this->buildInlineKeyboardButton($text=$k5."Саша","","Callback_sasha",""); $option[] = $this->buildInlineKeyboardButton($text=$k6."Дентская","","Callback_detskaia",""); $option[] = $this->buildInlineKeyboardButton($text=$k7."Зал","","Callback_zal",""); $option[] = $this->buildInlineKeyboardButton($text=$k8."TV","","Callback_tv",""); $option[] = $this->buildInlineKeyboardButton($text=$k9."Стол","","Callback_stol",""); $count_row = 3; $option = array_chunk($option, $count_row); $keyb = $this->buildInlineKeyBoard($option); $content = array('chat_id' => $chat_id, 'text' => "Управление розетками:", 'reply_markup' => $keyb); $this->sendContent($content); |
Вторую часть кода “обработчик” мы вставляем в меню “события” telegram модуля. Предварительно создаём новое событие. Вот сюда:
C++
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 |
$sw = false; if ($callback == 'Callback_vanna') { $sw = true; cm("Relay17.switch"); } if ($callback == 'Callback_kuhniy') { $sw = true; cm("Relay11.switch"); } if ($callback == 'Callback_frost') { $sw = true; cm("Relay15.switch"); } if ($callback == 'Callback_kofe') { $sw = true; cm("Relay16.switch"); } if ($callback == 'Callback_sasha') { $sw = true; cm("Relay08.switch"); } if ($callback == 'Callback_detskaia') { $sw = true; cm("Relay05.switch"); } if ($callback == 'Callback_zal') { $sw = true; cm("Relay01.switch"); } if ($callback == 'Callback_tv') { $sw = true; cm("Relay02.switch"); } if ($callback == 'Callback_stol') { $sw = true; cm("Relay03.switch"); } if ($sw) { $off = json_decode('"'.'\ud83c\udf11'.'"'); $on = json_decode('"'.'\uD83C\uDF15'.'"'); $k1 = $off; $k2 = $off; $k3 = $off; $k4 = $off; $k5 = $off; $k6 = $off; $k7 = $off; $k8 = $off; $k9 = $off; if (gg("Relay17.status") == 1) $k1 = $on; if (gg("Relay11.status") == 1) $k2 = $on; if (gg("Relay15.status") == 1) $k3 = $on; if (gg("Relay16.status") == 1) $k4 = $on; if (gg("Relay08.status") == 1) $k5 = $on; if (gg("Relay05.status") == 1) $k6 = $on; if (gg("Relay01.status") == 1) $k7 = $on; if (gg("Relay02.status") == 1) $k8 = $on; if (gg("Relay03.status") == 1) $k9 = $on; $option[] = $this->buildInlineKeyboardButton($text=$k1."Ванная","","Callback_vanna",""); $option[] = $this->buildInlineKeyboardButton($text=$k2."Кухня","","Callback_kuhniy",""); $option[] = $this->buildInlineKeyboardButton($text=$k3."Frost","","Callback_frost",""); $option[] = $this->buildInlineKeyboardButton($text=$k4."Кофе","","Callback_kofe",""); $option[] = $this->buildInlineKeyboardButton($text=$k5."Саша","","Callback_sasha",""); $option[] = $this->buildInlineKeyboardButton($text=$k6."Дентская","","Callback_detskaia",""); $option[] = $this->buildInlineKeyboardButton($text=$k7."Зал","","Callback_zal",""); $option[] = $this->buildInlineKeyboardButton($text=$k8."TV","","Callback_tv",""); $option[] = $this->buildInlineKeyboardButton($text=$k9."Стол","","Callback_stol",""); $count_row = 3; $option = array_chunk($option, $count_row); $keyb = $this->buildInlineKeyBoard($option); $this->editMessage($chat_id,$message_id,"Управление розетками:",$keyb); } |