Напоминалки: выбор часового пояса кнопками городов + ручной ввод

При гейте часового пояса теперь показывается клавиатура с частыми
российскими городами-поясами (Калининград..Камчатка). Клик по кнопке
шлёт 'Город, UTC+N' — _parse_tz_offset распознаёт и это, и обычный
ручной ввод вида '+3'/'-5', если своего города в списке нет.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
Kenik
2026-09-05 15:18:29 +03:00
parent 0085195941
commit e41db35f13
3 changed files with 49 additions and 9 deletions
+13
View File
@@ -459,6 +459,19 @@ def test_reminder_tz_gate_before_list(app, monkeypatch):
assert _state(admin) == "FREE_CHAT"
def test_reminder_tz_setup_via_city_button(app, monkeypatch):
"""Часовой пояс можно выбрать кнопкой города, а не только вводом числа."""
admin = 80010
monkeypatch.setattr(bot.config, "ADMIN_IDS", [admin])
app.handle_message(admin, "⏰ Напоминалки")
assert _state(admin) == "ADMIN_REMINDER_TZ_SETUP"
app.handle_message(admin, "Екатеринбург, UTC+5") # клик по кнопке клавиатуры
assert _state(admin) == "FREE_CHAT"
assert bot.db.get_admin_tz_offset(admin) == 5
def test_reminder_creation_converts_author_local_time_to_server(app, monkeypatch):
admin = 80007
monkeypatch.setattr(bot.config, "ADMIN_IDS", [admin])