[Модуль] Telegram (telegram)

Разработка дополнительных модулей, подключение различных приложений.

Модератор: immortal

Аватара пользователя
xor
Сообщения: 2038
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 284 раза
Поблагодарили: 629 раз

Re: [Модуль] Telegram (telegram)

Сообщение xor » Ср дек 05, 2018 3:33 pm

Mikik писал(а):После последнего обновления и кардинальной переделке Say, SayTo и т.д. стали твориться странные вещи в модуле. Вывод сообщений идёт в произвольном порядке, а не в том, как записано в коде. Иногда проглатываются целые строки.
Это не из-за телеграма, КМК, а из-за повального кэширования ТТС-сообщений. Попробуйте проиграться с приоритетами хуков на события say и тд

Отправлено с моего Redmi 4X через Tapatalk

За это сообщение автора xor поблагодарил:
Mikik (Ср дек 05, 2018 4:54 pm)
Рейтинг: 1.16%
NightShock
Сообщения: 44
Зарегистрирован: Пт авг 24, 2018 6:09 pm
Благодарил (а): 7 раз
Поблагодарили: 23 раза

Re: [Модуль] Telegram (telegram)

Сообщение NightShock » Вт дек 11, 2018 7:17 pm

Всем привет. Зарегистрировал бота. Нашел, нажал Старт (/start). Ответа не последовало. Вставил токен бота в маджердома. Нажал обновить - написанно цикл остановлен. Это из-за блокировок такая хрень или я криворукий?
Аватара пользователя
Eraser
Сообщения: 1085
Зарегистрирован: Вт окт 21, 2014 7:31 pm
Откуда: Киров
Благодарил (а): 14 раз
Поблагодарили: 868 раз
Контактная информация:

Re: [Модуль] Telegram (telegram)

Сообщение Eraser » Вт дек 11, 2018 9:56 pm

NightShock писал(а):
Вт дек 11, 2018 7:17 pm
Всем привет. Зарегистрировал бота. Нашел, нажал Старт (/start). Ответа не последовало. Вставил токен бота в маджердома. Нажал обновить - написанно цикл остановлен. Это из-за блокировок такая хрень или я криворукий?
надо запустить цикл телеграм, и проверить чтобы в логе телеграм не было ошибок
Connect ---- Telegram
ЮMoney для благодарностей за помощь: 410012076838296 или нажмите кнопку "Спасибо"!!! :D
viktor6
Сообщения: 273
Зарегистрирован: Вс авг 20, 2017 1:46 am
Благодарил (а): 142 раза
Поблагодарили: 13 раз

Re: Модуль "Telegram"

Сообщение viktor6 » Ср дек 12, 2018 11:49 pm

immortal писал(а):
Сб дек 02, 2017 8:23 pm
Вариант меню:
В командах делаем 2 записи:
меню - пустое
Назад - скрытое с кодом

Код: Выделить всё

return "Выберите действие:";
СпойлерПоказать
Выделение_065.png
В события создаем событие
messageHook
СпойлерПоказать
Выделение_066.png
со следующим кодом
messageHookПоказать

Код: Выделить всё

