LeadConverter
  • 📖База знаний LeadConverter
  • 🎓Обучение
    • Ботомания 1.0 - Курс для начинающих
  • 💟Как задать вопрос в поддержку?
  • ‼️ВАЖНО | Как правильно использовать основные инструменты
  • Как запустить бота?
  • Подключение мессенджеров
    • Instagram (новая версия)
    • Instagram
    • ВКонтакте
    • Telegram
    • Чат-боты в личных сообщениях Telegram
    • Facebook Messenger
    • Viber
    • WhatsApp
  • Боты
    • Горячие клавиши
    • Создаём бота | С чего начать?
    • Блоки в боте | Краткое описание
    • 🟪Триггеры. Стартовый шаг
      • Когда добавлен комментарий
      • Когда удалён комментарий
      • Когда добавлен лайк
      • Когда убран лайк
      • Когда сделан репост
      • Канал упомянут
      • Канал упомянут в истории
      • Покинул сообщество
      • Вступил в сообщество
      • Заблокирован в сообществе
      • Изменено сообщение в чате
      • Добавлен комментарий в обсуждениях
      • Изменен комментарий в обсуждениях
      • Восстановлен комментарий в обсуждениях
      • Написан комментарий под товаром
      • Изменен комментарий под товаром
      • Восстановлен комментарий под товаром
      • Разблокирован в сообществе
      • Заполнена лид-форма
    • 🟦Блок «Сообщение»
      • Кнопки
        • Режимы кнопок
        • Режим совместимости
        • Скрывать после нажатия
        • Запрет повторного нажатия
        • Типы кнопок
      • Реакция на бездействие
      • Подстановка переменных
      • Отправка медиафайлов
      • Порядок сообщений
      • Режим синхронизации
      • Вопрос | Сохраняем ответ пользователя
      • Товар
    • 🟩Блок «Задержка»
    • 🟥Блок «Действие»
      • Отправить через вебхук
    • 🟧Блок «Условие»
    • Блок "Рандомайзер"
    • Блок «Разделитель»
    • Копирование ботов в другую кампанию
    • Обработка событий вне сценария
  • Мини-лендинги | Подписные страницы
    • Настройка формы мини-лендинга
    • Настройка аналитики мини-лендинга
    • Результат
    • Прямые ссылки
    • Кнопки мессенджеров на сайт | JS-Виджет
  • Подписчики
  • Рассылки
  • ВК-лендинги
  • Сообщения (Диалоги с подписчиками)
  • Товары
    • Товары
    • Подписки
  • Интеграции
    • QuizGo
    • Google-таблицы (Google Sheets)
      • Записываем данные в новую строку без обновления данных
      • Записываем данные в таблицу с обновлением данных
      • Поиск данных по таблице и передача их боту
    • GetCourse
      • Подключение GetCourse к LeadConverter
      • Настройка передачи переменных из LeadConverter в GetCourse
      • Настройка добавления подписчка в GetCourse из LeadConverter
      • Настройка изменения групп подписчика в GetCourse
      • Формируем товар в GetCourse
      • Передача данных из GetCourse в LeadConverter
    • AmoCRM
      • Передача данных в AmoCRM
    • Bitrix24 (Ручная)
    • ChatGPT
      • Подключаем ChatGPT с использованием токена от LeadConverter
      • Подключаем ChatGPT с использованием собственного токена
      • Заполняем поля в интеграции данными
      • Подключаем ChatGPT к боту
      • Инструкция по работе с шаблоном ChatGPT
  • API Методы
    • Подготавливаемся к работе с API
    • broadcasting
      • sendMessageBatch
    • bot
      • start
      • startWithVariables
      • startFromStage
    • email
      • addSubscriber
    • file
      • uploadFromUrl
    • group
      • get
      • set
      • unset
    • message
      • send
      • sendToMany
      • sendToGroup
    • subscriber
      • get
      • has
    • variable
      • get
      • set
      • setMany
    • recurrent
      • disableAutoWithdraw
      • enableAutoWithdraw
    • Вопросы по API
      • Почему я скопировал пример но он не работает
      • Почему некоторые методы указаны дважды
  • Платёжные системы
    • Продамус (Prodamus)
      • Подключение рекуррентных платежей в Продамус (Prodamus)
    • ЮКасса (ЮKassa)
      • Подключение рекуррентных платежей в ЮКассе (ЮKassa)
    • ЮМани (ЮMoney)
    • Робокасса (Robokassa)
      • Подключение рекуррентных платежей в Робокассе (Robokassa)
    • IntellectMoney
      • Настройка магазина IntellectMoney
      • Подключение рекуррентных платежей в IntellectMoney
    • Тинькофф (Tinkoff)
      • Подключение рекуррентных платежей в Тинькофф (Tinkoff)
    • СloudPayments
      • Подключение рекуррентных платежей в СloudPayments
    • ЛидПей (LeadPay)
    • Payselection
    • КриптоКлауд (CryptoCloud)
    • Комиссия за перевод
  • Google Tag Manager (GTM) | Как настроить
    • Предисловие
    • Создаем Google Tag Manager аккаунт
    • Подключение тегменеджера к лендингам сервиса
    • Что нужно знать для комфортной работы
    • Настраиваем триггеры
    • Подключение Яндекс.Метрики к Google Tag Manager
    • Настраиваем цели Яндекс.Метрики
    • Публикация изменений
  • Переменные
    • Переменные для получения информации о подписчике
    • Зарезервированные переменные
  • Функции
    • Склонение по родам
    • Дата и время
      • date_calc
      • date_diff
    • Склонение числительных
      • skl
    • Математические действия
    • Сокращение ссылок
    • Удаление в ссылке пустых параметров
  • Типы данных
    • [] Дата и время
  • Регулярные выражения
  • Партнёрская программа
    • ❓Как стать партнёром?
    • ❓Как получать информацию о регистрациях и оплатах?
    • ❓Как получить выплату?
    • ❓Что означает пункт "Доступный баланс"?
    • ❓Что означает пункт "Будет отправлено"?
    • ❓Что означает пункт "Ожидает подтверждения"?
  • Ретаргетинг ВКонтакте
  • Тарифы LeadConverter
    • Оплата подписки за чат-ботов
    • Баланс
      • Как списываются средства с баланса за ChatGPT?
  • Популярные вопросы
    • Популярные вопросы
      • Общие вопросы
        • Как узнать ID канала, подключённого в LeadConverter
        • Как боту получить разрешение на отправку сообщений?
        • Как сделать рассылку через бота
        • Кнопка быстрого звонка в чат-боте
        • Как узнать ID подписки в LeadConverter?
        • Как выдать доступ сотруднику в кампанию?
        • Написание одного старт-слова в разных ботах
        • Как очистить кэш браузера
        • Как принимать оплату на сайте с продолжением сценария в чат-боте после оплаты
      • Telegram
        • Как узнать ID Telegram-канала
        • Как узнать ID Telegram-группы (чата)
        • Написание /start в разных ботах
        • Как оформить текст в Telegram
        • Как отправить круги в Telegram
        • Как создать кнопку "Поделиться" в Telegram-боте?
        • Как добавить Telegram-бота на канал?
        • Как добавить Telegram-бота в группу (чат)?
        • Как отправить сообщение с кнопкой в Telegram-канал/чат?
        • Как узнать ID стикера в Telegram
        • Как отправить стикеры в Telegram?
        • Как добавить бота в Telegram-канал, если на канале более 200 подписчиков?
        • Как отправить анимированные эмодзи со случайным значением?
        • Как удалить пользователя из черного списка Telegram группы/канала
        • Как обновить и заменить токен Telegram-бота?
      • ВКонтакте
        • Как узнать ID поста ВКонтакте?
      • Instagram
        • Как узнать ID поста Instagram?
      • Viber
        • Как отправить кнопку в Viber первым сообщением
      • Facebook
  • Перенос подписчиков в LeadConverter
    • Перенос базы в LeadConverter
      • Перенос базы из Senler в LeadConverter
      • Перенос базы из BotHelp в LeadConverter
  • Доступные шаблоны
    • Список шаблонов
      • Создание бота "Проверка подписки на Telegram-канал и выдача лид-магнита"
      • Платный доступ в закрытый канал/группу через триггер
      • Как скопировать готовый шаблон бота в свою кампанию
      • Новогодний опрос + статистика
  • Примеры
    • Примеры ботов
      • Бот для счёта разницы во времени
      • Создание подписки через бота (рекуррентные платежи)
        • 1. Подача заявки на подключение рекуррентных платежей
        • 2. Подготавливаем ботов
        • 3. Создаём "Подписку" в товарах LeadConverter
        • 4. Настраиваем бота "Основной бот. Подписка"
        • 5. Настраиваем бота "Меню. Подписка"
        • 6. Настраиваем бота "Успешное продление подписки. Подписка"
        • 7. Настраиваем бота "Необходимо оплатить подписку вручную. Подписка"
        • 8. Настраиваем бота "Подписка скоро закончится. Подписка"
        • 9. Настраиваем бота "Подписка закончилась. Подписка"
      • Бот для "Клуба" без рекуррентных платежей
        • 1. Создаём товар для оплаты доступа
        • 2. Создаем бота
      • Добавление/удаление из Telegram-чата/канала
      • Бот тестировщик. 1 правильный ответ
      • Бот с партнёрской программой
      • Бот-квиз
      • Проверка подписки на канал и выдача бонуса
      • Проверка подписки на Telegram-канал
      • Выдача доступа в Telegram-канал после оплаты
      • Отправка геолокации с помощью Telegram-бота
      • Генерация картинок
      • Бот с акцией: купи товар в течение 48 часов, или цена изменится
        • 1. Создаём товар
        • 2. Создаём бота
          • Настройка бота с одним товаром
          • Настройка бота с несколькими товарами
  • Готовящиеся материалы
    • Материалы
      • Яндекс Метрика (оффлайн конверсия)
        • Настраиваем Яндекс Метрику для передачи оффлайн конверсии
          • Настраиваем счетчик Яндекс Метрики
          • Настраиваем цели Яндекс Метрики
        • Подключаем Яндекс Метрику (оффлайн конверсию) к LeadConverter
        • Настраиваем поля интеграции для передачи оффлайн конверсии в Яндекс Метрику
        • Подключаем Яндекс Метрику (оффлайн конверсию) к боту
      • Bizon365
        • Подключаем Bizon365 к LeadConverter
        • Настраиваем передачу данных между Bizon365 и LeadConverter
        • Создаем сценарии ботов для интеграции с Bizon365
          • Приглашаем пользователей на вебинар
          • Сообщение после проведения вебинара
      • Instagram
      • info
      • Bizon365(111)
      • Проверка подписки и выдача бонуса по кодовому слову в комментариях Инстаграм
      • Email
      • 🟧Блок «Условие»
        • Условие "Группа"
        • Условие "День"
        • Условие "Время"
        • Условие "Дата"
        • Условие "Мессенджер"
        • Условие "Канал"
        • Условие "Произвольный ввод"
        • Условие "Имя" и "Фамилия"
        • Условие "Пользователь подписан на канал"
        • Условие "Пользователь не подписан на канал"
        • Переменные в условии
      • Какие лимиты на файлы установлены в мессенджерах?
      • Как передать бота заказчику в Telegram
      • Создание бота «Тестирование с подсчетом баллов и выдачей результата»
      • Facebook
