Часто при разработке ботов для Telegram требуется учитывать информацию о часовом поясе пользователя. К сожалению, получить её через Bot API невозможно, поэтому предусматривать в боте команду, с помощью которой пользователь сможет указать, какой часовой пояс он использует. И тут возникает вопрос, как лучше это сделать, чтобы пользователю было удобно. Если бот ориентирован только на российских пользователей, вопрос решается просто: выводим список всех часовых поясов России, пользователь выбирает нужный, и бот сохраняет выбор в базу данных. Но как быть, если пользователи могут быть из других стран? Выводить огромный список из более чем сотни часовых поясов — крайне неудобно. Требовать от пользователя вручную написать название его часового пояса в формате Europe/Moscow или хотя бы MSK — тоже не самое лучшее решение. Можно предложить указать смещение в формате ±ЧЧ:ММ, но тогда нельзя будет учесть переход на летнее время.
Читать далее…

Был в Сети 8 окт. 2025 г., 21:51
Кратко о себе: Web-разработчик. Пишу на PHP, Python, JavaScript. Знаю Ruby и Go, со студенческих времён более-менее помню C и asm. Специализируюсь на ускорении загрузки сайтов и разработке ботов для Telegram. Linuxоид (использую Debian+LXDE). Сторонник IndieWeb, slow lifer.
- Перово, Москва, Россия
- me@4xpro.ru
- XXXXPro
Новости сайта в Telegram
t.me/4x_proКомпьютерное
Как определить язык пользователя в Telegram

При разработке мультиязычного бота для Telegram возникает вопрос, на каком языке отвечать пользователю в начале диалога. Оказывается, узнать это достаточно просто: в сообщениях (объект Message) есть поле from. Оно представляет собой объект User, где имеется поле language_code, в котором и лежит код языка, выставленный у пользователя в настройках. Итоговый код на PHP будет выглядеть примерно так:
Читать далее…
Читать далее…
Два бота для Telegram

Сегодня запустил двух собственных ботов для Telegram. https://telegram.me/SiteKnockerBot — мониторинг состояния сайта. Отслеживает доступность сайта, наличие на странице заданных ключевых слов, время ответа сервера, и сообщает о возникновении проблем. Также умеет предупреждать о подозрительных ситуациях (выдается почти пустая страница, присутствуют слова, характерные для дефейса или сообщения об ошибках PHP). Из соображений безопасности число сайтов на мониторинге ограничено: до 1 сентября 2017 года можно добавить 10 сайтов для одного пользователя, после — 5. https://telegram.me/TypograferBot — типографирование текста. Расставляет правильные кавычки, тире, многоточия, пробелы вокруг знаков препинания, простейшие дроби, обозначения типа см2, м2 и т.п., а также знаки дюйма, градусы по Цельсию и Фаренгейту. За основу взят типографер из моей давней разработки — TextCMS.
Читать далее…
Читать далее…
Отправка уведомлений на почту и в Telegram

При написании shell-скриптов, работающих по cron, иногда бывает нужно отправить пользователю уведомление о какой-то ситуации. Простейший способ — отправить EMail с помощью команды mail (работает, если на сервере установлен какой-либо MTA, например, postfix, и пакет mailutils; если MTA нет, можно воспользоваться утилитой msmtp, которая отправляет почту через внешний почтовый сервер):
echo "Текст сообщения" | mail -s "Тема сообщения" admin@example.com
Но иногда требуется сообщить о чем-либо более оперативно, чтобы уведомление пришло на мобильный телефон. Лучшим решением в этом случае является отправка SMS через шлюз EMail=>SMS, но бесплатных шлюзов сейчас не осталось. Поэтому я нашел другое решение: отправлять сообщения в Telegram с помощью Bot API. Делается это так:
Читать далее…