//коды смайлов в кодировке utf-8  
$off = hex2bin('F09F8C91');
$on  = hex2bin('F09F8C95');
$cam = hex2bin('F09F8EA5');    
$pog = hex2bin('E29B85');
$sta = hex2bin('F09F92AC');
$st1 = $off;
$st2 = $off;
if(gg("security")){$st1=$on;}
if(gg("Econom")){$st2=$on;}
//меню камер
$option1 = array(array($cam."Камеры", $pog."Погода", $sta."Статус"),array($st1."Охрана", $st2."Эконом"),array("Назад"));
//основное меню
$option2 = array(array($cam."Камера1", $cam."Камера2", $cam."Камера3", $cam."Камера4"),array($cam."Камера5", $cam."Камера6", $cam."Камера7"),array("меню"));
//режим экономии
$pos = strripos($text , "Эконом");
if ($pos > -1) {
     if (gg("Econom")){
     sg("Econom",0);
    $status="отключен";
    $st2=$off;
    }else{
     sg("Econom",1);
    $status="включен";
    $st2=$on;
    }
     $option1 = array(array($cam."Камеры", $pog."Погода", $sta."Статус"),array($st1."Охрана", $st2."Эконом"),array("Назад"));
     $this->sendMessageToUser($chat_id,"Режим экономии ".$status,$option1);
       $skip = true;
}
//режим охраны
$pos = strripos($text , "Охрана");
if ($pos > -1) {
     if (gg("security")){
     sg("security",0);
    $status="выключена";
    $st1=$off;
    }else{
     sg("security",1);
    $status="включена";
    $st1=$on;
    }
     $option1 = array(array($cam."Камеры", $pog."Погода", $sta."Статус"),array($st1."Охрана", $st2."Эконом"),array("Назад"));
     $this->sendMessageToUser($chat_id,"Охрана ".$status,$option1);
       $skip = true;
}


//вызов меню камер
$pos = strripos($text , "Камеры");
if ($pos > -1) {
     $this->sendMessageToUser($chat_id,"Выберите камеру:",$option2);
       $skip = true;
}
//отправка изображения с камер
$pos = strripos($text , "Камера");
if ($pos > -1) {
     $channel=substr($text, -1);
    $url="rtsp://192.168.1.10:554/user=admin&password=&channel=".$channel."&stream=0.sdp?";  
    $jpg="/var/www/cached/snapshot.jpg";
    exec('ffmpeg -y -i "'.$url.'" -f image2 -vframes 1 '.$jpg);
    $this->sendImageToUser($chat_id,$jpg,"Камера ".$channel,$option2);
   $skip = true;
}
//показать погоду
$pos = strripos($text , "Погода");
if ($pos > -1) {
    $weather=     "Сейчас".hex2bin('F09F8CA1').gg('ow_fact.temperature')."°C,".gg('ow_fact.weather_type').",".hex2bin('F09F92A8').gg('ow_fact.wind_direction_my')." ".gg('ow_fact.wind_speed')."км/ч, ".hex2bin('F09F92A7').gg('ow_fact.humidity')."%, ".hex2bin('F09F92AA').round(gg('ow_fact.pressure_mmhg'),0);
    $weather.="\r\nЗавтра".hex2bin('F09F8CA1').gg('ow_day1.temperature')."°C,".gg('ow_day1.weather_type').",".hex2bin('F09F92A8').gg('ow_day1.wind_direction_my')." ".gg('ow_day1.wind_speed')."км/ч, ".hex2bin('F09F92A7').gg('ow_day1.humidity')."%, ".hex2bin('F09F92AA').gg('ow_day1.pressure_mmhg');
    $weather.="\r\n".substr(gg('ow_day2.date'),0,6).hex2bin('F09F8CA1').gg('ow_day2.temperature')."°C,".gg('ow_day2.weather_type').",".hex2bin('F09F92A8').gg('ow_day2.wind_direction_my')." ".gg('ow_day2.wind_speed')."км/ч, ".hex2bin('F09F92A7').gg('ow_day2.humidity')."%, ".hex2bin('F09F92AA').round(gg('ow_day2.pressure_mmhg'),0);
    $weather.="\r\n".substr(gg('ow_day3.date'),0,6).hex2bin('F09F8CA1').gg('ow_day3.temperature')."°C,".gg('ow_day3.weather_type').",".hex2bin('F09F92A8').gg('ow_day3.wind_direction_my')." ".gg('ow_day3.wind_speed')."км/ч, ".hex2bin('F09F92A7').gg('ow_day3.humidity')."%, ".hex2bin('F09F92AA').round(gg('ow_day3.pressure_mmhg'),0);
    $this->sendMessageToUser($chat_id, $weather, $option1);
    $skip = true;
}
//показать статус
$pos = strripos($text , "Статус");
if ($pos > -1) {
    $weather=         "1.Зал:".hex2bin('F09F8CA1').gg('tempD1.temp')."°C,".hex2bin('F09F92A6').gg('vlD1.temp')."%,".hex2bin('F09F948B').gg('bat1')/1000;
    $weather.="\r\n2.Комната:".hex2bin('F09F8CA1').gg('tempD2.temp')."°C,".hex2bin('F09F92A6').gg('vlD2.temp')."%,".hex2bin('F09F948B').gg('bat2')/1000;
    $weather.="\r\n3.Веранда:".hex2bin('F09F8CA1').gg('tempD3.temp')."°C,".hex2bin('F09F92A6').gg('vlD3.temp')."%,".hex2bin('F09F948B').gg('bat3')/1000;
    $weather.= "\r\n4.Туалет:".hex2bin('F09F8CA1').gg('tempD4.temp')."°C,".hex2bin('F09F92A6').gg('vlD4.temp')."%,".hex2bin('F09F948B').gg('bat4')/1000;
    $weather.=    "\r\n5.Душ:".hex2bin('F09F8CA1').gg('tempD5.temp')."°C,".hex2bin('F09F92A6').gg('vlD5.temp')."%,".hex2bin('F09F948B').gg('bat5')/1000;
    $weather.= "\r\n6.Парная:".hex2bin('F09F8CA1').gg('tempD6.temp')."°C,".hex2bin('F09F92A6').gg('vlD6.temp')."%";
    $this->sendMessageToUser($chat_id, $weather, $option1);
    $skip = true;
}
//показать меню
echo $text;
$pos = strripos($text , "меню");
if ($pos > -1) {
     $this->sendMessageToUser($chat_id,"Выберите действие:",$option1);
     $skip = true;
}
менюПоказать
menu1.jpg
menu2.jpg
почемуто не активируется режим Охрана и Эконом
Raspberry Pi3, с образа от Сергея 3.34
Аватара пользователя
Andy111
Сообщения: 25
Зарегистрирован: Вт апр 25, 2017 1:17 pm
Благодарил (а): 32 раза
Поблагодарили: 2 раза