Powered by GitBook
On this page
  • Создаём сценарий «Сколько мне дней»
  • Создаём сценарий «Сколько часов до нового года»

Was this helpful?

  1. Примеры
  2. Примеры ботов

Бот для счёта разницы во времени

PreviousПримеры ботовNextСоздание подписки через бота (рекуррентные платежи)

Last updated 2 years ago

Was this helpful?

В инструкции мы покажем, как собрать простого бота, который будет отсчитывать дни до какого-то события.

Также бот может высчитать...

  • ...сколько часов осталось до нового года;

  • ...сколько дней прошло от вашего дня рождения;

  • ...сколько времени прошло между датами.

В этих сценариях мы будем работать с функцией .

Важно!

В этом примере мы не показываем КАЖДЫЙ шаг, как в стартовом обучении, чтобы не усложнять чтение.

Поэтому, прежде чем приступить к выполнению инструкции, рекомендуем сначала изучить.

Приступаем 🎓

, после чего пишем приветственное сообщение. Добавляем кнопки, чтобы можно было выбрать один из сценариев.

Создаём сценарий «Сколько мне дней»

Чтобы узнать, сколько лет подписчику, нужно спросить дату его рождения.

  1. Далее создаём новый блок "Сообщение", тянем к нему связь от кнопки "Сколько мне дней".

  2. Создаём сообщение типа "Вопрос" и добавляем переменную "дата от". В неё будет помещён введённый пользователем ответ.

