2 заметки с тегом

фото

/core.php, line 2
Error 2: Use of undefined constant k - assumed 'k' (this will throw an Error in a future version of PHP)

/core.php, line 2
Error 2: Use of undefined constant k - assumed 'k' (this will throw an Error in a future version of PHP)

День сисадмина 2005

Недавно наткнулся в интернете на сайт, где были выложены фото с дня системного администратора, который был в 2005 году. Мы тогда собрались в одном неизвестном нам ранее кафе на берегу Енисея. Вид был очень живописный. Если кто в курсе, то там сейчас стоит ТРЦ «Июнь». Так дороги никто не знал, что человек, предложивший это кафе, сделал и выложил в общий доступ фотографии пути: куда заезжать, где поворачивать и т. п. Телефоны тогда были простые, большинство даже без GPS.
В общем, прибыл я туда, поздоровался с теми, кого знал и пошел за пивом для себя. Купил, вернулся, сижу и пью. Народ меня начал спрашивать как я купил. Я в недоумении спрашиваю в чем проблема-то? И мне рассказывают, что они заказали пиво почти час назад и его до сих пор не принесли. Пробыв там еще недолго, поняли, что нам тут делать нечего, попросили жалобную книгу, почитали ее, посмеялись, написали свою претензию и поехали в другое кафе, где официанты были проворней.
Сразу скажу, что народу в кафе тогда было мало, бОльшую часть посетителей составляла наша компания и в чем была проблема с обслуживанием, было непонятно.

Запись первая Запись вторая Запись третья

Разглядывая фотографии, вспомнил как мы всей компанией постоянно сидели в «ирке», общались на профессиональные и не очень темы. Ради интереса решил глянуть — «жива» ли она еще. Поиски были достаточно долгими, но мне удалось найти несколько отвечавших серверов. Зарегистрировавшись на них, посмотрел на список комнат — он оказался очень скудным. Зайдя в несколько комнат, посвященных паре провайдеров, предоставляющих интернет в Красноярске, обнаружил там всего около десятка людей. В самой многолюдной комнате в списке было не более 50 человек.
Да, можно сказать, что IRC «умерла». Хотя, на мой взгляд, это была очень достойная сеть. И жаль, что все ушли в другие мессенджеры.

Создание бота Telegram

Для чего мне это понадобилось? Как писал ранее, телефон не всегда почему-то проверяет почту, несмотря на заданный минимальный интервал проверки. Более удобным показалось использовать telegram для срочных оповещений. Задавшись этой целью, установил на сервер telegram-cli, который, как оказалось позднее, не понадобился. Снесу, однако :-)
Для начала создаем бота при помощи @BotFather. Задаем ему имя и описание. Я также задал и юзерпик для красоты. Открываем чат с этим ботом, набрав в браузере ссылку https://t.me/<имя_вашего_бота>. Затем нужно узнать ваш идентификатор. Для этого я воспользовался ботом @userinfobot, вы можете использовать другие методы. В принципе, вся нужная информация у нас есть.
Следующей задачей стала отправка сообщений из скрипта linux. Здесь нам поможет стандартный curl. После серии опытов обрисовалось примерно вот такое тело скрипта:

ChatID=*****
BotToken=******
Text="Hello, world!"

curl -s -X POST "https://api.telegram.org/bot$BotToken/sendMessage" -F chat_id="$ChatID" -F text="$Text"

Здесь ChatID, BotToken и Text — ваш идентификатор в telegram, токен бота, который вам выдали при его создании, и текст сообщения, соответственно. Хочу обратить внимание на то, что переменные в строке curl взяты в двойные кавычки. Это сделано для того, чтобы избежать утери части текста, если в нем присутствуют пробелы.
С текстом разобрались, остается отправка фотографии. Здесь все чуть-чуть сложней:

curl -s -X POST "https://api.telegram.org/bot$BotToken/sendPhoto" -F chat_id="$ChatID" -F photo="@$1" -F caption="$Text"

Добавился еще один параметр photo, в который передается имя файла. Полный путь к файлу у меня передается самому скрипту, поэтому просто используем его. Также параметр text из предыдущего примера я заменил на необязательный caption — название фото.
На текущий момент motion оповещает меня об обнаружении движения, чуть позже присылает фото и ссылку на файл с записью. В планах еще добавить обнаружение лиц на фото, чтобы было видно кто пришел или ушел. Следующим шагом может стать, например, автоматическое включение моего компьютера когда прихожу домой.

2017   curl   motion   telegram   бот   отправка   создание   текст   фото