2 Commits

Author SHA1 Message Date
deadzilla
3aebda1114 fix: H2 — translate_weather сортировка ключей по убыванию длины
- Заменён dict на _WEATHER_MAPPING (list of tuples, отсортирован по длине ключей)
- Длинные фразы проверяются первыми, исключая ложные подстроочные совпадения
- "Moderate or heavy rain at times" теперь корректно -> "Дождь" вместо "Сильный дождь"
- Обновлены тесты: test_translate_known и test_translate_longer_key_priority

230 тестов проходят.
2026-07-07 21:28:29 +05:00
deadzilla
cc2808fb40 fix: graceful shutdown — заменить bot.run() на async with + signal handlers (C2)
- Удалён dead code except KeyboardInterrupt (никогда не срабатывал в bot.run())
- Добавлен _signal_handler() для SIGINT/SIGTERM с остановкой scheduler и bot.close()
- Заменён bot.run(token) на asyncio.run(main()) с async with self.bot:
- Добавлен reconnect=True для устойчивости к разрывам gateway
- Тесты: string-matching заменены на поведенческие mock-тесты (5 тестов, все OK)
- Добавлен CODE_REVIEW.md с результатами ревью
2026-07-07 20:51:32 +05:00