Разработка дополнительных модулей, подключение различных приложений.
Модератор: immortal
-
ekzorchik
- Сообщения: 9
- Зарегистрирован: Сб сен 16, 2017 7:55 am
-
Благодарил (а):
0
-
Поблагодарили:
0
-
Контактная информация:
Сообщение
ekzorchik » Пн окт 02, 2017 1:54 pm
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.
-
millor83
- Сообщения: 1
- Зарегистрирован: Пн окт 02, 2017 6:15 pm
-
Благодарил (а):
0
-
Поблагодарили:
0
Сообщение
millor83 » Пн окт 02, 2017 6:26 pm
помогите пожалуйста.
пытаюсь реализовать чтоб все сообщения (где требуется его отправка) шли в telegram, но только тому пользователю который написал команду (запрос)
Как не пытался не могу получить $chat_id
(единственно где его получаю, это в событиях самого модуля telegram)
include_once(DIR_MODULES . 'telegram/telegram.class.php');
$telegram_module = new telegram();
$telegram_module->sendMessageToUser($chat_id, "test message");
-
S_Nick
- Сообщения: 67
- Зарегистрирован: Сб сен 30, 2017 7:44 pm
- Откуда: Минск
-
Благодарил (а):
9 раз
-
Поблагодарили:
53 раза
-
Контактная информация:
Сообщение
S_Nick » Чт окт 05, 2017 6:48 pm
При установке с маркета
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
-
skysilver
- Сообщения: 3006
- Зарегистрирован: Чт авг 21, 2014 8:28 am
- Откуда: Киров, Россия
-
Благодарил (а):
400 раз
-
Поблагодарили:
1750 раз
-
Контактная информация:
Сообщение
skysilver » Пт окт 06, 2017 1:09 pm
millor83 писал(а):помогите пожалуйста.
пытаюсь реализовать чтоб все сообщения (где требуется его отправка) шли в telegram, но только тому пользователю который написал команду (запрос)
Как не пытался не могу получить $chat_id (единственно где его получаю, это в событиях самого модуля telegram)
Давайте подробности, а то не понятно до конца что и как.
-
skysilver
- Сообщения: 3006
- Зарегистрирован: Чт авг 21, 2014 8:28 am
- Откуда: Киров, Россия
-
Благодарил (а):
400 раз
-
Поблагодарили:
1750 раз
-
Контактная информация:
Сообщение
skysilver » Пт окт 13, 2017 9:37 am
Eraser, в инлайн-клавиатуре есть поддержка всплывающих сообщений (answerCallbackQuery)?
Скрин

- photo_2017-10-13_09-33-01.jpg (12.17 КБ) 8688 просмотров
-
Eraser
- Сообщения: 1085
- Зарегистрирован: Вт окт 21, 2014 7:31 pm
- Откуда: Киров
-
Благодарил (а):
14 раз
-
Поблагодарили:
868 раз
-
Контактная информация:
Сообщение
Eraser » Пт окт 13, 2017 11:06 am
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);
}
-
Вложения
-

- baloon inline answer.png (6.33 КБ) 8679 просмотров
- За это сообщение автора Eraser поблагодарили (всего 3):
- skysilver (Пт окт 13, 2017 11:17 am) • consul (Пт окт 13, 2017 1:59 pm) • mike330xd (Пт авг 21, 2020 2:55 pm)
-
Eraser
- Сообщения: 1085
- Зарегистрирован: Вт окт 21, 2014 7:31 pm
- Откуда: Киров
-
Благодарил (а):
14 раз
-
Поблагодарили:
868 раз
-
Контактная информация:
Сообщение
Eraser » Вт окт 24, 2017 11:29 am
Управляем модулем "Онлайн радио" через телеграм
Выкладываю может кому пригодится
Автоматически подгружаются все станции из модуля
Для удобства выложил экспортированные команду "Радио" и обработчик события "CallbackRadio".
Команду и обработчик импортировать в интерфейсе модуля "Telegram", кнопка "Инструменты".
-
Вложения
-
- Command_Telegram_Радио.txt
- Команда "Радио"
- (1011 байт) 1088 скачиваний
-
- Event_Telegram_CallbackRadio.txt
- Обработчик CallbackRadio
- (739 байт) 1026 скачиваний
-

- radio.png (24.75 КБ) 8508 просмотров
-
Pacific
- Сообщения: 116
- Зарегистрирован: Чт май 28, 2015 9:40 pm
- Откуда: Вёска пад Мiнскам
-
Благодарил (а):
60 раз
-
Поблагодарили:
7 раз
Сообщение
Pacific » Вт окт 24, 2017 2:00 pm
Обалденный модуль, спасибо.
1. Можно ли сделать проверку кода при сохранении в обработчике команд? Приходится ловить баги в своем быдлокоде в левом скрипте, а потом уже копировать код в обработчик команд сабжа.
2. Можно ли добавить обработку тега <br> ?
россыпь датчиков и серв <->
20+ ESP8266(WiFi-IoT) <->
Malinka Pi3 
-
Eraser
- Сообщения: 1085
- Зарегистрирован: Вт окт 21, 2014 7:31 pm
- Откуда: Киров
-
Благодарил (а):
14 раз
-
Поблагодарили:
868 раз
-
Контактная информация:
Сообщение
Eraser » Вт окт 24, 2017 2:33 pm
Pacific писал(а):Обалденный модуль, спасибо.
1. Можно ли сделать проверку кода при сохранении в обработчике команд? Приходится ловить баги в своем быдлокоде в левом скрипте, а потом уже копировать код в обработчик команд сабжа.
2. Можно ли добавить обработку тега <br> ?
1. скоро выложу обновление
2. какую обработку?
-
Pacific
- Сообщения: 116
- Зарегистрирован: Чт май 28, 2015 9:40 pm
- Откуда: Вёска пад Мiнскам
-
Благодарил (а):
60 раз
-
Поблагодарили:
7 раз
Сообщение
Pacific » Вт окт 24, 2017 6:54 pm
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>
россыпь датчиков и серв <->
20+ ESP8266(WiFi-IoT) <->
Malinka Pi3 