deadzilla
4656495417
fix: улучшить on_command_error — логирование деталей и нейтральное сообщение пользователю
2026-05-26 18:08:46 +05:00
deadzilla
55a07e2a3c
fix: вынести импорт datetime на уровень модуля (ISSUE #4 )
2026-05-26 17:55:28 +05:00
deadzilla
7bfbfa8075
docs: добавить правила согласования коммитов и русского языка сообщений в AGENTS.md
2026-05-26 14:03:04 +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
e1a0f6d2b6
refactor: вынести логику погоды в utils/pogoda.py (проблема 3)
...
- Создать utils/pogoda.py с общими функциями:
- fetch_weather, fetch_open_meteo, wmo_to_russian, translate_weather, pressure_to_mmhg
- Обновить commands/pogoda.py: убрать дубликаты, импортировать из utils
- Обновить console_commands/pogoda.py: убрать дубликаты, импортировать из utils
- Сделать console_commands/pogoda.py async (требует fetch_weather)
- Обновить AGENTS.md и ISSUES.md (проблема 7 решена)
2026-05-26 12:32:15 +05:00
deadzilla
3dfb7a0405
chore: обновить .gitignore и удалить __pycache__ из репозитория
...
Добавлены паттерны:
- __pycache__/, *.py[cod], *.pyo - Python кэш
- venv/, env/, .venv/ - виртуальные окружения
- .env - переменные окружения
- *.log, *.bak, *.tmp, *.cache - временные файлы
- Thumbs.db, .DS_Store - кэш ОС
- .vscode/, .idea/ - IDE
Удалены из git:
- commands/__pycache__/__init__.cpython-314.pyc
- commands/__pycache__/pogoda.cpython-314.pyc
2026-05-26 11:54:26 +05:00
deadzilla
b0dc63234d
Revert "chore: добавить Python cache и venv в .gitignore"
...
This reverts commit 747a7d3ab5464aabf5108ea5d6a89a692b1779ee.
2026-05-26 10:54:47 +05:00
deadzilla
747a7d3ab5
chore: добавить Python cache и venv в .gitignore
2026-05-26 10:49:11 +05:00
deadzilla
bf166735a6
fix: исправить блокировку event loop и добавить retry задержку
...
- Добавить экспоненциальную задержку между попытками 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 с фиксацией проблем проекта
2026-05-26 10:24:26 +05:00
deadzilla
eb53a5ba81
docs: добавить README.md
2026-05-26 09:24:32 +05:00
deadzilla
347aa6ced7
feat: добавить команду !cat и консольную команду pogoda
2026-05-26 00:25:31 +05:00
deadzilla
78ad6fb3bb
feat: обновить формат новостей (заголовок/дата+ссылка), добавить блок новостей с habr.com/ru/rss/hubs/artificial_intelligence/news/
2026-05-25 23:58:54 +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
6553c9140f
docs: обновить AGENTS.md с описанием архитектуры, API, конвертаций и безопасности
2026-05-25 00:24:56 +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
243f4b2312
chore: migrate pogoda to wttr.in, fix bot stop, add on_command_error
...
- Replace Open-Meteo API with wttr.in (no API key needed)
- Convert wind speed from km/h to m/s
- Add weather description translation (EN → RU)
- Add "FeelsLikeC" to pogoda output
- Fix console stop command using asyncio.run_coroutine_threadsafe
- Add on_command_error handler to suppress CommandNotFound logs
2026-05-24 23:13:53 +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