Убрать эмодзи из console_commands/cat.py и почистить ISSUES.md

This commit is contained in:
deadzilla 2026-05-29 09:26:20 +05:00
parent 680a3c822a
commit 6ae8442b57
2 changed files with 15 additions and 25 deletions

View File

@ -6,31 +6,21 @@
## 🔴 Критические ## 🔴 Критические
### 1. Фикс `posts is None``TypeError` в `!news` ### 1. Убрать эмодзи из `console_commands/cat.py`
- [ ] `commands/news.py`: добавить проверку `if posts is None` **до** вызова `format_articles(posts, ...)` - [x] Заменить `print("🐱 тут должен быть котик")` на `print("Заглушка: тут должен быть котик")`
- [ ] `commands/news.py`: аналогично проверить `if articles is None` перед `format_articles(articles, ...)`
- [ ] `commands/morning.py`: проверить все 3 вызова `format_articles()``articles`, `posts`, и убедиться, что `None` не проходит
### 2. Убрать эмодзи из `console_commands/cat.py`
- [ ] Заменить `print("🐱 тут должен быть котик")` на `print("Заглушка: тут должен быть котик")`
--- ---
## 🟡 Средние ## 🟡 Средние
### 3. Убрать пустой embed в `!morning` при всех ошибках ### 2. Убрать пустой embed в `!morning` при всех ошибках
- [ ] `commands/morning.py`: добавить fallback-сообщение в `description_lines`, если все API вернули `None` - [ ] `commands/morning.py`: добавить fallback-сообщение в `description_lines`, если все API вернули `None`
- [ ] Проверить, что `embed.description` никогда не пустой - [ ] Проверить, что `embed.description` никогда не пустой
### 4. Заменить ручную загрузку Cogs на `bot.load_extension()` ### 3. Убрать дублирование парсинга погоды
- [ ] `bot.py`: заменить цикл `for cog_class in ALL_COMMANDS: await bot.add_cog(cog)` на `bot.load_extension()` - [ ] `console_commands/pogoda.py`: вынести форматирование результата в `utils/pogoda.py` как `format_weather_data()`
- [ ] Обновить `commands/__init__.py` — добавить метаданные для порядка загрузки - [ ] `console_commands/morning.py`: использовать `format_weather_data()` вместо inline-парсинга
- [ ] Протестировать, что все Cogs загружаются корректно - [ ] `commands/morning.py`: использовать `format_weather_data()` вместо inline-парсинга
### 5. Оптимизировать `translate_weather()` — O(n) линейный поиск
- [ ] `utils/pogoda.py`: отсортировать ключи `mapping` по длине (убывание)
- [ ] Использовать `any(key.lower() in text.lower() for key in sorted_keys)` для приоритета точных совпадений
- [ ] Или заменить на `re` с регулярным выражением
### 6. Вынести `self.api_url` в константу класса ### 6. Вынести `self.api_url` в константу класса
- [ ] `commands/pogoda.py`: заменить `self.api_url = ...` на `API_URL = "..."` на уровне класса - [ ] `commands/pogoda.py`: заменить `self.api_url = ...` на `API_URL = "..."` на уровне класса
@ -41,16 +31,16 @@
## 🟢 Малые улучшения ## 🟢 Малые улучшения
### 7. Добавить `__all__` в `__init__.py` ### 4. Вынести `api_url` в константу
- [ ] `commands/pogoda.py`: заменить `self.api_url = ...` на `API_URL = "..."` на уровне класса
- [ ] `commands/morning.py`: аналогично
- [ ] `console_commands/pogoda.py`: вынести URL в `utils/pogoda.py` как константу
### 5. Добавить `__all__` в `__init__.py`
- [ ] `commands/__init__.py`: `__all__ = ["ALL_COMMANDS"]` - [ ] `commands/__init__.py`: `__all__ = ["ALL_COMMANDS"]`
- [ ] `console_commands/__init__.py`: `__all__ = ["ALL_CONSOLE_COMMANDS"]` - [ ] `console_commands/__init__.py`: `__all__ = ["ALL_CONSOLE_COMMANDS"]`
- [ ] `utils/__init__.py`: добавить `__all__` с основными функциями - [ ] `utils/__init__.py`: добавить `__all__` с основными функциями
### 8. Убрать дублирование парсинга погоды в console_commands ### 6. Добавить `raise_exception=True` в `bot.run()`
- [ ] `console_commands/pogoda.py`: вынести форматирование результата в `utils/pogoda.py` как `format_weather_data()`
- [ ] `console_commands/morning.py`: использовать `format_weather_data()` вместо inline-парсинга
- [ ] `commands/morning.py`: использовать `format_weather_data()` вместо inline-парсинга
### 9. Добавить `raise_exception=True` в `bot.run()`
- [ ] `bot.py`: добавить `raise_exception=True` для видимого падения при ошибках токена/сети - [ ] `bot.py`: добавить `raise_exception=True` для видимого падения при ошибках токена/сети
- [ ] Добавить логирование в `KeyboardInterrupt` блок - [ ] Добавить логирование в `KeyboardInterrupt` блок

View File

@ -1,3 +1,3 @@
def cat(stop_event, bot): def cat(stop_event, bot):
"""Заглушка: тут должен быть котик""" """Заглушка: тут должен быть котик"""
print("🐱 тут должен быть котик") print("Заглушка: тут должен быть котик")