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

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

Модератор: immortal

RomanAndr
Сообщения: 15
Зарегистрирован: Пт янв 01, 2021 3:40 pm
Откуда: Беларусь
Благодарил (а): 1 раз
Поблагодарили: 20 раз

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

Сообщение RomanAndr » Пн мар 01, 2021 4:52 pm

Всем привет, хочу поделится моим вариантом меню.
Меню включает в себя:
  • Получение погоды (модуль openwethermap)
  • Получение графика температуры (любое свойство с историей (модуль Charts))
  • Курс валют (получение / обновление курсов валют (модуль ExchangeRates))
  • Управление online radio (включение / выключение радиостанций, управление громкостью проигрывания (модуль Online Radio))
  • Возможность просмотра и обновление информации о луне. (MoonPhase)
  • Получение случаенных цитат (Quotes)
  • Получение новостей с RSS каналов(RSS Channels)
  • Возможность просматривать статус хостов. (модуль Устройства Online)
  • Управление освещением (Простое Устройство Реле/Управляемый Выключатель) (Включение / Выключение, просмотр статуса; Управление разделено по комнатам (объект Room); Все объекты берутся из вашей БД).
  • Возможность запустить любой сценарий (список берётся из ваших сценариев).
  • Получение изображений с ip камер
  • Возможность испытать удачу (мини игра, подбрасывает кубик)
  • Интерактивная клавиатура
Как выглядит меню:
Фотографии менюПоказать
МенюПоказать
Изображение
ПогодаПоказать
Список погодыПоказать
Изображение
На сегодняПоказать
Изображение
На завтраПоказать
Изображение
На послезавтраПоказать
Изображение
УправлениеПоказать
Изображение
ДругоеПоказать
Список функцийПоказать
Изображение
Активность в туалетеПоказать
Изображение
График температурыПоказать
Изображение
Курс валютПоказать
Изображение
РадиоПоказать
Управление радиостанциямиПоказать
Изображение
Управление звукомПоказать
Изображение
Статус устройствПоказать
Изображение
КамерыПоказать
Изображение
Фаза луныПоказать
Изображение
СценарииПоказать
Выбор сценарияПоказать
ИгрыПоказать
1Показать
Изображение
Изображение
Изображение
2Показать
Изображение
Изображение
Изображение
3Показать
Изображение
Изображение
Изображение
4Показать
Изображение
Изображение
Изображение
ЦитатыПоказать
Изображение
Изображение
ПользовательскиеПоказать
Изображение
НовостиПоказать
Изображение
Изображение
Изображение
Как сделать также:
ТуториалПоказать
Функции ботаПоказать
  1. Скачиваем архив
    ФайлПоказать
    TeleramMenu.zip
    Архив с необходимыми файлами.
    (18.92 КБ) 129 скачиваний
  2. Импортируем в события файлы .txt
    Панель импорта событийПоказать
    Изображение
  3. Включаем галочки у всех событий (если у чего-нибудь выключены).
  4. Добавляем команду "Меню" с пустым содержанием.
    Команда "Меню"Показать
    Изображение
RSS каналПоказать
  1. Создаём группу(или канал) в telegram'е.
    Создание группы в teleram'еПоказать
    Изображение
  2. Добавляем туда нашего бота.
    Добавление ботаПоказать
    Изображение
  3. Пишем команду /start.
  4. В настройках бота добавляем группе права администратора.
    Добавление прав администратораПоказать
    Изображение
    Изображение
  5. Импортируем в сценарии файл.json
    Панель импорта сценариевПоказать
    Изображение
  6. В сценарии изменяем id на тот, что у вашего канала.
    Изменение idПоказать
    Изображение