Re: [Модуль] Telegram (telegram)

Сообщение Andy111 » Вс дек 16, 2018 1:24 am

День добрый!
Прокси серверы дохнут с завидной регулярностью...
Вот бы было здорово, если модуль мог бы работать со списком прокси серверов: один не работает, пошёл дальше...
И ещё... как-то можно что-бы модуль telegram.org на доступность проверял и иконкой показывал, типа, как "основной цикл" или "интернет" на основной странице?
papin
Сообщения: 1
Зарегистрирован: Чт фев 01, 2018 9:59 am
Благодарил (а): 1 раз
Поблагодарили: 0

Re: [Модуль] Telegram (telegram)

Сообщение papin » Пт дек 21, 2018 3:13 pm

Всем привет! После недавних обновлений в телеграм стало приходить все, что пишет Алиса, в том числе и отсчет времени каждый час. Кто в курсе как это поправить? Облазил все разделы МД, но ничего не нашел, кроме как в "Общие настройки->Обработчики". Но там какое бы число я не поставил, все равно приходят уведомления.
Mikhail72
Сообщения: 26
Зарегистрирован: Вт июн 14, 2016 11:26 pm
Откуда: Тюмень
Благодарил (а): 5 раз
Поблагодарили: 6 раз

Re: [Модуль] Telegram (telegram)

Сообщение Mikhail72 » Сб дек 22, 2018 11:53 am

papin писал(а):
Пт дек 21, 2018 3:13 pm
Всем привет! После недавних обновлений в телеграм стало приходить все, что пишет Алиса, в том числе и отсчет времени каждый час. Кто в курсе как это поправить? Облазил все разделы МД, но ничего не нашел, кроме как в "Общие настройки->Обработчики". Но там какое бы число я не поставил, все равно приходят уведомления.
Зайдите в модуле телеграм в редактирование пользователя которому приходят ненужные сообщения и увеличьте "Приоритет истории".
КартинкаПоказать
telega.jpg
telega.jpg (36.05 КБ) 4094 просмотра
Подскажите, пожалуйста, хочу реализовать уведомление об открытых воротах и чтобы это сообщение отправлялось всем пользователям с кнопкой при нажатии которой, запускается скрипт закрытия. Реализовал пока так
КодПоказать

