Telegram Bot. Получить часовой пояс пользователя
При разработке бота для Telegram есть ли способ получить часовой пояс пользователя? Поле даты в объекте сообщения содержит только метку времени UNIX. Я хочу создать бота, отправляющего некоторые сообщения фиксированному времени суток подписанному пользователю. У пользователя могут быть разные часовые пояса, и я не хочу, чтобы пользователи явно отправляли свой часовой пояс боту в сообщении.
3 ответа
Это невозможно по стандартному Bot API.
Вы можете запросить у пользователя местоположение, а затем из этого местоположения рассчитать часовой пояс для пользователя.
я добавил
/set_utc_offset
команду для моего бота, где пользователи вводят разницу во времени в минутах по сравнению с UTC
Вы также можете создать кнопку со ссылкой, которая открывает временное окно браузера.
Когда вы запрашиваете часовой пояс из браузера, encodeURIComponent(Intl.DateTimeFormat().resolvedOptions().timeZone)часовой пояс браузера и перенаправляете обратно с часовым поясом в строке запроса и сохраняете его.
И затем это окно можно автоматически закрыть, перенаправив на вашего бота https://t.me/{your_bot_name}.