Готово!
Чтобы запустить меню, напишите "Меню".
P.SПоказать
P.S Все настройки меню легко можно изменять под себя, т.к. каждая функция лежит в отдельном ивенте.
P.S.S Версия от 24.02.22 Убрана многочисленная copy-paste, связанная с управлением.
Что планируется сделать:
ПланыПоказать
ГотовоПоказать
  • Возможность получения и просмотра информации о луне. (Готово)
  • Возможность запустить любой сценарий. (Готово)
  • Возможность просматривать устройства online. (Готово)
  • Получение случаенных цицат. (Готово)
  • Получение новостей из RSS каналов. (Готово)
  • Добавить другие игры с использованием других смайликов с рандомом (игровой автомат, баскетбол, дротик). (Готово)
  • Сделать управление простыми устройствами, по комнатам (освещением). (Готово)
ИдеяПоказать
  • Возможность простого добавления собственных команд с аргументами.
  • Получение любого графика из модуля Charts.
  • Работа с картами GPS, обработках ивентов, приходящих от них. Например кто-то пришёл домой - отправим в телеграм (думаю удобно).
  • Получение информации по состоянию системы (доступные обновления, имеющиеся ошибки и т.д.)
  • Автоматическое удаление сообщение (подчистка чата) для выделения активного сообщения от бота. То есть при отправке мною команды, бот будет удалять моё сообщение, а также своё предыдущие, посылая ответ на команду. Получим 1 активное сообщение.
  • И что-нибудь ещё.. ( :idea: предлагайте идеи :idea: )
Последний раз редактировалось RomanAndr Чт мар 10, 2022 12:27 pm, всего редактировалось 24 раза.
За это сообщение автора RomanAndr поблагодарили (всего 16):
andrey040670 (Пн мар 01, 2021 5:48 pm) • tnk2341 (Пн мар 01, 2021 11:02 pm) • dimka (Вт мар 02, 2021 11:39 am) • Gasinskiy (Чт мар 04, 2021 9:32 am) • kolobokserver (Чт мар 04, 2021 7:15 pm) • ebramariys (Сб мар 13, 2021 12:53 pm) • astotskiy (Вс мар 14, 2021 12:07 pm) • Hold (Пт мар 19, 2021 11:11 am) • ~220v (Пн мар 22, 2021 1:04 am) • Molostov (Ср мар 24, 2021 12:53 am) и ещё 6
Рейтинг: 18.6%
:idea: Ubuntu Server 22.04.1 LTS (alpha, PHP 7.4, скрипт установки, Noolite, ESP8266 (WiFi IoT), Tuya, Яндекс Алиса)
:arrow: VK| Telegram| Connect
grifindorec
Сообщения: 72
Зарегистрирован: Вт фев 02, 2021 12:54 pm
Благодарил (а): 18 раз
Поблагодарили: 6 раз

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

Сообщение grifindorec » Вс мар 21, 2021 2:57 pm

Подскажите плз, клавиатура бота должна появляться в группе или это не реализовано? В чате с ботом все норм появляется и отрабатывает, но в группе клавиатура не появляется. Только команды вручную вбивать.
Logrus
Сообщения: 2077
Зарегистрирован: Пт апр 07, 2017 12:20 pm
Благодарил (а): 313 раз
Поблагодарили: 456 раз

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

Сообщение Logrus » Вс мар 21, 2021 3:33 pm

grifindorec писал(а):
Вс мар 21, 2021 2:57 pm
Подскажите плз, клавиатура бота должна появляться в группе или это не реализовано? В чате с ботом все норм появляется и отрабатывает, но в группе клавиатура не появляется. Только команды вручную вбивать.
у ботов два вида клавиатур, меню только в чате, инлайн клавиатуры везде, но если постишь в канал и привязана к ней группа обсуждения то там и инлайн не будет
За это сообщение автора Logrus поблагодарил:
grifindorec (Вс мар 21, 2021 5:19 pm)
Рейтинг: 1.16%
Telegram | Блог
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
RiverTIka
Сообщения: 1
Зарегистрирован: Вт мар 23, 2021 11:22 pm
Благодарил (а): 1 раз
Поблагодарили: 0

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

