2.8 KiB
2.8 KiB
AGENTS.md
Проект
Discord-бот на Python (discord.py)
Запуск
pip install -r requirements.txt
python bot.py
Токен
Токен бота хранится в .env (переменная DISCORD_TOKEN). Получи токен на Discord Developer Portal. Шаблон в .env.example.
Конвенции
- Используй TODO-списки для каждого запроса с несколькими шагами.
- Пиши комментарии на русском.
- Обработка ошибок: try/except для всех внешних вызовов (API, БД, файловая система).
- Никогда не используй эмодзи в тексте или выводах.
- До внесения любых изменений в код или файлы предоставь детальное описание всех планируемых изменений и получи явное согласие пользователя. Без согласования изменения не вносить.
- Все git-коммиты согласовывать с пользователем перед созданием.
- Все сообщения git-коммитов писать на русском языке.
API и внешние сервисы
Погода (!pogoda)
- Основной:
wttr.in(бесплатный, без ключа) - Fallback:
api.open-meteo.com(бесплатный, без ключа) - Retry: 3 попытки с экспоненциальной задержкой при SSL/Connection/Timeout ошибках
- Fallback срабатывает автоматически при неуспешных попытках
- WMO weather codes → русский перевод в
_wmo_to_russian()
Конвертации
- Давление: hPa → мм рт. ст. (
* 0.750062) - Ветер: км/ч → м/с (
/ 3.6) - Погодные описания: английский → русский (
_translate_weather())
Конфигурация
| Переменная | Описание | Где взять |
|---|---|---|
DISCORD_TOKEN |
Токен бота | Discord Developer Portal |
Зависимости
discord.py>=2.3.2
python-dotenv>=1.0.0
requests>=2.31.0
Структура данных погоды
Команда !pogoda возвращает:
Температура: X°C (ощущается как Y°C)
Описание: Z
Влажность: X%
Ветер: X м/с
Давление: X мм рт. ст.
Безопасность
.envв.gitignore— токен никогда не должен попадать в репозиторий.- Используй
.env.exampleкак шаблон.