Страница 55 из 193

Re: Модуль "Telegram"

Добавлено: Вт окт 24, 2017 8:09 pm
Eraser
Pacific писал(а):
Eraser писал(а):2. какую обработку?
Сорри, неправильно выразился. Не обработку, а поддержку.
Тег <br> не поддерживается.
Из раздела Помощь модуля:
SPOILERSPOILER_SHOW
Текст может содержать 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Температура: "; 

Re: Модуль "Telegram"

Добавлено: Ср окт 25, 2017 10:45 am
vitt76
Вопросик.
Я сделал в модуле пользователей-членов семьи и включил им историю с приоритетом 3, чтобы спам не сыпался в телегу.
Теперь вижу такую картину, например, дочь пишет в телеграм "Включи чайник", система отвечает "Готово", через простое устройство.

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

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

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

В итоге, какая-то фигня, подскажите, как это все нужно правильно настроить, чтобы у пользователя был полноценный диалог с системой, а я не получал обрывки чужих ответов? Спасибо!

Re: Модуль "Telegram"

Добавлено: Ср окт 25, 2017 10:55 am
Eraser
vitt76 писал(а):Вопросик.
Я сделал в модуле пользователей-членов семьи и включил им историю с приоритетом 3, чтобы спам не сыпался в телегу.
Теперь вижу такую картину, например, дочь пишет в телеграм "Включи чайник", система отвечает "Готово", через простое устройство.
Cистема должна отвечать "Готово" на выполненную команду не через say("Готово"), а прямо же в команде через return "Готово";
Тогда ответ получит только тот кто отправил команду

Re: Модуль "Telegram"

Добавлено: Ср окт 25, 2017 11:19 am
vitt76
Eraser, так-то да, но
1. простые устройства сами по себе отвечают say, а где оно там в них зашито - только Сергей знает
2. если отвечает мой скрипт, откуда я узнаю, команда пришла из телеги или из кнопки на сцене? или можно в любом случае поставить return, который сработает только для вызова из телеграм?

Re: Модуль "Telegram"

Добавлено: Ср окт 25, 2017 6:29 pm
kamerons
Подскажите, как отправлять свойство вот такого объекта ThisComputer.tempCpu в телегу каждых n минут?

Re: Модуль "Telegram"

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

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

Поясню, что вывод происходит в истории МЖД, а не в клиенте Телеграмм.
Наверно, так не должно быть?

Re: Модуль "Telegram"

Добавлено: Ср окт 25, 2017 6:59 pm
savenko_egor
kamerons писал(а):Подскажите, как отправлять свойство вот такого объекта ThisComputer.tempCpu в телегу каждых n минут?
Запускать сценарий который будет передавать значение свойства в телегу.

Re: Модуль

Добавлено: Ср окт 25, 2017 7:33 pm
kamerons
warik писал(а):
kamerons писал(а):Подскажите, как отправлять свойство вот такого объекта ThisComputer.tempCpu в телегу каждых n минут?
Запускать сценарий который будет передавать значение свойства в телегу.
Можно поконкретней. Не совсем знающий(

Re: Модуль

Добавлено: Ср окт 25, 2017 7:35 pm
savenko_egor
kamerons писал(а):
warik писал(а):
kamerons писал(а):Подскажите, как отправлять свойство вот такого объекта ThisComputer.tempCpu в телегу каждых n минут?
Запускать сценарий который будет передавать значение свойства в телегу.
Можно поконкретней. Не совсем знающий(
Как-то так
SPOILERSPOILER_SHOW
Изображение

Re: Модуль

Добавлено: Чт окт 26, 2017 1:56 am
kamerons
warik,
я имел ввиду вот такое примерно

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

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