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

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

Модератор: immortal

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

Re: Модуль "Telegram"

Сообщение Eraser » Вт окт 24, 2017 8:09 pm

Pacific писал(а):
Eraser писал(а):2. какую обработку?
Сорри, неправильно выразился. Не обработку, а поддержку.
Тег <br> не поддерживается.
Из раздела Помощь модуля:
СпойлерПоказать
Текст может содержать HTML разметку. Поддерживаются следующие теги:
<b>bold</b>, <strong>bold</strong>
<i>italic</i>, <em>italic</em>
<a href="URL">inline URL</a>
<code>inline fixed-width code</code>
<pre>pre-formatted fixed-width code block</pre>
Поддержки <br> нет в самом API ботов телеграм. Новую строку можно сделать с помощью \n.

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

$text= "<b>Погода</b>\nТемпература: "; 
За это сообщение автора Eraser поблагодарил:
Pacific (Вт окт 24, 2017 10:49 pm)
Рейтинг: 1.16%
Connect ---- Telegram
ЮMoney для благодарностей за помощь: 410012076838296 или нажмите кнопку "Спасибо"!!! :D
Аватара пользователя
vitt76
Сообщения: 372
Зарегистрирован: Вс апр 09, 2017 2:36 pm
Благодарил (а): 101 раз
Поблагодарили: 51 раз

Re: Модуль "Telegram"

Сообщение vitt76 » Ср окт 25, 2017 10:45 am

Вопросик.
Я сделал в модуле пользователей-членов семьи и включил им историю с приоритетом 3, чтобы спам не сыпался в телегу.
Теперь вижу такую картину, например, дочь пишет в телеграм "Включи чайник", система отвечает "Готово", через простое устройство.

Её телеграм:
"Полина: Включи чайник"

Системный лог:
"Полина: Включи чайник
Алиса: готово"

Мой телеграм (я админ):
"Готово".

В итоге, какая-то фигня, подскажите, как это все нужно правильно настроить, чтобы у пользователя был полноценный диалог с системой, а я не получал обрывки чужих ответов? Спасибо!
Broadlink + Orange Pi PC ARMBIAN 5.31
Аватара пользователя
Eraser
Сообщения: 1085
Зарегистрирован: Вт окт 21, 2014 7:31 pm
Откуда: Киров
Благодарил (а): 14 раз
Поблагодарили: 869 раз
Контактная информация:

Re: Модуль "Telegram"

Сообщение Eraser » Ср окт 25, 2017 10:55 am

vitt76 писал(а):Вопросик.
Я сделал в модуле пользователей-членов семьи и включил им историю с приоритетом 3, чтобы спам не сыпался в телегу.
Теперь вижу такую картину, например, дочь пишет в телеграм "Включи чайник", система отвечает "Готово", через простое устройство.
Cистема должна отвечать "Готово" на выполненную команду не через say("Готово"), а прямо же в команде через return "Готово";
Тогда ответ получит только тот кто отправил команду
За это сообщение автора Eraser поблагодарил:
vitt76 (Ср окт 25, 2017 11:19 am)
Рейтинг: 1.16%
Connect ---- Telegram
ЮMoney для благодарностей за помощь: 410012076838296 или нажмите кнопку "Спасибо"!!! :D
Аватара пользователя
vitt76
Сообщения: 372
Зарегистрирован: Вс апр 09, 2017 2:36 pm
Благодарил (а): 101 раз
Поблагодарили: 51 раз

Re: Модуль "Telegram"

Сообщение vitt76 » Ср окт 25, 2017 11:19 am

Eraser, так-то да, но
1. простые устройства сами по себе отвечают say, а где оно там в них зашито - только Сергей знает
2. если отвечает мой скрипт, откуда я узнаю, команда пришла из телеги или из кнопки на сцене? или можно в любом случае поставить return, который сработает только для вызова из телеграм?
Broadlink + Orange Pi PC ARMBIAN 5.31
kamerons
Сообщения: 15
Зарегистрирован: Сб апр 08, 2017 11:25 am
Благодарил (а): 6 раз
Поблагодарили: 3 раза

