deadzilla
66d188c1cd
Добавить планировщик утреннего дайджеста
...
- utils/morning_runner.py: Scheduler + run_morning()
- bot.py: автоматический запуск планировщика при старте
- commands/morning.py: использовать run_morning() вместо дублирования
- .env.example: добавить MORNING_TIME=07:00
- AGENTS.md: обновить документацию
- tests/test_morning_runner.py: 10 тестов для Scheduler
2026-05-29 17:48:26 +05:00
deadzilla
bc8b664d7d
refactor: вынести fetch_cat в utils, добавить повторный вывод списка команд
2026-05-26 18:56:11 +05:00
deadzilla
4656495417
fix: улучшить on_command_error — логирование деталей и нейтральное сообщение пользователю
2026-05-26 18:08:46 +05:00
deadzilla
4a40f705d4
fix: resolve issue #3 (deduplication) and fix coroutine handling
...
- 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
2026-05-26 13:58:35 +05:00
deadzilla
4db31e8b56
feat: вывести список команд после загрузки бота
...
- Добавить bot_ready = threading.Event() для синхронизации
- Переместить bot_ready.set() после цикла загрузки команд
- Добавить bot_ready.wait() в console_input()
- Меню появляется только после 'Бот вошёл' и 'Загружен: ...'
2026-05-25 21:57:59 +05:00
deadzilla
6fe8334311
feat: добавить команду !news для AI-новостей с Habr
...
- Парсинг RSS через ElementTree (RSS 2.0 / Atom)
- Данные: title, dc:creator, guid isPermaLink, pubDate, category
- Формат: заголовок до 60 символов, дата дд.мм.гггг, теги
- Ссылки без https://, кликабельные
- Консольная команда: !news
2026-05-25 12:04:44 +05:00
deadzilla
db2ac21b41
fix: исправить дублирование кода, добавить retry и fallback для погоды
...
- Убран дублирующийся on_command_error и импорт CommandNotFound
- stop.py: добавлены аргументы stop_event, bot + обработка ошибок
- console_commands интегрирован в console_input()
- pogoda.py: retry (3 попытки), fallback на Open-Meteo при SSL-ошибках
- pogoda.py: безопасная обработка wind_kmh и давления
- pogoda.py: сортировка translate-словаря по длине ключа
- Добавлен _wmo_to_russian() для WMO weather code
2026-05-25 00:07:20 +05:00
deadzilla
5dc6c54bf6
chore: migrate pogoda to wttr.in, fix bot stop, add on_command_error
2026-05-24 22:55:49 +05:00
deadzilla
89f17d53d8
Refactor: add commands/, console_commands/, !pogoda command
2026-05-24 15:27:29 +05:00
deadzilla
83fc714b8e
Initial commit: Discord bot with !msg command
2026-05-24 13:35:12 +05:00