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

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

Модератор: immortal

gans
Сообщения: 37
Зарегистрирован: Вс янв 06, 2013 2:57 pm
Благодарил (а): 15 раз
Поблагодарили: 3 раза

Re: Модуль "Telegram"

Сообщение gans » Ср апр 12, 2017 10:13 am

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

Re: Модуль "Telegram"

Сообщение Eraser » Ср апр 12, 2017 10:30 am

gans писал(а):Приветствую, подглядел тут интересную идею по получению картинки с камеры. Делаю вот такой сценарий:
Изображение
и запускаю его из модуля телеграмма вот такой командой:
Изображение
Подскажите как сделать так что бы ответ приходил только тому кто спрашивал?
Нужно в скрипт передавать $chat_id
например так

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

runScript("sendTelegram",array("id"=>$chat_id));
ну и сам скрипт "sendTelegram"

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

$message="test";
$chat_id=$params['id'];
include_once(DIR_MODULES . 'telegram/telegram.class.php');
$telegram_module = new telegram();
$telegram_module->sendMessageToUser($chat_id, $message);
За это сообщение автора Eraser поблагодарил:
gans (Ср апр 12, 2017 5:18 pm)
Рейтинг: 1.16%
Connect ---- Telegram
ЮMoney для благодарностей за помощь: 410012076838296 или нажмите кнопку "Спасибо"!!! :D
gans
Сообщения: 37
Зарегистрирован: Вс янв 06, 2013 2:57 pm
Благодарил (а): 15 раз
Поблагодарили: 3 раза

Re: Модуль "Telegram"

Сообщение gans » Ср апр 12, 2017 5:19 pm

Огромное спасибо, всё заработало.
Аватара пользователя
woow
Сообщения: 821
Зарегистрирован: Пн июл 04, 2016 8:46 am
Откуда: Mazeikiai
Благодарил (а): 125 раз
Поблагодарили: 46 раз

Re: Модуль "Telegram"

Сообщение woow » Вт апр 25, 2017 11:59 pm

Модуль запустил, а как дальше? Мне нужно, чтобы на телеграмму пришло сообщение, когда температура упадёт ниже 3 градусов. Модуль телеграмм запущен. Создал:
Шаблон поведения-На основе значений свойств-
Связанный объект улица-Свойство tempr_out -
Условие < Значение 3
Выполнить при совпадении Сценарий:Alarm_tempr

Сценарий-
Сенсоры: Alarm_tempr и тут мои фантазии закончились. Правильную ли методику выбрал для данной цели?
Что сделать, чтобы отправить сообщение при спаде температуры?
Raspberry Pi 3B+
Аватара пользователя
xor
Сообщения: 2039
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 286 раз
Поблагодарили: 629 раз

Re: Модуль "Telegram"

Сообщение xor » Ср апр 26, 2017 12:54 am

для woow
В телеграм теперь вам приходят сообщения от Алисы?
Вы, наверное, это настроили. Примем для ясности, что вы установили отправку истории в телеграм с приоритетом 2.
Определитесь, как часто вы хотите получать сообщение о том, что температура меньше 3 градусов.
Допустим, раз в час .
Тогда в ClockChime.onNewHour
добавьте

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