Re: Модуль "Telegram"

Сообщение kamerons » Ср окт 25, 2017 6:29 pm

Подскажите, как отправлять свойство вот такого объекта ThisComputer.tempCpu в телегу каждых n минут?
Pacific
Сообщения: 116
Зарегистрирован: Чт май 28, 2015 9:40 pm
Откуда: Вёска пад Мiнскам
Благодарил (а): 60 раз
Поблагодарили: 7 раз

Re: Модуль "Telegram"

Сообщение Pacific » Ср окт 25, 2017 6:44 pm

Eraser, спасибо за отлов ошибок в коде в командах модуля.
Поэкспериментировал с простейшими Событиями.
1.Код
say($text);
Алиса пишет 2 сообщения:
- мой текст;
- неизвестная команда.
2.Код
say($text);
return($text);
Алиса пишет 3 сообщения:
- мой текст;
- мой текст;
- неизвестная команда.

Если снять флажок Включить, то мой текст не выводится, но выводится
- неизвестная команда.

Поясню, что вывод происходит в истории МЖД, а не в клиенте Телеграмм.
Наверно, так не должно быть?
россыпь датчиков и серв <-> 20+ ESP8266(WiFi-IoT) <-> Malinka Pi3 :)
Аватара пользователя
savenko_egor
Сообщения: 705
Зарегистрирован: Вс авг 03, 2014 8:17 pm
Откуда: Украина, Запорожье
Благодарил (а): 108 раз
Поблагодарили: 147 раз
Контактная информация:

Re: Модуль "Telegram"

Сообщение savenko_egor » Ср окт 25, 2017 6:59 pm

kamerons писал(а):Подскажите, как отправлять свойство вот такого объекта ThisComputer.tempCpu в телегу каждых n минут?
Запускать сценарий который будет передавать значение свойства в телегу.
kamerons
Сообщения: 15
Зарегистрирован: Сб апр 08, 2017 11:25 am
Благодарил (а): 6 раз
Поблагодарили: 3 раза

Re: Модуль

Сообщение kamerons » Ср окт 25, 2017 7:33 pm

warik писал(а):
kamerons писал(а):Подскажите, как отправлять свойство вот такого объекта ThisComputer.tempCpu в телегу каждых n минут?
Запускать сценарий который будет передавать значение свойства в телегу.
Можно поконкретней. Не совсем знающий(
Аватара пользователя
savenko_egor
Сообщения: 705
Зарегистрирован: Вс авг 03, 2014 8:17 pm
Откуда: Украина, Запорожье
Благодарил (а): 108 раз
Поблагодарили: 147 раз
Контактная информация:

Re: Модуль

Сообщение savenko_egor » Ср окт 25, 2017 7:35 pm

kamerons писал(а):
warik писал(а):
kamerons писал(а):Подскажите, как отправлять свойство вот такого объекта ThisComputer.tempCpu в телегу каждых n минут?
Запускать сценарий который будет передавать значение свойства в телегу.
Можно поконкретней. Не совсем знающий(
Как-то так
СпойлерПоказать
Изображение
Последний раз редактировалось savenko_egor Чт окт 26, 2017 9:13 am, всего редактировалось 1 раз.
kamerons
Сообщения: 15
Зарегистрирован: Сб апр 08, 2017 11:25 am
Благодарил (а): 6 раз
Поблагодарили: 3 раза

Re: Модуль

Сообщение kamerons » Чт окт 26, 2017 1:56 am

warik,
я имел ввиду вот такое примерно

$tempCpu=gg('ThisComputer.tempCpu');
include_once(DIR_MODULES . 'telegram/telegram.class.php');
$telegram_module = new telegram();
$telegram_module->sendMessageToAdmin("$tempCpu*");

С криворуким пониманием впихнул этот код в нюминут, работает. Но заставить раз в 5 мин или n мин ума не хватает. Вы уж простите, если не ясно объясняю "хотелку"
Ответить