Здравствуйте
Пишу скрипт .sh для openwrt, который отправляет в телеграм оповещение с результатом работы программы.
К примеру так:
1) Запускается программа
2) результат программы записывается в переменную
3) переменная приводится к виду, который можно передать в url
4) вызывается url который приводит к оповещению в телеграме
Знаете ли вы готовые решения такой задачи?
При решении у меня возникает две неясности:
1) программа, вывод который отправляется в телеграмм, может выводить текст не сразу одним куском, а несколькими кусками через промежутки времени. Что в таком случае запишется в переменную?
2) как переменную с различными символами форматирования привести к url -подобному виду, который можно будет вызвать с помощью curl?
С первой частью понятно.
Со второй не очень.
После того как скрипт получил от программы код возврата, в переменной хранится текст с символами, который не получится передать как параметр строки запроса. Есть ли команды для проведения этого текста к формату в котором нет символов перевода строки и других символов, которые могут сломать запрос через curl?
GavriKos, как вы предлагаете использовать base64?
Разве если кодировать в base64 а потом декодировать все символы которые ломают curl исчезнут?
Да, наверное post запрос мог бы помочь.. можете привести пример как отправить переменную с различными непечатными символами таким образом на url?
eegmak, да, все ломающие символы исчезнут - base64 для того и создан чтобы впихнуть спецсимолы (в пределах ASCII конечно) в стандартный букво-циферный алфавит
GavriKos, ведь потом нужно будет декодировать base64, там где принимаем закодированную строку правильно? Я же отправляю оповещение в телеграм, мне придёт то, то прочитать не получится человеку.
eegmak, да, придется декодировать.
Вы же явно пользуетесь каким то сервисом - с каких пор телеграм get-запросы принимает для отправки сообщений то? )) Вот и декодирйте там.
GavriKos,
В телеграме можно отправлять запросы и на форматированную передачу сообщений.
Тк все параметры у меня хранятся в строке url, значит это get запрос
Телеграм с самого начала вроде такое позволял