Отлично, теперь необходимо увериться, что пользователь действительно прислал нам дату.

Нужно создать условие и проверить, что наша переменная "дата от", в которой сейчас хранится ответ пользователя, соответствует нужному формату.

^(0?[1-9]|[12][0-9]|3[01]).(0?[1-9]|1[012]).((19|20)[0-9]{2})$
  1. Создаём блок "Условие", который будет проверять, что параметр "дата от" соответствует регулярному выражению (регулярке). Если пользователь введёт текст в другом формате, сработает красный выход. Мы сообщим ему об ошибке и запросим ввести дату в правильном формате. Пока пользователь не введет корректную дату, дальше по сценарию он не пройдёт.

  • Первым аргументом нужно написать формат, в котором будет посчитано значение. Мы хотим узнать разницу в днях, поэтому выбираем "days".

  • Вторым аргументом нужно передать дату рождения пользователя.

  • Третий аргумент можно не передавать, по умолчанию сравнение будет происходить с текущим временем.

  1. Собираем всё вышесказанное в одну строку и получаем:

    [date_diff]days|({дата от})[/date_diff]

    Вместо этой конструкции будет выведено количество дней между переданной и текущей датами. Добавим получившуюся строку в блок "Сообщение".

Всё работает, но "10031 дней" смотрится не очень красиво да и неудобно. Чтобы привести всё в опрятный вид, добавим возможность склонять даты.

  1. Вынесем расчёт дней в блок "Действие" для удобства работы с ним. Поместим результат расчёта в переменную "количество дней".

