Ок, давайте расскажу, можем обсудить. У телеграма есть свой шедулер, типа замена крона, называется job_queue. В него передается обработчик и datetime, когда нужно отправить сообщение. В Datetime, соответственно, нужно указать таймзону.
У меня chat_id в редисе подписанных пользователей, которые в разных часовых поясах.
Телеграм не предоставляет TimeZone пользователя.
Я, в принципе, могу забить на таймзону и отправлять утром по Алматы, и так сойдет. Прикидываю на будущее, как можно это реализовать.