Страница 54 из 191

Re: Модуль "Telegram"

Добавлено: Пн окт 02, 2017 1:54 pm
ekzorchik
alekszander писал(а):
ekzorchik писал(а):Всем привет!
У меня не получается заставить моего бота в Telegram отправлять команды, т.е. вот банальный скрипт:

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

$url = "http://Admin:Aa1234567@10.7.8.118/image/jpeg.cgi";
$img = "/var/www/cached/img/show.jpg";
$data = file_get_contents($url);
$handle = fopen($img, "w");
fwrite($handle, $data);
fclose($handle);
include_once(DIR_MODULES . 'telegram/telegram.class.php');
$telegram_module = new telegram();
$telegram_module→sendImageToUser(ID,'/var/www/cached/img/show.jpg','Я на работе');
В Telegram набираю команду "скрин" - в ответ тишина, если создать шаблон поведения с этим кодом и назвать "карт", то скрипт не отрабатывает пишет ошибку:

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

Fatal error: Function name must be a string in /var/www/modules/patterns/patterns.class.php(481) : eval()'d code on line 9
Но если писать команду вызывающую "Шаблон поведения", то она выполняется и отображается в боте, вижу это через программу Telegram на смартфоне, так и по логам:

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

pi@raspberrypi:~ $ tail -f /var/www/debmes/log_*-telegram.php.txt
==> /var/www/debmes/log_2017-09-30-telegram.php.txt <==
07:16:00  Send to ID - Всходит солнце
07:16:00  Send to ID - Режим Темное время суток выключен.
07:36:55  Send to ID - Внешний ай-пи адрес IP-ADDRESSS

Помогите!!!

В общем, заработало только через "Шаблон поведения"

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

$url = "http://Admin:Aa1234567@10.7.8.118/dms.jpg";
$jpg = "/var/www/cached/img/show.jpg";

$data = file_get_contents($url);
$handle = fopen($img, "w");
fwrite($handle, $data);
fclose($handle);

$img = '/var/www/cached/img/show.jpg';
include_once(DIR_MODULES . 'telegram/telegram.class.php');
$telegram_module = new telegram();
$telegram_module→sendFileToAdmin($img);
при наборе команды «Карт» в канал бота Telegram приходит изображение с камеры.
У вас в коде ошибка
Указано:

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

$url = "http://Admin:Aa1234567@10.7.8.118/image/jpeg.cgi";
$img = "/var/www/cached/img/show.jpg";
$data = file_get_contents($url);
$handle = fopen($img, "w");
fwrite($handle, $data);
fclose($handle);
include_once(DIR_MODULES . 'telegram/telegram.class.php');
$telegram_module = new telegram();
$telegram_module→sendImageToUser(ID,'/var/www/cached/img/show.jpg','Я на работе'); 
А должно быть:

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

$url = "http://Admin:Aa1234567@10.7.8.118/image/jpeg.cgi";
$img = "/var/www/cached/img/show.jpg";
$data = file_get_contents($url);
$handle = fopen($img, "w");
fwrite($handle, $data);
fclose($handle);
include_once(DIR_MODULES . 'telegram/telegram.class.php');
$telegram_module = new telegram();
$telegram_module→sendImageToUser($chat_id,'/var/www/cached/img/show.jpg','Я на работе'); 
вместо $chat_id просто укажите id пользователя в модуле
Нет не ошибка, это я специально указал ID для форума, пробывал как реальный ID, так $chat_id.

Итого: сейчас я имею, что только через "Шаблоны поведения" я могу писать боту в Telegram, команды из приложения Telegram установленного модуля, как со смартфона так и планшета не отрабатывают, даже банальный say.

Re: Модуль "Telegram"

Добавлено: Пн окт 02, 2017 6:26 pm
millor83
помогите пожалуйста.
пытаюсь реализовать чтоб все сообщения (где требуется его отправка) шли в telegram, но только тому пользователю который написал команду (запрос)
Как не пытался не могу получить $chat_id
(единственно где его получаю, это в событиях самого модуля telegram)