Сообщение RiverTIka » Вт мар 23, 2021 11:44 pm

Здравствуйте всем. Я новичок, захотел управлять модулями через телеграмм бота. Хотел добавить событие изменения статуса датчиков, например регистрацию движения или распознавание дыма. Естественно, такие уведомления должны присылаться не по команде, а по триггеру. Но не нашел, как это сделать, те события в настройках работают только при получении сообщений. Так как это можно сделать?
Устройства связаны по mqtt, изменение состояния фиксируется в свойстве объекта. И при изменении его нужно отправить.
RomanAndr
Сообщения: 15
Зарегистрирован: Пт янв 01, 2021 3:40 pm
Откуда: Беларусь
Благодарил (а): 1 раз
Поблагодарили: 20 раз

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

Сообщение RomanAndr » Ср мар 24, 2021 12:33 am

RiverTIka писал(а):
Вт мар 23, 2021 11:44 pm
Здравствуйте всем. Я новичок, захотел управлять модулями через телеграмм бота. Хотел добавить событие изменения статуса датчиков, например регистрацию движения или распознавание дыма. Естественно, такие уведомления должны присылаться не по команде, а по триггеру. Но не нашел, как это сделать, те события в настройках работают только при получении сообщений. Так как это можно сделать?
Устройства связаны по mqtt, изменение состояния фиксируется в свойстве объекта. И при изменении его нужно отправить.
Можно создать метод, который будет вызываться когда изменяется свойство объекта или по другому в других скриптах (cm('Object.Method');) и в методе:
КодПоказать

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

include(DIR_MODULES . 'telegram/telegram.class.php');
$telegram_module = new telegram();
$telegram_module->sendMessageToAdmin("Message about something..");
или сразу отправлять свойство:
КодПоказать

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

include(DIR_MODULES . 'telegram/telegram.class.php');
$telegram_module = new telegram();
$telegram_module->sendMessageToAdmin(gg('Object.property'));
За это сообщение автора RomanAndr поблагодарил:
RiverTIka (Ср мар 24, 2021 1:01 pm)
Рейтинг: 1.16%
:idea: Ubuntu Server 22.04.1 LTS (alpha, PHP 7.4, скрипт установки, Noolite, ESP8266 (WiFi IoT), Tuya, Яндекс Алиса)
:arrow: VK| Telegram| Connect
laptevd
Сообщения: 12
Зарегистрирован: Чт апр 16, 2020 6:57 pm
Благодарил (а): 2 раза
Поблагодарили: 5 раз

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

Сообщение laptevd » Сб апр 03, 2021 12:50 am

RomanAndr писал(а):
Пн мар 01, 2021 4:52 pm
Всем привет, хочу поделится моим вариантом меню.
Меню включает в себя:
  • Получение погоды (модуль openwethermap)
  • Получение графика температуры (любое свойство с историей (модуль Charts))
  • Курс валют (получение / обновление курсов валют (модуль ExchangeRates))
  • Управление online radio (включение / выключение радиостанций, управление громкостью проигрывания (модуль Online Radio))
  • Возможность просмотра и обновление информации о луне. (MoonPhase)
  • Получение случаенных цитат (Quotes)
  • Получение новостей с RSS каналов(RSS Channels)
  • Возможность просматривать статус хостов. (модуль Устройства Online)
  • Управление освещением (включение различных методов объектов (turnOn, turnOff, switch))
  • Возможность запустить любой сценарий (список берётся из ваших сценариев).
  • Просмотр состояний светильников (объектов со свойством status)
  • Получение свойств любого объекта
  • Получение изображений с ip камер
  • Возможность испытать удачу (мини игра, подбрасывает кубик)
  • Интерактивная клавиатура
