Короткая записка о находке для программиста.
Иногда нужно быстренько понять, что происходит в том или ином месте кода или же почему IDE не подсказывает ошибку и в логах пусто, но все равно код не пашет.
Для этого мы вставляем всего одну строку в точку наблюдения, и она отправляет нам через ТГ сообщение о состоянии переменной, ошибке и чем-то еще. Это на порядок удобнее, чем лезть в nano, в браузер, в файл или сидеть, аки в матрице на print_r смотреть.
Строка:
file_get_contents('https://api.telegram.org/botXXX_BOTTOKEN_XXX/sendMessage?chat_id=XXX_YOUR_TG_ID_XXX&text=' . urlencode(print_r($some_var, 1) . " - " . __LINE__));
Строк можно вставлять сразу несколько и смотреть, как код живет. Много, конечно, не отправишь в одном сообщении, но очень хорошо дает понять, где процесс обрывается, что в переменной на промежуточном этапе и т.д. Пример из PHP, думаю в других языках есть что-то аналогичное.
Да, есть жуткий баг: не ставьте внутрь цикла :) иначе бесконечная отправка будет, пока процесс не убьете, и не всякий хостер дает доступ к терминалу. В крайнем случае токен новый в Телеграме сгенерируете.
Если пользуетесь Punto Switcher, то можно забиндить вставку строки по двойному нажатию какой-то клавиши и будет еще удобнее.
Создать бота и получить токен можно у BotFather https://t.me/BotFather