include_once(DIR_MODULES . 'telegram/telegram.class.php');
$telegram_module = new telegram();
$telegram_module->sendMessageToUser($chat_id, "test message");

Re: Модуль "Telegram"

Добавлено: Чт окт 05, 2017 6:48 pm
S_Nick
При установке с маркета
admin.php?md=panel&action=market&ok_msg=Plugin+%27telegram%27+%282017-09-05+15%3A57%3A23%29+installed.

Parse error: syntax error, unexpected '[' in C:\_majordomo\htdocs\modules\telegram\Telegram.php on line 64

Re: Модуль "Telegram"

Добавлено: Пт окт 06, 2017 1:09 pm
skysilver
millor83 писал(а):помогите пожалуйста.
пытаюсь реализовать чтоб все сообщения (где требуется его отправка) шли в telegram, но только тому пользователю который написал команду (запрос)
Как не пытался не могу получить $chat_id (единственно где его получаю, это в событиях самого модуля telegram)
Давайте подробности, а то не понятно до конца что и как.

Re: Модуль "Telegram"

Добавлено: Пт окт 13, 2017 9:37 am
skysilver
Eraser, в инлайн-клавиатуре есть поддержка всплывающих сообщений (answerCallbackQuery)?

Скрин
СпойлерПоказать
photo_2017-10-13_09-33-01.jpg
photo_2017-10-13_09-33-01.jpg (12.17 КБ) 9093 просмотра

Re: Модуль "Telegram"

Добавлено: Пт окт 13, 2017 11:06 am
Eraser
skysilver писал(а):Eraser, в инлайн-клавиатуре есть поддержка всплывающих сообщений (answerCallbackQuery)?

Скрин
СпойлерПоказать
Вложение photo_2017-10-13_09-33-01.jpg больше недоступно
да можно такое
в новой версии сделал более удобный вызов данной функции
function sendAnswerCallbackQuery($callback_id, $text, $show_alert = false )
  • $show_alert = false - всплывающее уведомление (закрывается само)
  • $show_alert = true - всплывающее уведомление требующее подтверждения ( с кнопкой OK)
вот пример использования

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

if ($callback == 'Callback_kitchenLed')
{
 cm("kitchenLed.switch");
 //3C D8 11 DF
 $off = json_decode('"'.'\ud83c\udf11'.'"');
 //D83C DF15
 $on = json_decode('"'.'\uD83C\uDF15'.'"');
 $text = "Свет на кухне ";
 if (gg("kitchenLed.on") == 1)
    $text .= "включен ". $on;
 else
      $text .= "выключен ". $off;
 $this->sendAnswerCallbackQuery($callback_id,$text, false);
} 

Re: Модуль "Telegram"

Добавлено: Вт окт 24, 2017 11:29 am
Eraser
Управляем модулем "Онлайн радио" через телеграм
Выкладываю может кому пригодится

Автоматически подгружаются все станции из модуля

Для удобства выложил экспортированные команду "Радио" и обработчик события "CallbackRadio".
Команду и обработчик импортировать в интерфейсе модуля "Telegram", кнопка "Инструменты".

Re: Модуль "Telegram"

Добавлено: Вт окт 24, 2017 2:00 pm
Pacific
Обалденный модуль, спасибо.

1. Можно ли сделать проверку кода при сохранении в обработчике команд? Приходится ловить баги в своем быдлокоде в левом скрипте, а потом уже копировать код в обработчик команд сабжа.
2. Можно ли добавить обработку тега <br> ?

Re: Модуль "Telegram"

Добавлено: Вт окт 24, 2017 2:33 pm
Eraser
Pacific писал(а):Обалденный модуль, спасибо.

1. Можно ли сделать проверку кода при сохранении в обработчике команд? Приходится ловить баги в своем быдлокоде в левом скрипте, а потом уже копировать код в обработчик команд сабжа.
2. Можно ли добавить обработку тега <br> ?
1. скоро выложу обновление
2. какую обработку?

Re: Модуль "Telegram"

Добавлено: Вт окт 24, 2017 6:54 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>