//if(timeBetween("09:00", "22:00")){  // уберите комент, если не хотите ночью сообщения получать
if(gg('улица.tempr_out')<3{
  say('температура на улице '.gg('улица.tempr_out').'C',2); //2 - чтобы в телеграм ушло
}
//}
и будет вам счастье.
За это сообщение автора xor поблагодарил:
Samir77 (Вс авг 29, 2021 9:03 pm)
Рейтинг: 1.16%
Аватара пользователя
Eraser
Сообщения: 1085
Зарегистрирован: Вт окт 21, 2014 7:31 pm
Откуда: Киров
Благодарил (а): 14 раз
Поблагодарили: 869 раз
Контактная информация:

Re: Модуль "Telegram"

Сообщение Eraser » Ср апр 26, 2017 8:11 am

woow писал(а):Модуль запустил, а как дальше? Мне нужно, чтобы на телеграмму пришло сообщение, когда температура упадёт ниже 3 градусов. Модуль телеграмм запущен. Создал:
Шаблон поведения-На основе значений свойств-
Связанный объект улица-Свойство tempr_out -
Условие < Значение 3
Выполнить при совпадении Сценарий:Alarm_tempr

Сценарий-
Сенсоры: Alarm_tempr и тут мои фантазии закончились. Правильную ли методику выбрал для данной цели?
Что сделать, чтобы отправить сообщение при спаде температуры?
такое проще всего реализовать сделав метод у объекта, который выполняется при изменении свойства tempr_out
пример кода в методе:

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

if ($params['NEW_VALUE'] == $params['OLD_VALUE'])
 return;
$text = "Температура < 3";
if ($params['NEW_VALUE'] <3)
   runScript("sendTelegram",array("id"=>'user_id',"msg"=>$text));
данный метод позволяет узнать, что температура снизилась без задержки, как только пришли данные с датчиков

кроме этого можно выполнять еще какие либо проверки, или сделать чтобы сообщение отправлялось только один раз при переходе через указанную границу
За это сообщение автора Eraser поблагодарил:
Amarok (Чт апр 27, 2017 7:25 am)
Рейтинг: 1.16%
Connect ---- Telegram
ЮMoney для благодарностей за помощь: 410012076838296 или нажмите кнопку "Спасибо"!!! :D
Аватара пользователя
Amarok
Сообщения: 1425
Зарегистрирован: Пт дек 14, 2012 12:24 pm
Откуда: Россия, Нижняя Тура
Благодарил (а): 460 раз
Поблагодарили: 126 раз
Контактная информация:

Re: Модуль "Telegram"

Сообщение Amarok » Ср апр 26, 2017 8:32 am

Eraser писал(а):сделать чтобы сообщение отправлялось только один раз при переходе через указанную границу
Как?
Алиска живёт на Ubuntu Server 14.04.3 LTS
connect, группа в Telegram, Яндекс.Деньги для благодарностей за помощь: 41001355945165
Аватара пользователя
Eraser
Сообщения: 1085
Зарегистрирован: Вт окт 21, 2014 7:31 pm
Откуда: Киров
Благодарил (а): 14 раз
Поблагодарили: 869 раз
Контактная информация:

Re: Модуль "Telegram"

Сообщение Eraser » Ср апр 26, 2017 8:33 am

Amarok писал(а):
Eraser писал(а):сделать чтобы сообщение отправлялось только один раз при переходе через указанную границу
Как?

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

if ($params['NEW_VALUE'] < 3 && $params['OLD_VALUE'] >= 3)
   runScript("sendTelegram",array("id"=>'user_id',"msg"=>$text)); 
За это сообщение автора Eraser поблагодарил:
Amarok (Чт апр 27, 2017 7:25 am)
Рейтинг: 1.16%
Connect ---- Telegram
ЮMoney для благодарностей за помощь: 410012076838296 или нажмите кнопку "Спасибо"!!! :D
Аватара пользователя
woow
Сообщения: 821
Зарегистрирован: Пн июл 04, 2016 8:46 am
Откуда: Mazeikiai
Благодарил (а): 125 раз
Поблагодарили: 46 раз

Re: Модуль "Telegram"

Сообщение woow » Ср апр 26, 2017 10:43 pm

Eraser писал(а):
woow писал(а):Модуль запустил, а как дальше? Мне нужно, чтобы на телеграмму пришло сообщение, когда температура упадёт ниже 3 градусов. Модуль телеграмм запущен. Создал:
Шаблон поведения-На основе значений свойств-
Связанный объект улица-Свойство tempr_out -
Условие < Значение 3
Выполнить при совпадении Сценарий:Alarm_tempr

Сценарий-
Сенсоры: Alarm_tempr и тут мои фантазии закончились. Правильную ли методику выбрал для данной цели?
Что сделать, чтобы отправить сообщение при спаде температуры?
такое проще всего реализовать сделав метод у объекта, который выполняется при изменении свойства tempr_out
пример кода в методе:

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

if ($params['NEW_VALUE'] == $params['OLD_VALUE'])
 return;
$text = "Температура < 3";
if ($params['NEW_VALUE'] <3)
   runScript("sendTelegram",array("id"=>'user_id',"msg"=>$text));
данный метод позволяет узнать, что температура снизилась без задержки, как только пришли данные с датчиков

кроме этого можно выполнять еще какие либо проверки, или сделать чтобы сообщение отправлялось только один раз при переходе через указанную границу
Спасибо, и как очередной раз до конца не дапёр, к чему этот метод привязать, что к объекту то понял, но сидел ждал температура падает, а телеграмм не получаю.
тут по своим понятиям настроить
f ($params['NEW_VALUE'] == $params['OLD_VALUE'])
return;
$text = "tempr_out < 3";
if ($params['NEW_VALUE'] <3)
runScript("sendTelegram",array("id"=>'1234567 **это что я получил при настройке телеграмм?**',"msg"=>$O.M.G. как холодно!!!));
Raspberry Pi 3B+
Аватара пользователя
Eraser
Сообщения: 1085
Зарегистрирован: Вт окт 21, 2014 7:31 pm
Откуда: Киров
Благодарил (а): 14 раз
Поблагодарили: 869 раз
Контактная информация:

Re: Модуль "Telegram"

Сообщение Eraser » Чт апр 27, 2017 7:56 am

woow писал(а): Спасибо, и как очередной раз до конца не дапёр, к чему этот метод привязать, что к объекту то понял, но сидел ждал температура падает, а телеграмм не получаю.
тут по своим понятиям настроить
f ($params['NEW_VALUE'] == $params['OLD_VALUE'])
return;
$text = "tempr_out < 3";
if ($params['NEW_VALUE'] <3)
runScript("sendTelegram",array("id"=>'1234567 **это что я получил при настройке телеграмм?**',"msg"=>$O.M.G. как холодно!!!));
метод создается в объекте в котором сохраняется температура
в настройках свойства температуры есть "Запускать метод при изменении (не обязательно)", в нем надо указать ваш метод

кроме этого, чтобы заработал мой пример кода, нужен сценарий "sendTelegram" для отправки в telegram

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

//runScript("sendTelegram",array("id"=>'ИмяПользователя',"msg"=>'ТекстСообщения'));
$message=$params['msg'];
$chat_id=$params['id'];
include_once(DIR_MODULES . 'telegram/telegram.class.php');
$telegram_module = new telegram();
$telegram_module->sendMessageToUser($chat_id, $message);
 
За это сообщение автора Eraser поблагодарил:
woow (Чт апр 27, 2017 9:14 pm)
Рейтинг: 1.16%
Connect ---- Telegram
ЮMoney для благодарностей за помощь: 410012076838296 или нажмите кнопку "Спасибо"!!! :D
Ответить