Как выглядит меню:
Фотографии менюПоказать
МенюПоказать
Изображение
ПогодаПоказать
Список погодыПоказать
Изображение
На сегодняПоказать
Изображение
На завтраПоказать
Изображение
На послезавтраПоказать
Изображение
УправлениеПоказать
Изображение
ДругоеПоказать
Список функцийПоказать
Изображение
Активность в туалетеПоказать
Изображение
График температурыПоказать
Изображение
Курс валютПоказать
Изображение
РадиоПоказать
Управление радиостанциямиПоказать
Изображение
Управление звукомПоказать
Изображение
Статус устройствПоказать
Изображение
КамерыПоказать
Изображение
Фаза луныПоказать
Изображение
СценарииПоказать
Выбор сценарияПоказать
ИгрыПоказать
1Показать
Изображение
Изображение
Изображение
2Показать
Изображение
Изображение
Изображение
3Показать
Изображение
Изображение
Изображение
4Показать
Изображение
Изображение
Изображение
ЦитатыПоказать
Изображение
Изображение
ПользовательскиеПоказать
Изображение
НовостиПоказать
Изображение
Изображение
Изображение
Как сделать также:
ТуториалПоказать
Функции ботаПоказать
  1. Скачиваем архив
    ФайлПоказать
    TeleramMenu.zip
  2. Импортируем в события файлы .txt
    Панель импорта событийПоказать
    Изображение
  3. Включаем галочки у всех событий (если у чего-нибудь выключены).
  4. Добавляем команду "Меню" с пустым содержанием.
    Команда "Меню"Показать
    Изображение
RSS каналПоказать
  1. Создаём группу(или канал) в telegram'е.
    Создание группы в teleram'еПоказать
    Изображение
  2. Добавляем туда нашего бота.
    Добавление ботаПоказать
    Изображение
  3. Пишем команду /start.
  4. В настройках бота добавляем группе права администратора.
    Добавление прав администратораПоказать
    Изображение
    Изображение
  5. Импортируем в сценарии файл.json
    Панель импорта сценариевПоказать
    Изображение
  6. В сценарии изменяем id на тот, что у вашего канала.
    Изменение idПоказать
    Изображение
Готово!
Чтобы запустить меню, напишите "Меню".
P.SПоказать
P.S Все настройки меню легко можно изменять под себя, т.к. каждая функция лежит в отдельном ивенте.
P.S.S Это новая версия с переделанной структурой для более лёгкой настройки кода.
Что планируется сделать:
ПланыПоказать
  • Возможность получения и просмотра информации о луне. (Готово)
  • Возможность запустить любой сценарий. (Готово)
  • Возможность просматривать устройства online. (Готово)
  • Получение случаенных цицат. (Готово)
  • Получение новостей из RSS каналов. (Готово)
  • Добавить другие игры с использованием других смайликов с рандомом (игровой автомат, баскетбол, дротик). (Готово)
  • И что-нибудь ещё.. ( :idea: предлагайте идеи :idea: )
