[Модуль] Telegram (telegram)
Модератор: immortal
- dioxin
- Сообщения: 175
- Зарегистрирован: Вт фев 14, 2017 4:43 pm
- Откуда: Иваново
- Благодарил (а): 15 раз
- Поблагодарили: 46 раз
Re: Модуль "Telegram"
Я скачал образ с гитхаба и тупо с заменой файлов накатил на старую систему и все заработало
Алиска прописана на Debian 11 | Мой канал на youtube по MajorDomo
-
- Сообщения: 20
- Зарегистрирован: Пн июл 30, 2018 8:45 am
- Благодарил (а): 29 раз
- Поблагодарили: 0
Re: Модуль "Telegram"
Друзья, подскажите, почему команды из telegram в mjd не проходят?
Вроде бы разобрался с меню бота, остановился на таком варианте:
Но все старые команды которые шли через api.ai или простые устройства больше не проходят.
Подскажите, как все поправить, что бы команды проходили дальше?
Спасибо!
Вроде бы разобрался с меню бота, остановился на таком варианте:
СпойлерПоказать
Код: Выделить всё
$this->sendAction($chat_id, "typing");
$em_l = json_decode('"'.'\ud83d\udca1'.'"');
$em_k = json_decode('"'.'\ud83d\udcac'.'"');
$em_n = json_decode('"'.'\u21a9\ufe0f'.'"');
$em_c = json_decode('"'.'\ud83d\udcf8'.'"');
$em_i = json_decode('"'.'\ud83d\udee0'.'"');
$em_s = json_decode('"'.'\u2694'.'"');
$em_g = json_decode('"'.'\ud83c\udf21'.'"');
$em_p = json_decode('"'.'\ud83c\udf24'.'"');
$em_o = json_decode('"'.'\ud83d\udce1'.'"');
$off = json_decode('"'.'\ud83c\udf11'.'"');
$on = json_decode('"'.'\ud83c\udf15'.'"');
$em_rd = json_decode('"'.'\ud83d\udc47'.'"');
$em_cam = json_decode('"'.'\ud83c\udfa5'.'"');
$em_kuh = json_decode('"'.'\ud83c\udfa5 \ud83c\udf7d'.'"'); //\ud83c\udf7d
$em_kom = json_decode('"'.'\ud83c\udfa5 \ud83d\udecb'.'"'); //\ud83d\udecb
$pos = strripos($text , "Меню");
if ($pos > -1) {
$this->sendAction($chat_id, "typing");
$option = array( array($em_l." Свет", $em_c." Камеры"), array($em_p." Погода", $em_g." Климат"), array($em_o." GPS", $em_s." Охрана"));
$this->sendMessageToUser($chat_id, $em_k." Выберите нужный пункт ".$em_rd, $option);
$skip = true;
}
$pos = strripos($text , "Погода");
if ($pos > -1) {
$this->sendAction($chat_id, "typing");
$option = array( array($em_l." Свет", $em_c." Камеры"), array($em_p." Погода", $em_g." Климат"), array($em_o." GPS", $em_s." Охрана"));
$this->sendMessageToUser($chat_id, "Сейчас в Красногорске ".gg("krasnogorsk.temp"). " С. По ощущениям " .gg("krasnogorsk.soil_temp")." С. Ветер " .gg("krasnogorsk.wind_speed") . " М/c. ", $option);
$skip = true;
}
$pos = strripos($text , "Климат");
if ($pos > -1) {
$this->sendAction($chat_id, "typing");
$option = array( array($em_l." Свет", $em_c." Камеры"), array($em_p." Погода", $em_g." Климат"), array($em_o." GPS", $em_s." Охрана"));
$climat = "Температура ".gg('XiSensor_temp02.Value')." С. Относительная влажность ".gg('XiSensor_humidity02.Value')." %. Атмосферное давление ".gg('XiSensor_pressure01.Value')." мм.рт.ст.";
$this->sendMessageToUser($chat_id, $climat, $option);
$skip = true;
}
$pos = strripos($text , "Свет");
if ($pos > -1) {
$this->sendAction($chat_id, "typing");
if (gg("Relay1MegaD1.status") == 1) $ks = $on; else $ks = $off;
if (gg("Relay2MegaD2.status") == 1) $ps = $on; else $ps = $off;
if (gg("XiRelay05.status") == 1) $rs = $on; else $rs = $off;
if (gg("miioRelay04.status") == 1) $ds = $on; else $ds = $off;
if (gg("Relay2.status") == 1) $mk = $on; else $mk = $off;
if (gg("Relay204.status") == 1) $dk = $on; else $dk = $off;
$option = array( array($mk." Гостиная", $dk." Кухня (общий)" , $ks." Кухня (стол)"), array($ps."Коридор", $rs." Ванная",$ds."Подсветка в спальне" ), array("Меню") );
$this->sendMessageToUser($chat_id, $em_k." Можно включать и выключать свет:", $option);
$skip = true;
}
$pos = strripos($text , "Кухня (стол)");
if ($pos > -1) {
$this->sendAction($chat_id, "typing");
cm("Relay1MegaD1.switch");
if (gg("Relay1MegaD1.status") == 1) $ks = $on; else $ks = $off;
if (gg("Relay2MegaD2.status") == 1) $ps = $on; else $ps = $off;
if (gg("XiRelay05.status") == 1) $rs = $on; else $rs = $off;
if (gg("miioRelay04.status") == 1) $ds = $on; else $ds = $off;
if (gg("Relay2.status") == 1) $mk = $on; else $mk = $off;
if (gg("Relay204.status") == 1) $dk = $on; else $dk = $off;
$option = array( array($mk." Гостиная", $dk." Кухня (общий)" , $ks." Кухня (стол)"), array($ps."Коридор", $rs." Ванная",$ds."Подсветка в спальне" ), array("Меню") );
$this->sendMessageToUser($chat_id, $em_k." Можно включать и выключать свет:", $option);
$skip = true;
}
$pos = strripos($text , "Коридор");
if ($pos > -1) {
$this->sendAction($chat_id, "typing");
cm("Relay2MegaD2.switch");
if (gg("Relay1MegaD1.status") == 1) $ks = $on; else $ks = $off;
if (gg("Relay2MegaD2.status") == 1) $ps = $on; else $ps = $off;
if (gg("XiRelay05.status") == 1) $rs = $on; else $rs = $off;
if (gg("miioRelay04.status") == 1) $ds = $on; else $ds = $off;
if (gg("Relay2.status") == 1) $mk = $on; else $mk = $off;
if (gg("Relay204.status") == 1) $dk = $on; else $dk = $off;
$option = array( array($mk." Гостиная", $dk." Кухня (общий)" , $ks." Кухня (стол)"), array($ps."Коридор", $rs." Ванная",$ds."Подсветка в спальне" ), array("Меню") );
$this->sendMessageToUser($chat_id, $em_k." Можно включать и выключать свет:", $option);
$skip = true;
}
$pos = strripos($text , "Ванная");
if ($pos > -1) {
$this->sendAction($chat_id, "typing");
cm("XiRelay05.switch");
if (gg("Relay1MegaD1.status") == 1) $ks = $on; else $ks = $off;
if (gg("Relay2MegaD2.status") == 1) $ps = $on; else $ps = $off;
if (gg("XiRelay05.status") == 1) $rs = $off; else $rs = $on;
if (gg("miioRelay04.status") == 1) $ds = $on; else $ds = $off;
if (gg("Relay2.status") == 1) $mk = $on; else $mk = $off;
if (gg("Relay204.status") == 1) $dk = $on; else $dk = $off;
$option = array( array($mk." Гостиная", $dk." Кухня (общий)" , $ks." Кухня (стол)"), array($ps."Коридор", $rs." Ванная",$ds."Подсветка в спальне" ), array("Меню") );
$this->sendMessageToUser($chat_id, $em_k." Можно включать и выключать свет:", $option);
$skip = true;
}
$pos = strripos($text , "Подсветка в спальне");
if ($pos > -1) {
$this->sendAction($chat_id, "typing");
cm("miioRelay04.switch");
if (gg("Relay1MegaD1.status") == 1) $ks = $on; else $ks = $off;
if (gg("Relay2MegaD2.status") == 1) $ps = $on; else $ps = $off;
if (gg("XiRelay05.status") == 1) $rs = $on; else $rs = $off;
if (gg("miioRelay04.status") == 1) $ds = $off; else $ds = $on;
if (gg("Relay2.status") == 1) $mk = $on; else $mk = $off;
if (gg("Relay204.status") == 1) $dk = $on; else $dk = $off;
$option = array( array($mk." Гостиная", $dk." Кухня (общий)" , $ks." Кухня (стол)"), array($ps."Коридор", $rs." Ванная",$ds."Подсветка в спальне" ), array("Меню") );
$this->sendMessageToUser($chat_id, $em_k." Можно включать и выключать свет:", $option);
$skip = true;
}
$pos = strripos($text , "Гостиная");
if ($pos > -1) {
$this->sendAction($chat_id, "typing");
cm("XiRelay05.switch");
//$this->sendMessageToUser($chat_id, $em_l." Метод света в комнате");
if (gg("Relay1MegaD1.status") == 1) $ks = $on; else $ks = $off;
if (gg("Relay2MegaD2.status") == 1) $ps = $on; else $ps = $off;
if (gg("XiRelay05.status") == 1) $rs = $off; else $rs = $on;
if (gg("miioRelay04.status") == 1) $ds = $on; else $ds = $off;
if (gg("Relay2.status") == 1) $mk = $on; else $mk = $off;
if (gg("Relay204.status") == 1) $dk = $on; else $dk = $off;
$option = array( array($mk." Гостиная", $dk." Кухня (общий)" , $ks." Кухня (стол)"), array($ps."Коридор", $rs." Ванная",$ds."Подсветка в спальне" ), array("Меню") );
$this->sendMessageToUser($chat_id, $em_k." Можно включать и выключать свет:", $option);
$skip = true;
}
$pos = strripos($text , "Кухня (общий)");
if ($pos > -1) {
$this->sendAction($chat_id, "typing");
cm("XiRelay05.switch");
//$this->sendMessageToUser($chat_id, $em_l." Метод света в комнате");
if (gg("Relay1MegaD1.status") == 1) $ks = $on; else $ks = $off;
if (gg("Relay2MegaD2.status") == 1) $ps = $on; else $ps = $off;
if (gg("XiRelay05.status") == 1) $rs = $off; else $rs = $on;
if (gg("miioRelay04.status") == 1) $ds = $on; else $ds = $off;
if (gg("Relay2.status") == 1) $mk = $on; else $mk = $off;
if (gg("Relay204.status") == 1) $dk = $on; else $dk = $off;
$option = array( array($mk." Гостиная", $dk." Кухня (общий)" , $ks." Кухня (стол)"), array($ps."Коридор", $rs." Ванная",$ds."Подсветка в спальне" ), array("Меню") );
$this->sendMessageToUser($chat_id, $em_k." Можно включать и выключать свет:", $option);
$skip = true;
}
$pos = strripos($text , "Камеры");
if ($pos > -1) {
$this->sendAction($chat_id, "typing");
$option = array( array($em_kuh." Web-cam 1", $em_kom." Web-cam 2"), array("Меню") );
$this->sendMessageToUser($chat_id, $em_cam." Можно получить фото с камеры видеонаблюдения", $option);
$skip = true;
}
$pos = strripos($text , "Web-cam 1");
if ($pos > -1) {
$this->sendAction($chat_id, "upload_photo");
if ( gg('webcam_1.status') != 1 ) {
if ( gg('minMsgLevel') == 1 ) sg('minMsgLevel', '2');
cm('webcam_1.turnOn');
setTimeOut('startSendPhotoScript', 'runScript("sendPhoto", array("chat_id"=>'.$chat_id.'));', 3);
DebMes('Get Photo from ID ' . $chat_id);
setTimeOut('webCamOff', 'cm("webcam_1.turnOff");if ( gg("minMsgLevel") == 2 ) sg("minMsgLevel", "1");', 10);
} else {
runScript('sendPhoto', array('chat_id'=>$chat_id));
}
$skip = true;
//$option = array( array($em_kuh." Web-cam 1", $em_kom." Web-cam 2"), array("Меню") );
//$this->sendMessageToUser($chat_id, $em_cam." Можно получить фото с камеры видеонаблюдения", $option);
}
$pos = strripos($text , "Web-cam 2");
if ($pos > -1) {
$this->sendAction($chat_id, "typing");
$option = array( array($em_kuh." Web-cam 1", $em_kom." Web-cam 2"), array("Меню") );
$this->sendMessageToUser($chat_id, $em_cam." Камера в комнате не работает", $option);
$skip = true;
}
$pos = strripos($text , "Охрана");
if ($pos > -1) {
if (gg("SecurityArmedMode.active")){
sg("SecurityArmedMode.active",0);
$status="выключена";
$st1=$off;
}else{
sg("SecurityArmedMode.active",1);
$status="включена";
$st1=$on;
}
$this->sendMessageToUser($chat_id,"Охрана ".$status,$option1);
$skip = true;
}
$pos = strripos($text , "GPS");
include_once(DIR_MODULES . 'telegram/telegram.class.php');
$telegram_module = new telegram();
$menu=array();
$objects = getObjectsByClass("Users");
foreach ($objects as $obj) {
$ar2[] = $obj['TITLE'];
$menu[]=$telegram_module->buildInlineKeyboardButton($text=$obj['TITLE'],"","gde_".$obj['TITLE'],"") ;
$skip = true;
}
if ($pos > -1) {
$option = array($menu) ;
$keyb = $telegram_module->buildInlineKeyBoard($option);
$content = array('chat_id' => $chat_id, 'text' => "Получение координат", 'reply_markup' => $keyb);
$telegram_module->sendContent($content);
$skip = true;
}
//Для того чтобы после обработки кода в событии прекратить дальнейшую обработку команд и шаблонов, надо в коде задать значение переменной $skip=true;
//$skip = true;
/*
// \ud83d\udca1 лампочка
// \ud83d\udcac комментарий
// \u21a9\ufe0f назад
// \ud83d\udcf8 камера
// \ud83d\udee0 инструменты
// \u2699 шестеренка
// \ud83c\udf21 градусник
// \ud83c\udf24 погода
// \ud83d\udcdd отчеты
// \ud83d\udc47 рука вниз
// \ud83c\udf24 камера
// \u041f\u043e\u0433 диван
// \u043e\u0434\u0430 тарелка-ложки
*/
Подскажите, как все поправить, что бы команды проходили дальше?
Спасибо!
Raspberry Pi3B+ 3_3.4
- xor
- Сообщения: 2038
- Зарегистрирован: Сб ноя 22, 2014 8:45 pm
- Благодарил (а): 284 раза
- Поблагодарили: 629 раз
Re: Модуль "Telegram"
Я написал кода на 6 экранов со своими объектами, которых нет больше ни у кого, с мусором закомменченным, у меня что-то не работает! Разберитесь!alex.frost писал(а): ↑Пн авг 27, 2018 7:49 pmДрузья, подскажите, почему команды из telegram в mjd не проходят?
Вроде бы разобрался с меню бота, остановился на таком варианте:Но все старые команды которые шли через api.ai или простые устройства больше не проходят.СпойлерПоказатьКод: Выделить всё
$this->sendAction($chat_id, "typing"); $em_l = json_decode('"'.'\ud83d\udca1'.'"'); $em_k = json_decode('"'.'\ud83d\udcac'.'"'); $em_n = json_decode('"'.'\u21a9\ufe0f'.'"'); $em_c = json_decode('"'.'\ud83d\udcf8'.'"'); $em_i = json_decode('"'.'\ud83d\udee0'.'"'); $em_s = json_decode('"'.'\u2694'.'"'); $em_g = json_decode('"'.'\ud83c\udf21'.'"'); $em_p = json_decode('"'.'\ud83c\udf24'.'"'); $em_o = json_decode('"'.'\ud83d\udce1'.'"'); $off = json_decode('"'.'\ud83c\udf11'.'"'); $on = json_decode('"'.'\ud83c\udf15'.'"'); $em_rd = json_decode('"'.'\ud83d\udc47'.'"'); $em_cam = json_decode('"'.'\ud83c\udfa5'.'"'); $em_kuh = json_decode('"'.'\ud83c\udfa5 \ud83c\udf7d'.'"'); //\ud83c\udf7d $em_kom = json_decode('"'.'\ud83c\udfa5 \ud83d\udecb'.'"'); //\ud83d\udecb $pos = strripos($text , "Меню"); if ($pos > -1) { $this->sendAction($chat_id, "typing"); $option = array( array($em_l." Свет", $em_c." Камеры"), array($em_p." Погода", $em_g." Климат"), array($em_o." GPS", $em_s." Охрана")); $this->sendMessageToUser($chat_id, $em_k." Выберите нужный пункт ".$em_rd, $option); $skip = true; } $pos = strripos($text , "Погода"); if ($pos > -1) { $this->sendAction($chat_id, "typing"); $option = array( array($em_l." Свет", $em_c." Камеры"), array($em_p." Погода", $em_g." Климат"), array($em_o." GPS", $em_s." Охрана")); $this->sendMessageToUser($chat_id, "Сейчас в Красногорске ".gg("krasnogorsk.temp"). " С. По ощущениям " .gg("krasnogorsk.soil_temp")." С. Ветер " .gg("krasnogorsk.wind_speed") . " М/c. ", $option); $skip = true; } $pos = strripos($text , "Климат"); if ($pos > -1) { $this->sendAction($chat_id, "typing"); $option = array( array($em_l." Свет", $em_c." Камеры"), array($em_p." Погода", $em_g." Климат"), array($em_o." GPS", $em_s." Охрана")); $climat = "Температура ".gg('XiSensor_temp02.Value')." С. Относительная влажность ".gg('XiSensor_humidity02.Value')." %. Атмосферное давление ".gg('XiSensor_pressure01.Value')." мм.рт.ст."; $this->sendMessageToUser($chat_id, $climat, $option); $skip = true; } $pos = strripos($text , "Свет"); if ($pos > -1) { $this->sendAction($chat_id, "typing"); if (gg("Relay1MegaD1.status") == 1) $ks = $on; else $ks = $off; if (gg("Relay2MegaD2.status") == 1) $ps = $on; else $ps = $off; if (gg("XiRelay05.status") == 1) $rs = $on; else $rs = $off; if (gg("miioRelay04.status") == 1) $ds = $on; else $ds = $off; if (gg("Relay2.status") == 1) $mk = $on; else $mk = $off; if (gg("Relay204.status") == 1) $dk = $on; else $dk = $off; $option = array( array($mk." Гостиная", $dk." Кухня (общий)" , $ks." Кухня (стол)"), array($ps."Коридор", $rs." Ванная",$ds."Подсветка в спальне" ), array("Меню") ); $this->sendMessageToUser($chat_id, $em_k." Можно включать и выключать свет:", $option); $skip = true; } $pos = strripos($text , "Кухня (стол)"); if ($pos > -1) { $this->sendAction($chat_id, "typing"); cm("Relay1MegaD1.switch"); if (gg("Relay1MegaD1.status") == 1) $ks = $on; else $ks = $off; if (gg("Relay2MegaD2.status") == 1) $ps = $on; else $ps = $off; if (gg("XiRelay05.status") == 1) $rs = $on; else $rs = $off; if (gg("miioRelay04.status") == 1) $ds = $on; else $ds = $off; if (gg("Relay2.status") == 1) $mk = $on; else $mk = $off; if (gg("Relay204.status") == 1) $dk = $on; else $dk = $off; $option = array( array($mk." Гостиная", $dk." Кухня (общий)" , $ks." Кухня (стол)"), array($ps."Коридор", $rs." Ванная",$ds."Подсветка в спальне" ), array("Меню") ); $this->sendMessageToUser($chat_id, $em_k." Можно включать и выключать свет:", $option); $skip = true; } $pos = strripos($text , "Коридор"); if ($pos > -1) { $this->sendAction($chat_id, "typing"); cm("Relay2MegaD2.switch"); if (gg("Relay1MegaD1.status") == 1) $ks = $on; else $ks = $off; if (gg("Relay2MegaD2.status") == 1) $ps = $on; else $ps = $off; if (gg("XiRelay05.status") == 1) $rs = $on; else $rs = $off; if (gg("miioRelay04.status") == 1) $ds = $on; else $ds = $off; if (gg("Relay2.status") == 1) $mk = $on; else $mk = $off; if (gg("Relay204.status") == 1) $dk = $on; else $dk = $off; $option = array( array($mk." Гостиная", $dk." Кухня (общий)" , $ks." Кухня (стол)"), array($ps."Коридор", $rs." Ванная",$ds."Подсветка в спальне" ), array("Меню") ); $this->sendMessageToUser($chat_id, $em_k." Можно включать и выключать свет:", $option); $skip = true; } $pos = strripos($text , "Ванная"); if ($pos > -1) { $this->sendAction($chat_id, "typing"); cm("XiRelay05.switch"); if (gg("Relay1MegaD1.status") == 1) $ks = $on; else $ks = $off; if (gg("Relay2MegaD2.status") == 1) $ps = $on; else $ps = $off; if (gg("XiRelay05.status") == 1) $rs = $off; else $rs = $on; if (gg("miioRelay04.status") == 1) $ds = $on; else $ds = $off; if (gg("Relay2.status") == 1) $mk = $on; else $mk = $off; if (gg("Relay204.status") == 1) $dk = $on; else $dk = $off; $option = array( array($mk." Гостиная", $dk." Кухня (общий)" , $ks." Кухня (стол)"), array($ps."Коридор", $rs." Ванная",$ds."Подсветка в спальне" ), array("Меню") ); $this->sendMessageToUser($chat_id, $em_k." Можно включать и выключать свет:", $option); $skip = true; } $pos = strripos($text , "Подсветка в спальне"); if ($pos > -1) { $this->sendAction($chat_id, "typing"); cm("miioRelay04.switch"); if (gg("Relay1MegaD1.status") == 1) $ks = $on; else $ks = $off; if (gg("Relay2MegaD2.status") == 1) $ps = $on; else $ps = $off; if (gg("XiRelay05.status") == 1) $rs = $on; else $rs = $off; if (gg("miioRelay04.status") == 1) $ds = $off; else $ds = $on; if (gg("Relay2.status") == 1) $mk = $on; else $mk = $off; if (gg("Relay204.status") == 1) $dk = $on; else $dk = $off; $option = array( array($mk." Гостиная", $dk." Кухня (общий)" , $ks." Кухня (стол)"), array($ps."Коридор", $rs." Ванная",$ds."Подсветка в спальне" ), array("Меню") ); $this->sendMessageToUser($chat_id, $em_k." Можно включать и выключать свет:", $option); $skip = true; } $pos = strripos($text , "Гостиная"); if ($pos > -1) { $this->sendAction($chat_id, "typing"); cm("XiRelay05.switch"); //$this->sendMessageToUser($chat_id, $em_l." Метод света в комнате"); if (gg("Relay1MegaD1.status") == 1) $ks = $on; else $ks = $off; if (gg("Relay2MegaD2.status") == 1) $ps = $on; else $ps = $off; if (gg("XiRelay05.status") == 1) $rs = $off; else $rs = $on; if (gg("miioRelay04.status") == 1) $ds = $on; else $ds = $off; if (gg("Relay2.status") == 1) $mk = $on; else $mk = $off; if (gg("Relay204.status") == 1) $dk = $on; else $dk = $off; $option = array( array($mk." Гостиная", $dk." Кухня (общий)" , $ks." Кухня (стол)"), array($ps."Коридор", $rs." Ванная",$ds."Подсветка в спальне" ), array("Меню") ); $this->sendMessageToUser($chat_id, $em_k." Можно включать и выключать свет:", $option); $skip = true; } $pos = strripos($text , "Кухня (общий)"); if ($pos > -1) { $this->sendAction($chat_id, "typing"); cm("XiRelay05.switch"); //$this->sendMessageToUser($chat_id, $em_l." Метод света в комнате"); if (gg("Relay1MegaD1.status") == 1) $ks = $on; else $ks = $off; if (gg("Relay2MegaD2.status") == 1) $ps = $on; else $ps = $off; if (gg("XiRelay05.status") == 1) $rs = $off; else $rs = $on; if (gg("miioRelay04.status") == 1) $ds = $on; else $ds = $off; if (gg("Relay2.status") == 1) $mk = $on; else $mk = $off; if (gg("Relay204.status") == 1) $dk = $on; else $dk = $off; $option = array( array($mk." Гостиная", $dk." Кухня (общий)" , $ks." Кухня (стол)"), array($ps."Коридор", $rs." Ванная",$ds."Подсветка в спальне" ), array("Меню") ); $this->sendMessageToUser($chat_id, $em_k." Можно включать и выключать свет:", $option); $skip = true; } $pos = strripos($text , "Камеры"); if ($pos > -1) { $this->sendAction($chat_id, "typing"); $option = array( array($em_kuh." Web-cam 1", $em_kom." Web-cam 2"), array("Меню") ); $this->sendMessageToUser($chat_id, $em_cam." Можно получить фото с камеры видеонаблюдения", $option); $skip = true; } $pos = strripos($text , "Web-cam 1"); if ($pos > -1) { $this->sendAction($chat_id, "upload_photo"); if ( gg('webcam_1.status') != 1 ) { if ( gg('minMsgLevel') == 1 ) sg('minMsgLevel', '2'); cm('webcam_1.turnOn'); setTimeOut('startSendPhotoScript', 'runScript("sendPhoto", array("chat_id"=>'.$chat_id.'));', 3); DebMes('Get Photo from ID ' . $chat_id); setTimeOut('webCamOff', 'cm("webcam_1.turnOff");if ( gg("minMsgLevel") == 2 ) sg("minMsgLevel", "1");', 10); } else { runScript('sendPhoto', array('chat_id'=>$chat_id)); } $skip = true; //$option = array( array($em_kuh." Web-cam 1", $em_kom." Web-cam 2"), array("Меню") ); //$this->sendMessageToUser($chat_id, $em_cam." Можно получить фото с камеры видеонаблюдения", $option); } $pos = strripos($text , "Web-cam 2"); if ($pos > -1) { $this->sendAction($chat_id, "typing"); $option = array( array($em_kuh." Web-cam 1", $em_kom." Web-cam 2"), array("Меню") ); $this->sendMessageToUser($chat_id, $em_cam." Камера в комнате не работает", $option); $skip = true; } $pos = strripos($text , "Охрана"); if ($pos > -1) { if (gg("SecurityArmedMode.active")){ sg("SecurityArmedMode.active",0); $status="выключена"; $st1=$off; }else{ sg("SecurityArmedMode.active",1); $status="включена"; $st1=$on; } $this->sendMessageToUser($chat_id,"Охрана ".$status,$option1); $skip = true; } $pos = strripos($text , "GPS"); include_once(DIR_MODULES . 'telegram/telegram.class.php'); $telegram_module = new telegram(); $menu=array(); $objects = getObjectsByClass("Users"); foreach ($objects as $obj) { $ar2[] = $obj['TITLE']; $menu[]=$telegram_module->buildInlineKeyboardButton($text=$obj['TITLE'],"","gde_".$obj['TITLE'],"") ; $skip = true; } if ($pos > -1) { $option = array($menu) ; $keyb = $telegram_module->buildInlineKeyBoard($option); $content = array('chat_id' => $chat_id, 'text' => "Получение координат", 'reply_markup' => $keyb); $telegram_module->sendContent($content); $skip = true; } //Для того чтобы после обработки кода в событии прекратить дальнейшую обработку команд и шаблонов, надо в коде задать значение переменной $skip=true; //$skip = true; /* // \ud83d\udca1 лампочка // \ud83d\udcac комментарий // \u21a9\ufe0f назад // \ud83d\udcf8 камера // \ud83d\udee0 инструменты // \u2699 шестеренка // \ud83c\udf21 градусник // \ud83c\udf24 погода // \ud83d\udcdd отчеты // \ud83d\udc47 рука вниз // \ud83c\udf24 камера // \u041f\u043e\u0433 диван // \u043e\u0434\u0430 тарелка-ложки */
Подскажите, как все поправить, что бы команды проходили дальше?
Спасибо!
Я думаю, никто копаться не будет(
win10 connect https://connect.smartliving.ru/profile/303
- Eraser
- Сообщения: 1085
- Зарегистрирован: Вт окт 21, 2014 7:31 pm
- Откуда: Киров
- Благодарил (а): 14 раз
- Поблагодарили: 868 раз
- Контактная информация:
Re: Модуль "Telegram"
для начала попробуйте выключить этот обработчик, если будет работать как раньше, ищите проблему в немalex.frost писал(а): ↑Пн авг 27, 2018 7:49 pmДрузья, подскажите, почему команды из telegram в mjd не проходят?
Вроде бы разобрался с меню бота, остановился на таком варианте:Но все старые команды которые шли через api.ai или простые устройства больше не проходят.СпойлерПоказатьКод: Выделить всё
$this->sendAction($chat_id, "typing"); $em_l = json_decode('"'.'\ud83d\udca1'.'"'); $em_k = json_decode('"'.'\ud83d\udcac'.'"'); $em_n = json_decode('"'.'\u21a9\ufe0f'.'"'); $em_c = json_decode('"'.'\ud83d\udcf8'.'"'); $em_i = json_decode('"'.'\ud83d\udee0'.'"'); $em_s = json_decode('"'.'\u2694'.'"'); $em_g = json_decode('"'.'\ud83c\udf21'.'"'); $em_p = json_decode('"'.'\ud83c\udf24'.'"'); $em_o = json_decode('"'.'\ud83d\udce1'.'"'); $off = json_decode('"'.'\ud83c\udf11'.'"'); $on = json_decode('"'.'\ud83c\udf15'.'"'); $em_rd = json_decode('"'.'\ud83d\udc47'.'"'); $em_cam = json_decode('"'.'\ud83c\udfa5'.'"'); $em_kuh = json_decode('"'.'\ud83c\udfa5 \ud83c\udf7d'.'"'); //\ud83c\udf7d $em_kom = json_decode('"'.'\ud83c\udfa5 \ud83d\udecb'.'"'); //\ud83d\udecb $pos = strripos($text , "Меню"); if ($pos > -1) { $this->sendAction($chat_id, "typing"); $option = array( array($em_l." Свет", $em_c." Камеры"), array($em_p." Погода", $em_g." Климат"), array($em_o." GPS", $em_s." Охрана")); $this->sendMessageToUser($chat_id, $em_k." Выберите нужный пункт ".$em_rd, $option); $skip = true; } $pos = strripos($text , "Погода"); if ($pos > -1) { $this->sendAction($chat_id, "typing"); $option = array( array($em_l." Свет", $em_c." Камеры"), array($em_p." Погода", $em_g." Климат"), array($em_o." GPS", $em_s." Охрана")); $this->sendMessageToUser($chat_id, "Сейчас в Красногорске ".gg("krasnogorsk.temp"). " С. По ощущениям " .gg("krasnogorsk.soil_temp")." С. Ветер " .gg("krasnogorsk.wind_speed") . " М/c. ", $option); $skip = true; } $pos = strripos($text , "Климат"); if ($pos > -1) { $this->sendAction($chat_id, "typing"); $option = array( array($em_l." Свет", $em_c." Камеры"), array($em_p." Погода", $em_g." Климат"), array($em_o." GPS", $em_s." Охрана")); $climat = "Температура ".gg('XiSensor_temp02.Value')." С. Относительная влажность ".gg('XiSensor_humidity02.Value')." %. Атмосферное давление ".gg('XiSensor_pressure01.Value')." мм.рт.ст."; $this->sendMessageToUser($chat_id, $climat, $option); $skip = true; } $pos = strripos($text , "Свет"); if ($pos > -1) { $this->sendAction($chat_id, "typing"); if (gg("Relay1MegaD1.status") == 1) $ks = $on; else $ks = $off; if (gg("Relay2MegaD2.status") == 1) $ps = $on; else $ps = $off; if (gg("XiRelay05.status") == 1) $rs = $on; else $rs = $off; if (gg("miioRelay04.status") == 1) $ds = $on; else $ds = $off; if (gg("Relay2.status") == 1) $mk = $on; else $mk = $off; if (gg("Relay204.status") == 1) $dk = $on; else $dk = $off; $option = array( array($mk." Гостиная", $dk." Кухня (общий)" , $ks." Кухня (стол)"), array($ps."Коридор", $rs." Ванная",$ds."Подсветка в спальне" ), array("Меню") ); $this->sendMessageToUser($chat_id, $em_k." Можно включать и выключать свет:", $option); $skip = true; } $pos = strripos($text , "Кухня (стол)"); if ($pos > -1) { $this->sendAction($chat_id, "typing"); cm("Relay1MegaD1.switch"); if (gg("Relay1MegaD1.status") == 1) $ks = $on; else $ks = $off; if (gg("Relay2MegaD2.status") == 1) $ps = $on; else $ps = $off; if (gg("XiRelay05.status") == 1) $rs = $on; else $rs = $off; if (gg("miioRelay04.status") == 1) $ds = $on; else $ds = $off; if (gg("Relay2.status") == 1) $mk = $on; else $mk = $off; if (gg("Relay204.status") == 1) $dk = $on; else $dk = $off; $option = array( array($mk." Гостиная", $dk." Кухня (общий)" , $ks." Кухня (стол)"), array($ps."Коридор", $rs." Ванная",$ds."Подсветка в спальне" ), array("Меню") ); $this->sendMessageToUser($chat_id, $em_k." Можно включать и выключать свет:", $option); $skip = true; } $pos = strripos($text , "Коридор"); if ($pos > -1) { $this->sendAction($chat_id, "typing"); cm("Relay2MegaD2.switch"); if (gg("Relay1MegaD1.status") == 1) $ks = $on; else $ks = $off; if (gg("Relay2MegaD2.status") == 1) $ps = $on; else $ps = $off; if (gg("XiRelay05.status") == 1) $rs = $on; else $rs = $off; if (gg("miioRelay04.status") == 1) $ds = $on; else $ds = $off; if (gg("Relay2.status") == 1) $mk = $on; else $mk = $off; if (gg("Relay204.status") == 1) $dk = $on; else $dk = $off; $option = array( array($mk." Гостиная", $dk." Кухня (общий)" , $ks." Кухня (стол)"), array($ps."Коридор", $rs." Ванная",$ds."Подсветка в спальне" ), array("Меню") ); $this->sendMessageToUser($chat_id, $em_k." Можно включать и выключать свет:", $option); $skip = true; } $pos = strripos($text , "Ванная"); if ($pos > -1) { $this->sendAction($chat_id, "typing"); cm("XiRelay05.switch"); if (gg("Relay1MegaD1.status") == 1) $ks = $on; else $ks = $off; if (gg("Relay2MegaD2.status") == 1) $ps = $on; else $ps = $off; if (gg("XiRelay05.status") == 1) $rs = $off; else $rs = $on; if (gg("miioRelay04.status") == 1) $ds = $on; else $ds = $off; if (gg("Relay2.status") == 1) $mk = $on; else $mk = $off; if (gg("Relay204.status") == 1) $dk = $on; else $dk = $off; $option = array( array($mk." Гостиная", $dk." Кухня (общий)" , $ks." Кухня (стол)"), array($ps."Коридор", $rs." Ванная",$ds."Подсветка в спальне" ), array("Меню") ); $this->sendMessageToUser($chat_id, $em_k." Можно включать и выключать свет:", $option); $skip = true; } $pos = strripos($text , "Подсветка в спальне"); if ($pos > -1) { $this->sendAction($chat_id, "typing"); cm("miioRelay04.switch"); if (gg("Relay1MegaD1.status") == 1) $ks = $on; else $ks = $off; if (gg("Relay2MegaD2.status") == 1) $ps = $on; else $ps = $off; if (gg("XiRelay05.status") == 1) $rs = $on; else $rs = $off; if (gg("miioRelay04.status") == 1) $ds = $off; else $ds = $on; if (gg("Relay2.status") == 1) $mk = $on; else $mk = $off; if (gg("Relay204.status") == 1) $dk = $on; else $dk = $off; $option = array( array($mk." Гостиная", $dk." Кухня (общий)" , $ks." Кухня (стол)"), array($ps."Коридор", $rs." Ванная",$ds."Подсветка в спальне" ), array("Меню") ); $this->sendMessageToUser($chat_id, $em_k." Можно включать и выключать свет:", $option); $skip = true; } $pos = strripos($text , "Гостиная"); if ($pos > -1) { $this->sendAction($chat_id, "typing"); cm("XiRelay05.switch"); //$this->sendMessageToUser($chat_id, $em_l." Метод света в комнате"); if (gg("Relay1MegaD1.status") == 1) $ks = $on; else $ks = $off; if (gg("Relay2MegaD2.status") == 1) $ps = $on; else $ps = $off; if (gg("XiRelay05.status") == 1) $rs = $off; else $rs = $on; if (gg("miioRelay04.status") == 1) $ds = $on; else $ds = $off; if (gg("Relay2.status") == 1) $mk = $on; else $mk = $off; if (gg("Relay204.status") == 1) $dk = $on; else $dk = $off; $option = array( array($mk." Гостиная", $dk." Кухня (общий)" , $ks." Кухня (стол)"), array($ps."Коридор", $rs." Ванная",$ds."Подсветка в спальне" ), array("Меню") ); $this->sendMessageToUser($chat_id, $em_k." Можно включать и выключать свет:", $option); $skip = true; } $pos = strripos($text , "Кухня (общий)"); if ($pos > -1) { $this->sendAction($chat_id, "typing"); cm("XiRelay05.switch"); //$this->sendMessageToUser($chat_id, $em_l." Метод света в комнате"); if (gg("Relay1MegaD1.status") == 1) $ks = $on; else $ks = $off; if (gg("Relay2MegaD2.status") == 1) $ps = $on; else $ps = $off; if (gg("XiRelay05.status") == 1) $rs = $off; else $rs = $on; if (gg("miioRelay04.status") == 1) $ds = $on; else $ds = $off; if (gg("Relay2.status") == 1) $mk = $on; else $mk = $off; if (gg("Relay204.status") == 1) $dk = $on; else $dk = $off; $option = array( array($mk." Гостиная", $dk." Кухня (общий)" , $ks." Кухня (стол)"), array($ps."Коридор", $rs." Ванная",$ds."Подсветка в спальне" ), array("Меню") ); $this->sendMessageToUser($chat_id, $em_k." Можно включать и выключать свет:", $option); $skip = true; } $pos = strripos($text , "Камеры"); if ($pos > -1) { $this->sendAction($chat_id, "typing"); $option = array( array($em_kuh." Web-cam 1", $em_kom." Web-cam 2"), array("Меню") ); $this->sendMessageToUser($chat_id, $em_cam." Можно получить фото с камеры видеонаблюдения", $option); $skip = true; } $pos = strripos($text , "Web-cam 1"); if ($pos > -1) { $this->sendAction($chat_id, "upload_photo"); if ( gg('webcam_1.status') != 1 ) { if ( gg('minMsgLevel') == 1 ) sg('minMsgLevel', '2'); cm('webcam_1.turnOn'); setTimeOut('startSendPhotoScript', 'runScript("sendPhoto", array("chat_id"=>'.$chat_id.'));', 3); DebMes('Get Photo from ID ' . $chat_id); setTimeOut('webCamOff', 'cm("webcam_1.turnOff");if ( gg("minMsgLevel") == 2 ) sg("minMsgLevel", "1");', 10); } else { runScript('sendPhoto', array('chat_id'=>$chat_id)); } $skip = true; //$option = array( array($em_kuh." Web-cam 1", $em_kom." Web-cam 2"), array("Меню") ); //$this->sendMessageToUser($chat_id, $em_cam." Можно получить фото с камеры видеонаблюдения", $option); } $pos = strripos($text , "Web-cam 2"); if ($pos > -1) { $this->sendAction($chat_id, "typing"); $option = array( array($em_kuh." Web-cam 1", $em_kom." Web-cam 2"), array("Меню") ); $this->sendMessageToUser($chat_id, $em_cam." Камера в комнате не работает", $option); $skip = true; } $pos = strripos($text , "Охрана"); if ($pos > -1) { if (gg("SecurityArmedMode.active")){ sg("SecurityArmedMode.active",0); $status="выключена"; $st1=$off; }else{ sg("SecurityArmedMode.active",1); $status="включена"; $st1=$on; } $this->sendMessageToUser($chat_id,"Охрана ".$status,$option1); $skip = true; } $pos = strripos($text , "GPS"); include_once(DIR_MODULES . 'telegram/telegram.class.php'); $telegram_module = new telegram(); $menu=array(); $objects = getObjectsByClass("Users"); foreach ($objects as $obj) { $ar2[] = $obj['TITLE']; $menu[]=$telegram_module->buildInlineKeyboardButton($text=$obj['TITLE'],"","gde_".$obj['TITLE'],"") ; $skip = true; } if ($pos > -1) { $option = array($menu) ; $keyb = $telegram_module->buildInlineKeyBoard($option); $content = array('chat_id' => $chat_id, 'text' => "Получение координат", 'reply_markup' => $keyb); $telegram_module->sendContent($content); $skip = true; } //Для того чтобы после обработки кода в событии прекратить дальнейшую обработку команд и шаблонов, надо в коде задать значение переменной $skip=true; //$skip = true; /* // \ud83d\udca1 лампочка // \ud83d\udcac комментарий // \u21a9\ufe0f назад // \ud83d\udcf8 камера // \ud83d\udee0 инструменты // \u2699 шестеренка // \ud83c\udf21 градусник // \ud83c\udf24 погода // \ud83d\udcdd отчеты // \ud83d\udc47 рука вниз // \ud83c\udf24 камера // \u041f\u043e\u0433 диван // \u043e\u0434\u0430 тарелка-ложки */
Подскажите, как все поправить, что бы команды проходили дальше?
Спасибо!
ЗЫ $skip = true; прекращает дальнейшую обработку, те команда не будет передаватся дальше
- За это сообщение автора Eraser поблагодарили (всего 2):
- alex.frost (Вт авг 28, 2018 9:43 am) • consul (Пт окт 05, 2018 10:38 am)
- Рейтинг: 2.33%
Connect ---- Telegram
ЮMoney для благодарностей за помощь: 410012076838296 или нажмите кнопку "Спасибо"!!!
ЮMoney для благодарностей за помощь: 410012076838296 или нажмите кнопку "Спасибо"!!!
- Eraser
- Сообщения: 1085
- Зарегистрирован: Вт окт 21, 2014 7:31 pm
- Откуда: Киров
- Благодарил (а): 14 раз
- Поблагодарили: 868 раз
- Контактная информация:
Re: Модуль "Telegram"
в настройках указать путь куда файлы сохранять, и для пользователя в модуле дать разрешение "Загрузка"
Connect ---- Telegram
ЮMoney для благодарностей за помощь: 410012076838296 или нажмите кнопку "Спасибо"!!!
ЮMoney для благодарностей за помощь: 410012076838296 или нажмите кнопку "Спасибо"!!!
-
- Сообщения: 37
- Зарегистрирован: Чт апр 13, 2017 9:27 am
- Благодарил (а): 21 раз
- Поблагодарили: 2 раза
Re: Модуль "Telegram"
Привет, спасибо за модуль, пользуюсь давно по примерам из первого поста!
Решил сейчас прикрутить радио, работает но нету управления громкостью. Поиском пользовался - не нашел.
Подскажите как к этому примеру добавить например cm('RadioSetting.Control','vol30');
Кнопку RadioSetting_Control в меню добавил.
Решил сейчас прикрутить радио, работает но нету управления громкостью. Поиском пользовался - не нашел.
Подскажите как к этому примеру добавить например cm('RadioSetting.Control','vol30');
Кнопку RadioSetting_Control в меню добавил.
-
- Сообщения: 5
- Зарегистрирован: Ср июл 11, 2018 12:34 pm
- Откуда: Планета Земля
- Благодарил (а): 4 раза
- Поблагодарили: 1 раз
- Контактная информация:
Re: Модуль "Telegram"
Привет, постоянно в логе во такое
Код: Выделить всё
PHP Warning: count(): Parameter must be an array or an object that implements Countable in /var/www/modules/telegram/Telegram.php on line 1713
PHP 7.2.8-1+ubuntu18.04.1+deb.sury.org+1 (cli) (built: Jul 25 2018 10:52:19) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
with Zend OPcache v7.2.8-1+ubuntu18.04.1+deb.sury.org+1, Copyright (c) 1999-2018, by Zend Technologies
-
- Сообщения: 5
- Зарегистрирован: Пт сен 21, 2018 4:22 pm
- Благодарил (а): 0
- Поблагодарили: 1 раз
Re: Модуль "Telegram"
Доброго времени!
Помогите пожалуйста разобраться: пытаюсь настроить отправку графиков из Charts в телеграмм...
код таков (нарыл в одном из ранних сообщений в теме):
Результат нулевой - точнее JPG не создается (в чем видимо и состоит проблема), в случае отправки же отправки уже существующего файла с аналогичным именем все отправляется.
Лог
Буду признателен за ликбез.
С уважением, Александр
Помогите пожалуйста разобраться: пытаюсь настроить отправку графиков из Charts в телеграмм...
код таков (нарыл в одном из ранних сообщений в теме):
Код: Выделить всё
include_once(DIR_MODULES . 'telegram/telegram.class.php');
$telegram_module = new telegram();
$url = 'http://192.168.1.100/module/charts.html?id=1&height=600';
$path = '/var/www/files/chart.jpg';
file_put_contents($path, file_get_contents($url));
$telegram_module->sendImageToUser($chat_id ,'/var/www/files/chart.jpg');
Лог
Код: Выделить всё
116:38:27 Skip next processing message
16:38:27 Skip next processing events message
)
[curl_error] => couldn't open file "/var/www/files/chart.jpg"
[curl_error_code] => 26
[ok] =>
(
С уважением, Александр
- dioxin
- Сообщения: 175
- Зарегистрирован: Вт фев 14, 2017 4:43 pm
- Откуда: Иваново
- Благодарил (а): 15 раз
- Поблагодарили: 46 раз
Re: Модуль "Telegram"
А каким макаром тут (/var/www/files/chart.jpg) файлик создается?
Алиска прописана на Debian 11 | Мой канал на youtube по MajorDomo