Код: Выделить всё

$em_kal = json_decode('"'.'\ud83d\udeaa'.'"');//Дверь
$em_cl = json_decode('"'.'\ud83d\udd12'.'"');// замок закрытый
$em_alarm = json_decode('"'.'\u26a0'.'"');//Воскл. знак
if((gg('Lgate.status') == 0) || (gg('Rgate.status') == 0)){
Say(("Ворота открыты больше 5 минут"),1);
include_once(DIR_MODULES . 'telegram/telegram.class.php');
$telegram_module = new telegram();
    $option = array( array($telegram_module->buildInlineKeyboardButton($text=$em_cl." Закрыть","","Callback_Gates_Cl","")));
    $keyb = $telegram_module->buildInlineKeyBoard($option);

    $content = array('chat_id' => User1, 'text' => $em_alarm." Ворота открыты больше 5 минут".$em_alarm, 'reply_markup' => $keyb);
    $telegram_module->sendContent($content);  
    $skip = true;
include_once(DIR_MODULES . 'telegram/telegram.class.php');
$telegram_module = new telegram();
    $option = array( array($telegram_module->buildInlineKeyboardButton($text=$em_cl." Закрыть","","Callback_Gates_Cl","")));
    $keyb = $telegram_module->buildInlineKeyBoard($option);

    $content = array('chat_id' =>User2, 'text' => $em_alarm." Ворота открыты больше 5 минут".$em_alarm, 'reply_markup' => $keyb);
    $telegram_module->sendContent($content);  
    $skip = true;
}
Возможно ли это сделать по типу SendMessageToAll?
За это сообщение автора Mikhail72 поблагодарил:
papin (Пн дек 24, 2018 12:01 pm)
Рейтинг: 1.16%
PAV
Сообщения: 949
Зарегистрирован: Пт дек 06, 2013 11:30 am
Откуда: Москва
Благодарил (а): 68 раз
Поблагодарили: 94 раза

Re: [Модуль] Telegram (telegram)

Сообщение PAV » Вт дек 25, 2018 1:17 pm

Народ, а может уже кто реализовал закачку torrent через телеграм?
Есть сервер с Алисой
Есть сервер с transmission

Как настроить модуль Телеграм, чтобы при получении торрент файла начиналась закачка этого торрента?

Самое простое,что приходит в голову, чтобы модуль копировал торрент в папку, откуда трансмишен подхватывает сам, но тут упираюсь в то, что сервер другой и нужно там как-то хитро сертификаты прописывать для общения, пока не получилось.

В идеале бы что-нить типа командной строки, чтобы можно было бы воспользоваться remote GUI transmissoin.
ученик
Сообщения: 230
Зарегистрирован: Чт фев 12, 2015 2:34 pm
Благодарил (а): 36 раз
Поблагодарили: 6 раз

Re: [Модуль] Telegram (telegram)

Сообщение ученик » Вт дек 25, 2018 2:22 pm

Народ, как работать с прокси? Брал с сайта denull несколько штук ни один не работает пишет not found 404 а что там нет не пишет уже 5 шт сменил

Отправлено с моего HUAWEI VNS-L21 через Tapatalk

server i5, OS-Ubuntu Server 16., 1-wire
php 7, AMS,broadlink rm2,rm3 mini.
kostya4000
Сообщения: 39
Зарегистрирован: Чт ноя 16, 2017 7:47 am
Благодарил (а): 13 раз
Поблагодарили: 12 раз

Re: [Модуль] Telegram (telegram)

Сообщение kostya4000 » Вт дек 25, 2018 3:12 pm

Поднял локально tor и privoxy и прописал в настройках свой локальный прокси и все работает.
Ответить