Прошу прощения за глупый вопрос, а как вставить runScript в отрывке кода?
У меня при замене на ран скрипт, при переходе в эту менюшку, нужный сценарий без нажатия кнопки запускается автоматом

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

	$this->sendContent(array(
						'chat_id' => $chat_id,
						'text' => "Управление освещением в подвале:",
						'reply_markup' => $this->buildInlineKeyBoard(
							array(
								array(
				                	$this->buildInlineKeyboardButton(
					            		$text = $indiactor_emoji[gg($devices[0][1].".status")].$devices[0][0],
					                	"",
					                	
"Control*"[runScript($devices[0][1])]
Последний раз редактировалось laptevd Сб апр 03, 2021 5:58 pm, всего редактировалось 3 раза.
За это сообщение автора laptevd поблагодарили (всего 2):
andrey040670 (Сб апр 03, 2021 10:32 am) • slax (Ср янв 19, 2022 12:01 pm)
Рейтинг: 2.33%
Аватара пользователя
Nail
Сообщения: 373
Зарегистрирован: Пн мар 05, 2018 7:09 am
Откуда: Самара
Благодарил (а): 174 раза
Поблагодарили: 28 раз

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

Сообщение Nail » Сб апр 03, 2021 10:08 am

RomanAndr писал(а):
Пн мар 01, 2021 4:52 pm
Всем привет, хочу поделится моим вариантом меню.
Меню включает в себя:

[*]Получение изображений с ip камер
а поделитесь когда получения в телегу видео 5-6 сек с камеры с "модуля ONVIF" ,от ДД "Motion04.status ".
Вложения
Screenshot_19.jpg
Screenshot_19.jpg (13.09 КБ) 3796 просмотров
Mini AMD A6 1450 Quad-core.Ubuntu Server 18.04 (64-bit). MegaD. Zigbee2mqtt+SLS ZigBee Gateway. Broadlink.
Аватара пользователя
Sapizdullin
Сообщения: 408
Зарегистрирован: Сб фев 18, 2017 9:47 am
Откуда: Земля
Благодарил (а): 54 раза
Поблагодарили: 61 раз

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

Сообщение Sapizdullin » Сб апр 03, 2021 9:59 pm

Nail писал(а):
Сб апр 03, 2021 10:08 am


а поделитесь когда получения в телегу видео 5-6 сек с камеры с "модуля ONVIF" ,от ДД "Motion04.status ".
В методе обработки датчика пишете:

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

exec('ffmpeg -y -i "rtsp://192.168.ХХХ.ХХХ:554/Streaming/Channels/102" -t 10 -f mp4 -vcodec libx264 -pix_fmt yuv420p -an -r 15 /var/www/cms/cached/out1.mp4'); // Свой путь до камеры - цифра 15 это время.
$img='/var/www/cms/cached/out1.mp4'; 
include_once(DIR_MODULES . 'telegram/telegram.class.php'); 
$telegram_module = new telegram(); 
$telegram_module->sendVideoToUser(ХХХХХХХХ, $img, 'Камера на калитку'); //Умный дом Сделай сам}
Вместо иксов свои данные.
За это сообщение автора Sapizdullin поблагодарил:
Nail (Вс апр 04, 2021 3:59 pm)
Рейтинг: 1.16%
Intel(R) Core(TM) i7-6700, Debian 9 "Stretch", Zoneminder, Avreg.
Аватара пользователя
Nail
Сообщения: 373
Зарегистрирован: Пн мар 05, 2018 7:09 am
Откуда: Самара
Благодарил (а): 174 раза
Поблагодарили: 28 раз

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

Сообщение Nail » Вс апр 04, 2021 3:29 pm

Sapizdullin писал(а):
Сб апр 03, 2021 9:59 pm

Вместо иксов свои данные.
/out1.mp4- файл нужно создать?
За это сообщение автора Nail поблагодарил:
Jimbik (Пт ноя 05, 2021 5:03 pm)
Рейтинг: 1.16%
Mini AMD A6 1450 Quad-core.Ubuntu Server 18.04 (64-bit). MegaD. Zigbee2mqtt+SLS ZigBee Gateway. Broadlink.
Аватара пользователя
Sapizdullin
Сообщения: 408
Зарегистрирован: Сб фев 18, 2017 9:47 am
Откуда: Земля
Благодарил (а): 54 раза
Поблагодарили: 61 раз

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

Сообщение Sapizdullin » Вс апр 04, 2021 3:42 pm

Nail писал(а):
Вс апр 04, 2021 3:29 pm
Sapizdullin писал(а):
Сб апр 03, 2021 9:59 pm

Вместо иксов свои данные.
/out1.mp4- файл нужно создать?
Любое название..
За это сообщение автора Sapizdullin поблагодарил:
Nail (Вс апр 04, 2021 3:59 pm)
Рейтинг: 1.16%
Intel(R) Core(TM) i7-6700, Debian 9 "Stretch", Zoneminder, Avreg.
Ответить