discordBot/AGENTS.md

2.8 KiB
Raw Blame History

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 как шаблон.