iSpy — уведомления в Telegram при обнаружении движения

Появилась необходимость получать уведомления при обнаружении движения от камеры видеонаблюдения. Камера была добавлена в iSpy.

При обнаружении движения iSpy умеет выполнять пользовательский скрипт, который отправляет уведомление в Telegram в определённый заранее канал или чат.

Для работы скрипта необходим curl под Windows, скачать можно тут. Батники я положил в одну директорию с curl.exe — нет необходимости в скрипте указывать путь до экзешника.

 1. Самый простой вариант скрипта — при обнаружении движения отправляет сообщение в чат. Создаём .bat файл с таким содержанием:

curl.exe -s -X POST https://api.telegram.org/botBOT:TOKEN/sendMessage?chat_id=xxxxxxxxx -F text="Alarm!"

В скрипте изменяем BOT:TOKEN на токен вашего бота и chat_id=xxxxxxxxx на ID вашего чата или канала. Для групп и каналов ID будет начинаться с минуса, указываем как есть!

Как узнать ID канала я описал тут — Как получить chat id из канала telegram


2. Второй вариант скрипта при обнаружении движения отправляет в чат скриншот с камеры. За основу взят скрипт из статьи на Pikabu.

Включаем в настройках камеры сохранение скриншотов при обнаружении движения:

Создаем батник:

pushd D:\ispy\video\cam\grabs

for /f "tokens=*" %%a in ('dir /b /od') do set newest=%%a

popd

set bottoken="BOT:TOKEN"

set chat="xxxxxxxxxx"

set File="D:\ispy\video\cam\grabs\%newest%"

curl.exe  -s -X POST "https://api.telegram.org/bot%bottoken%/sendPhoto?chat_id=%chat%" -F photo="@%File%" -F caption="Alarm!"

В скрипте изменяем BOT:TOKEN на токен вашего бота, chat_id=xxxxxxxxx на ID вашего чата или канала, D:\ispy\video\cam\grabs меняем на путь директории, куда сохраняются криншоты.


При выполнении скрипта неизбежно будет появляться окно CMD — что не очень комфортно для работы за этим же пк. Поэтому при желании можно .bat вызывать внутри vbs скрипта без графического вывода вообще. Создаем файл .vbs такого содержания:

Set WshShell = CreateObject("WScript.Shell")
WshShell.Run chr(34) & "C:\Program Files\curl-7.63.0-win64-mingw\bin\send-with-photo.bat" & Chr(34), 0
Set WshShell = Nothing

В коде разумеется меняете путь на свой.

Далее средствами самого iSpy настраиваем выполнение скрипта при обнаружении движения:

WIN!

0

Добавить комментарий

Ваш e-mail не будет опубликован.