Лунный календарь в чат-боте

Следуй за звездами легко! Лунный календарь прямо в твоем мессенджере — советы, гороскопы и удача каждый день.

Зачем вообще нужен лунный календарь в боте и как он работает

Лунный календарь в чат-боте — это не просто «красивая картинка с фазами Луны», а полезный инструмент, который можно интегрировать в любой мессенджер или веб-интерфейс. Он позволяет пользователям мгновенно получать актуальную информацию о лунных днях, фазах, благоприятных и неблагоприятных периодах для стрижек, посадок, финансовых операций и даже медицинских процедур.

Ключевые преимущества

  • Автоматизация: бот сам считает лунные дни и выдаёт результат без участия человека.
  • Универсальность: подходит для Telegram, WhatsApp, Viber, ВКонтакте, а также для сайтов и мобильных приложений.
  • Глубина данных: помимо фаз можно выводить лунные лунные дни, знаки зодиака, в которые находится Луна, и «лунные сутки» по китайскому календарю.

4 простых шага по подключению лунного календаря к чат-боту

Шаг 1. Выбор источника данных

Для начала нужно подключиться к API лунного календаря. На доступны два проверенных решения:

  1. GitHub: moon_calendar, легковесный REST-сервис от Rambler, отдаёт JSON с фазами, лунными днями и процентом освещённости.
  2. GitHub: astro-widget-api-rus — расширенный API, включает лунный календарь стрижек, лунные дни, китайский календарь и даже магнитные бури.

Шаг 2. Создание и настройка бота

Зайдите в вашу платформу (BotFather в Telegram или BotHelp для мультиплатформенных решений) и создайте нового бота. После сохранения нажмите «Настроить», выберите те календари, которые предоставляют нужную услугу, и нажмите «сохранить».

Шаг 3. Импорт шаблона диалога

Перейдите в раздел «Боты → Импортировать шаблон», загрузите готовый сценарий «Лунный календарь» или создайте свой. Типичный шаблон содержит:

  • Ветку «Фазы Луны»
  • Ветку «Лунный день сегодня»
  • Ветку «Календарь стрижек»
  • Ветку «Благоприятные дни»

Шаг 4. Пользовательские запросы естественным языком

События в календарь можно добавлять через бота, написав ему на естественном языке: «в пятницу вечером тимбилдинг» или «когда лучше стричься в июне?». Нейросеть проекта (встроенный ИИ чат-бот) распарсит дату и покажет, насколько этот день совпадает с благоприятным лунным днём.

Как именно бот «считает» лунные дни

Получение текущего unixtimestamp

Бот делает запрос к API и получает объект вида:

{
 "date": "2026-06-05",
 "moon_age": 20.4,
 "phase": "убывающая",
 "zodiac": "Рыбы",
 "day_of_moon": 20,
 "visible": 67.8
}

Пересчёт в лунные сутки

  • Лунные сутки начинаются в момент новолуния и идут ровно 24 часа 50 минут;
  • Для китайского календаря используется китайский солнечно-лунный цикл — годы считаются от даты новолуния, ближайшей к весеннему равноденствию.

Формирование ответа

Чат-бот выдаёт красиво оформленное сообщение:

🌗 Сегодня 20-й лунный день, Луна убывает в знаке Рыб. Благоприятны стрижки и финансовые операции. Избегайте перегрузок на печень.

Расширенные настройки и платные функции

Бесплатный пакет

  • Текущая фаза и % освещённости
  • Лунный день сегодня
  • Календарь стрижек на текущий месяц

Премиум-пакет (для больших объёмов)

  1. Гороскоп на каждый лунный день
  2. График свободных временных интервалов для записи клиентов (удобно салонам красоты)
  3. Индивидуальные рекомендации на основе даты рождения пользователя
  4. PDF-буклеты и грамоты с лунным календарём для печати

Пример кода для быстрого старта


import requests
import datetime

def get_moon_info(date):
 url = "https://api.moon-calendar.ru/v1/day"
 params = {"date": date}
 response = requests.get(url, params=params)
 return response.json

@bot.message_handler(commands=['moon'])
def send_moon(message):
 today = datetime.datetime.now.strftime("%Y-%m-%d")
 info = get_moon_info(today)
 bot.send_message(
 message.chat.id,
 f"🌗 Сегодня {info['day_of_moon']}-й лунный день, фаза: {info['phase']}"
 )

Частые вопросы

Вопрос: «А если у меня уже есть Google Calendar или Outlook?»
Ответ: Бот может читать и писать в эти календари, используя их API. Луна выступает в роли базы данных, а Google/Outlook — в роли визуального интерфейса.

Вопрос: «Можно ли выводить время в раздельных значениях: год, месяц, день?»
Ответ: Да. API отдаёт JSON-структуру, где каждое значение разбито: "year": 2026, "month": 6, "day": 5. Это удобно для дальнейшей фильтрации.

Интеграция лунного календаря в чат-бот превращает обычный мессенджер в персонального астролога и планировщика. Пользователи получают мгновенный доступ к полезной информации, а вы — неограниченные возможности для монетизации и удержания аудитории.