Jump to content
solalex

Отправка сообщений в Телеграм

Recommended Posts

Как я понимаю для того чтоб отправлять в телегу скрин с помощью curl - нужно создать реакцию, допустим:

Время
Все дни, с 17:00-23:59
Все дни, с 00:00-10:00

Условия
Детекция в любой зоне любой камеры

Действия
Сохранить кадр в папку
и
Запустить внешнюю программу

Первое действие - создаст скрин события, второе действие - батник с командой для curl, который возьмет этот скрин и отправит в телеграм, суть верна?

Или можно без предварительного создания скрина в папке, сразу отправить скрин события?

Нужна помощь в разборе задачи, пока нет реализации штатной как с отправкой по e-mail, может быть кто-нибудь может сделать подробный ман, как с помощью curl отправлять в телеграм скриншоты с камер по детекции движения, было бы очень полезно ;)

 

Edited by VNL

Share this post


Link to post
Share on other sites

Здравствуйте!
К сожалению не подскажу, Telegram в России заблокирован.
Попробуйте настроить реакцию на e-mail , а уже с почты получать сообщения в Telegram.
Как это сделать, можно посмотреть в поисковике, например бот  https://ru.telegram-store.com/catalog/bots/telegram-email/ (не проверялся! не тестировался!) и т.д. , по запросу email to telegram очень много информации. 

Share this post


Link to post
Share on other sites
Posted (edited)

Друзья успешно настроил и уведомления об отключении камер и даже кадры движения.

Для отправки нужны: 1. свой бот от телеграмм 2. доступ к телеграм 3. свой веб сервер, скрипты батники и немного времени.

1. С помощью реакций кладу картинку в папку которая ведет в веб сервер, доступный в сети интернет, думаю можно и встроенный в линию использовать, отдельную папку, если сервер удаленный - то через ФТП функционал, важно чтобы картинка была доступа в сети интернет.

2. Надо переименовать файл, и делаю это скриптом с параметром %RAND%, поскольку линия не умеет класть файлы с разными именем. (ПЛОХО)

Для венды скрипт будет такой:

set RAND1=%random%
ren C:\*******************\send.jpg "%RAND1%_send.jpg"

Потом отсылаем картинку в чат или группу в телеграм:

wget -q --no-check-certificate -a c:\temp\wget.log "https://api.telegram.org/boXXXXXXX:XXXXXXX/sendPhoto?chat_id=-10XXXXX>&photo=http://xxx.ru/xxx/%RAND1%_send.jpg"

удаляем картинку после тем же скриптом, думаю не сложно.

П.С. если не переименовывать и пытаться отослать один и тот же файл - кеш в телеграме будет слать первое изображение по имени, так что уникальное имя - обязательное условие.

Профит!

В целом это надо запилить внутри ПО Линия, функционал нужный и удобный, не называйте это отсылкой в телеграм, назовите отправка по ХТТП и не будет к вам претензий, а пользователь уже сам напишет УРЛ нужный ему.

 

 

 

 

Edited by slody
орфография

Share this post


Link to post
Share on other sites

Здравствуйте!
Спасибо за подробное описание.

Share this post


Link to post
Share on other sites
3 часа назад, slody сказал:

думаю можно и встроенный в линию использовать

Попробуйте в качестве кадра использовать

http://admin:@demo.devline.ru:9786/cameras/0/image?rand=%RAND1%

Если будут проблемы с авторизацией, то

http://demo.devline.ru:9786/cameras/0/image?authorization=Basic%20YWRtaW46&rand=%RAND1%

 

Share this post


Link to post
Share on other sites
Posted (edited)

Идея хороша, первый вариант не работает, почему - ХЗ, лог апи.телеграм не выдает

Может потому что нет расширения файла, как передать в строке чтобы апи понимал что он получит JPG?

Второй вариант не понимаю, где там логин вбивать?

http://demo.devline.ru:9786/cameras/0/image?authorization=Basic%20YWRtaW46&rand=%RAND1%

ну и нюанс, фактически мы отдаем логин и пароль от веб-сервера сторонним людям.

Edited by slody

Share this post


Link to post
Share on other sites
Цитата

второй вариант не понимаю, где там логин вбивать?

Авторизация в примере

authorization=Basic%20YWRtaW46

YWRtaW46 - это закодированное имя пользователя и пароль, в данном случае -  admin без пароля.  Чтобы закодировать требуемую пару откройте http://base64.ru/ и укажите данные в виде login:pass

Share this post


Link to post
Share on other sites

здорово (про base64), попробовал такой вариант

просто картинку получаю, но апи ее не принимает, подозреваю что нужно указывать расширение файла все таки.

так что пока мой вариант с внешним веб сервером, но если допилите функционал будет здорово.

держу ТРИ ваших сервера более чем 130 камер, очень доволен.

Share this post


Link to post
Share on other sites

Добрый день, если Линия не рег а серваком собрана, оч легко Python скрипт написать, там несколько строк всего.

Сами так пользуемся постоянно, в телегу что фото с движением что ошибки и пропажи камер. Единственно по фото задержка 1-3 сек бывает (серв на 42 кам) и надо VPN или что-то такое же.

Если интересует могу подробнее описать

 

 

Share this post


Link to post
Share on other sites

конечно поделись, то что телеграм заблокировали в России не значит что не используется в других странах совместно с Линией.

спасибо.!

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×