Skip to main content

Навык: ALOR Calendar

alor-calendar — это специализированный навык для работы с Outlook/Exchange календарём ALOR через Exchange Web Services (EWS). Навык нужен, когда Велесу нужно посмотреть календарь, найти встречу или подготовить изменение события. Он использует настройки подключения из уже настроенного email-канала, поэтому отдельный календарный токен обычно не требуется.

Когда он полезен

Типичные запросы:
  • «Покажи мои встречи на завтра».
  • «Найди в календаре встречи про квартальный план».
  • «Посмотри свободные окна на следующей неделе».
  • «Создай встречу с таким-то названием и временем» — только после явного подтверждения.

Как устроено подключение

Навык сначала смотрит обычные переменные окружения EXCHANGE_*, если они заданы. Если их нет, он берёт данные из channels.email: IMAP/SMTP host, имя пользователя, пароль и адрес почтового ящика. Если доменное имя пользователя записывается в JSON, обратный слеш нужно экранировать: DOMAIN\\username.

Возможности

  • проверить, хватает ли настроек для подключения;
  • показать события за период;
  • показать ближайшие события;
  • искать встречи по тексту;
  • создать событие в календаре после подтверждения пользователя.
Для операций изменения календаря действует правило безопасности: сначала Велес должен кратко описать точное действие, время, участников и текст, затем получить подтверждение.

Технические требования

Навык требует Python-пакеты:
python -m pip install --user exchangelib python-dateutil
Основной helper-скрипт:
veles/skills/alor-calendar/scripts/outlook_calendar.py
Примеры команд:
python scripts/outlook_calendar.py env-check
python scripts/outlook_calendar.py upcoming --days 14
python scripts/outlook_calendar.py list --start 2026-04-01 --end 2026-05-01
python scripts/outlook_calendar.py search --query "планёрка" --start 2026-04-01 --end 2026-05-01
По умолчанию используется часовой пояс Europe/Moscow, если пользователь или окружение не задают другой.

Ограничения и безопасность

  • IMAP не содержит календарные данные; email-конфигурация используется только как источник host/login/password для EWS.
  • Пароли и другие секреты нельзя печатать в ответах или сохранять в файлах навыка.
  • Отменённые события нужно явно показывать как отменённые, а не silently скрывать их.
  • Создание, изменение, отмена и удаление событий требуют явного подтверждения пользователя.

Связанные страницы