Теперь мы можем использовать переменную "количество дней" вместо вызова функции. Так менее громоздко, да и каждый раз пересчитывать не придётся.

({количество дней}) [skl]({количество дней})|день|дня|дней[/skl]
  1. Вставляем строку в наше сообщение.

  1. Снова проверим, как работает бот.

Отлично! Всё работает. Мы закончили реализацию этой ветки бота.

Создаём сценарий «Сколько часов до нового года»

Для того, чтобы нам узнать, сколько часов осталось до нового года, первым делом нужно узнать, а какой следующий год? Мы же планируем всё автоматизировать, а не корректировать сценарий нашего бота раз в год.

Сейчас будет сложная математика уровня второго класса:

  • Чтобы узнать какой следующий год - нужно взять текущий год и прибавить к нему 1.

  • Чтобы получить первое января следующего года, нужно написать такую функцию

[date_calc]01.01.%Y|+1 year[/date_calc]

В результате мы получим дату 1-го января следующего года. Она будет иметь вид 01.01.2022 (если сейчас 2021-й год, естественно).

Остались вопросы? Задайте их в нашу техподдержку!

Для проверки формата мы будем использовать следующее регулярное выражение

Оно взято . Регулярное выражение проверяет, является ли присланный текст датой в формате ДД.ММ.ГГГГ.

Если ваша задача отличается от примера и вам нужно проверить какой-то другой формат, напишите нам в . Мы поможем вам составить иное выражение

Осталось реализовать последний блок, который будет считать результат и присылать его пользователю. Для этого мы будем использовать функцию .

Также исправим вывод сообщения. Добавим функцию . Составляем функцию, как в описании, и получаем такой результат

Сложение дат выполняется с помощью функции .

Мы всегда рады помочь

👇
☺️
👇
из этого списка
❤️
поддержку
date_diff
👇
skl
date_calc
💟Как задать вопрос в поддержку?
"date_diff" (разница во времени)
раздел Боты
Создаём бота
Не забывайте кликать на картинки, чтобы увеличить их и подробно всё рассмотреть
Смотрим результат
Как выглядит собранный бот