Изменения согласно требованиям AGENTS.md (отсутствие восклицательных знаков):
• commands/news.py — переименование команды с 'news' на 'nw'
* name=nw вместо name=news
* async def news() → async def nw()
* Обновление docstring классов
• AGENTS.md — обновление документationen
* → в таблице команд
* RSS-ленты Habr (!news, !morning) → (!nw, !morning)
Примечание:
- Изменение прозрачно для пользователей (команда работает так же)
- Тесты не требуют переименования (проверяют код логики, а не имена команд)
- Все тесты проходят успешно
- Create utils/news.py with shared RSS parsing and formatting logic
- Refactor commands/news.py and console_commands/news.py to use utils/news.py
- Fix bot.py to handle async console commands (news, pogoda)
- Fix utils/pogoda.py to fall back to Open-Meteo on requests.RequestException
- Mark issue #3 as resolved in ISSUES.md
- Добавить экспоненциальную задержку между попытками retry (1с, 2с, 4с) в pogoda.py
- Заменить time.sleep на await asyncio.sleep для неблокирующих ожиданий
- Обернуть requests.get в asyncio.to_thread для предотвращения блокировки event loop (news.py, cat.py, pogoda.py)
- Добавить правило AGENTS.md: не использовать эмодзи
- Добавить ISSUES.md с фиксацией проблем проекта