Аукцион на Автопилоте

Видео вебинара

План вебинара:

Материалы для изучения

Ниже будет конспект команд. Все остальные пункты могут вести на отдельные инструкции

Команда «Синхронизация Senler+HappySanta - подписка»

Важно! Для корректной работы команд у вас должны быть настроены интеграции Senler и HappySanta. В примере, мы перед аукционом даем возможность им подписаться, чтобы уведомить о выигрыше.

Событие:

1) Событие «Подписался в Senler» с переключателем подписался на нужную группу подписки. В примере: 2595772

Пример события
Пример события

Действия:

1) Для подписки на список рассылки HappySanta добавляем действие «Добавить в список рассылки / удалить» с переключателем подписан и указываем нужный список. В примере: 1342102

Пример действия
Пример действия

2) Оционально, для того, чтобы узнать добавился ли подписчик в HappySanta добавляем действие «Отправить сообщение в VК» с переключателем сотрудникам (добавляя нужных) и текстом:

#hsКлиент:%vk_link% 
Подписка: %response%
Пример действия
Пример действия

Мы рекомендуем это делать для контроля, вдруг что-то не отработает и вы об этом не узнаете.

3) Чтобы отправить сообщение клиенту добавляем действие «Отправить сообщение в VК» с текстом:

%first_name%, спасибо за участие в аукционе.
Отписаться можно тут:
ccылка на подписную
Пример действия
Пример действия

Команда «Синхронизация Senler+HappySanta - отписка»

Тут все просто и собирается по аналогии с командой выше. Только в событии переключатель отписалсяи в действии на удален. Справились? Идем дальше

Шаблон для поста

Важно! Настройка будет работать корректно, только с данным шаблоном. Если изменяете шаблон, то не забудьте внести изменения в команду.
#Аукцион 24 часа,
Первоначальная ставка: 100
Лот: Личный боинг
Минимальный шаг: 250 ₽
Доставка СДЭК, Боксберри, Почта, Авито
Ставки делаются ответом на комментарий
Окончание 23.01 в 17-00 по Мск
Внимание действует 3 минутная отсрочка между ставками и продление аукциона.
Внимание За не выкуп лота и удаление комментариев Бан !
#Автопилот

Естественно про доставку и бан оставлено для примера. Важные строки отмечены жирным.

Команда «Аукцион - вышел пост»

Важно! Эта команда позволяет закинуть пост в отложку и забыть про ручную настройку после выхода поста. Важное уточнение! Если вы отредактировали пост, то все изменения в ресурс вносите самостятельно, т.к. ВК не сделал событие на редактирование поста

Событие:

1) Для реакции только на пост с хештегом #Аукцион добавляем событие «Создал пост в VK» с текстом: #Аукцион

Пример события
Пример события

2) Чтобы реагировать только на опубликованные посты добавляем условие: переменная %post_type% содержит post

Пример условия
Пример условия

Действия:

1) Чтобы получить цену из поста во временную переменную %start_price%достаем через функцию {array} третью строку вот так:

{array}%content%|3|val|col{/array}
Достаем третью строчку из поста. Например: Первоначальная ставка: 100
Достаем третью строчку из поста. Например: Первоначальная ставка: 100

2) Для того, чтобы достать из строки только цену во временную переменную %start_price%оставляем через функцию {num} только цифры.

{num}%start_price%{/num}
Достаем только цифры
Достаем только цифры

3) Аналогично для того, чтобы получить название услуги/товара из поста во временную переменную %price_name% достаем через функцию {array} пятую строку вот так:

{array}%content%|5|val|col{/array}
Достаем пятую строчку из поста. Например: Лот: Личный боинг
Достаем пятую строчку из поста. Например: Лот: Личный боинг

4) Чтобы получить начальный шаг ставки из поста во временную переменную %price_offset% достаем через функцию {array} седьмую строку вот так:

{array}%content%|7|val|col{/array}
Достаем седьмую строчку из поста. Например: Минимальный шаг: 250 ₽
Достаем седьмую строчку из поста. Например: Минимальный шаг: 250 ₽

5) Для того, чтобы достать из строки только цену во временную переменную %offset%оставляем через функцию {num} только цифры.

{num}%price_offset%{/num}
Достаем только цифры
Достаем только цифры

6) Чтобы получить ссылку на вышедший пост во временную переменную %post_link% пишем текст:

https://vk.com/wall-%event_club_id%_%object_id%
Формируем ссылку на пост
Формируем ссылку на пост

7) Оционально, для того, чтобы узнать все ли настроено корректно добавляем действие «Отправить сообщение в VК» с переключателем сотрудникам (добавляя нужных) и текстом:

#пост
Название: %price_name%
Стартовая цена: %start_price%
Смещение: %offset%
vk.com/wall-%event_club_id%_%object_id% — ссылка на созданный пост
Отладка админу
Отладка админу

8) А теперь с помощью сайта https://jsonformatter.org/ сформируем корректный JSON со всеми данными и запишем в ресурс действием «Создать /Изменить ресурс» с названием Аукцион_№_%post_id%

{
"post_id": "%object_id%",
"post_link": "%post_link%",
"action_end": 0,
"start_price": %start_price%,
"offset": %offset%,
"price": {math}%start_price%+%offset%{/math}
}

Не переживайте Андрей все для вас подробно объяснил в видео.

Формируем корректный JSON
Формируем корректный JSON

Команда «Аукцион - ставка сделана»

Важно! В видео выше я не проверяю подписку на Senler, если нужно проверяйте в условиях. В видео в конце статьи я показываю дополнительные улучшения. В примерах указаны реакции на невыполнения. Они будут списывать ваши мили. Если вам не нужно уведомлять игроков, то можете их не делать.
Еще важное дополнение. Если вам нужно чтобы аукцион брал данные только из ресурса конкретного сообщества, то в функции {get}Аукцион_№_%post_id%|name|body{/get} указываете 4 параметром %event_club_id% либо ID числом
Пример:

{get}Аукцион_№_%post_id%|name|body|%event_club_id%|equal{/get}

Либо так:

{get}Аукцион_№_%post_id%|name|body|183635420{/get}

Событие:

1) Для реакции на комментарий добавляем событие «Написал комментарий» с пустым ID поста и текстом подходящим под регулярку \d+ (любое число)

Пример события
Пример события

2) Для удобства мы сделаем, чтобы сделать ставку можно было только в комментариях первого уровня - условие: числовая переменная %reply_to_user% равно 0

Пример условия
Пример условия

3) Чтобы проверить активен ли аукцион добавляем условие переменная

{json}{get}Аукцион_№_%post_id%|name|body{/get}|action_end{/json} равно 0

То есть, через функцию JSON мы получаем из ресурса с названием Аукцион_№_%post_id% свойство action_end и если оно равно 0 и время выполнения команды в периоде от 0 до 17 часов, то запускаем команду, иначе в реакции на невыполнение говорим, что аукцион завершен. Реакция на невыполнение сделана для примера

Пример условия
Пример условия

4) Чтобы проверить корректная ли ставка добавляем условие числовая переменная {num}%content%{/num} больше или равна {json}{get}Аукцион_№_%post_id%|name|body{/get}|price{/json}

То есть, функцией JSON мы получаем из ресурса с названием Аукцион_№_%post_id% свойство priceи если ставка игрока больше или равна price, то запускаем команду. Иначе пишем реакцию на невыполнение сделана для примера

Ваша ставка не может быть меньше {json}{get}Аукцион_№_%post_id%|name|body{/get}|price{/json}
Пример условия
Пример условия

Действия:

Важно! Напоминаем, что если нужен ресурс из конкретного сообщества, то внесите измения в команду, по пояснению выше.

1) Для того, чтобы достать данные заводим временную переменную %array% со значением

{get}Аукцион_№_%post_id%|name|body{/get}
Достаем данные из ресурса
Достаем данные из ресурса

2) Через функцию {json} получаем свойство start_price во временную переменную %start_price%

Начальная ставка
Начальная ставка

3) Аналогично, через функцию {json} получаем свойство priceво временную переменную %bot_price%

Ставка
Ставка

4) Снова через функцию {json} получаем свойство offsetво временную переменную %offset%

Смещение ставки
Смещение ставки

5) Для того, чтобы получить ставку игрока во временную переменную %user_price%оставляем через функцию {num} только цифры.

{num}%content%{/num}
Ставка игрока
Ставка игрока

6) Чтобы сформировать сообщение об успешном принятии ставки во временную переменную %ok%пишем текст:

%first_name%, ваша ставку %user_price% приняли. Если до 17 часов ее не перебьют вы выиграли.
Сообщение об успешной ставке
Сообщение об успешной ставке

7) Чтобы сформировать сообщение об ошибке в ставке во временную переменную %error%пишем текст:

%first_name%, ваша ставка %user_price% не принята. Минимальная ставка: %bot_price%
Сообщение об ошибке
Сообщение об ошибке

8) Формируем разный текст от условий. В условной переменной %text% =

  • борщ куплен! Аукцион закончился
    если числовая переменная%user_price% больше или равна%bot_price%
  • Иначе: %error%
Формируем текст
Формируем текст

9) Для того, чтобы сохранить ссылку на пост во временную переменную %post_link%пишем текст:

https://vk.com/wall-%event_club_id%_%post_id%
Ссылка на пост
Ссылка на пост

10) Чтобы ответить комментарием добавляем Действие «Написать комментарий» с текстом:

%text%

Для ответного комментария жмем Еще Больше опций — и кликаем на %object_id%

Ответный комментарий
Ответный комментарий

11) Для того, чтобы продолжать команду только если ставка принята, добавляем действие «Прервать / продолжить выполнение команды» с переключателем продолжено и условием: переменная %text% содержит приняли

Продолжаем только если ставка принята
Продолжаем только если ставка принята

12) Во временную переменную %action_end%пишем текст:

Во временную переменную %start_price%пишем текст:

%user_price%

Во временную переменную %user_link%пишем текст:

Победитель: %vk_link%
Формируем переменные
Формируем переменные

13) Во временную переменную %array_new%пишем корректный JSON:

 {
"post_id": "%post_id%", 
"action_end": %action_end%, 
"start_price": %start_price%, 
"offset": %offset%, 
"price": {math}%start_price%+%offset%{/math}
}

А теперь с помощью запишем переменную %array_new% в ресурс действием «Создать /Изменить ресурс» с названием Аукцион_№_%post_id%

Примеры действий
Примеры действий

14) Во временную переменную %admin_id%пишем ID админа:

Сохраняем ID админа
Сохраняем ID админа

15) Действием «Сменить исполнителя команды» меняем исполнителя на %admin_id% и отменяем таймер с названием Аукцион_№_%post_id%этим действием

Примеры действий
Примеры действий

16) Для того, чтобы продолжать команду только если время ставки до 17:00, добавляем действие «Прервать / продолжить выполнение команды» с переключателем продолжено и условием: время выполнения события с 0 до 17 часов, пока идет аукцион.

Пример условия
Пример условия

17) Действием «Запустить таймер» запускаем таймер по наступлению 17:00. Не забудьте переключить таймер в универсальный режим.

Устанавливаем таймер
Устанавливаем таймер

18) Во временную переменную %action_end%пишем текст:

1
Пример переменной,
Пример переменной,

Во временную переменную %array_new%пишем корректный JSON:

 {
"post_id": "%post_id%", 
"action_end": %action_end%, 
"start_price": %start_price%, 
"offset": %offset%, 
"price": {math}%start_price%+%offset%{/math}
}

А теперь запишем переменную %array_new% в ресурс действием «Создать /Изменить ресурс» с названием Аукцион_№_%post_id%

Примеры переменных блоки можно вставлять по номеру
Примеры переменных блоки можно вставлять по номеру

19) Опционально запишем переменную %user_link% в примечание ресурса действием «Создать /Изменить ресурс» с названием Аукцион_№_%post_id%

Оционально, для того, чтобы узнать о завершении аукциона добавляем действие «Отправить сообщение в VК» с переключателем сотрудникам (добавляя нужных) и текстом:

#Аукцион_кончился
%user_link%
Примеры действий
Примеры действий

20) Для рассылки участникам аукциона имени победителя добавляем действие «Отправить рассылку через HappySanta» с номером и указываете свой список рассылки и текстом:

#Аукцион кончился
Победитель: %user_link%
Аукцион на Автопилоте, image #39

Оционально, для того, чтобы узнать как прошла рассылка добавляем действие «Отправить сообщение в VК» с переключателем сотрудникам (добавляя нужных) и текстом:

#hs
Победитель%user_link%
%response%
Важное дополнение

Вот и все!

Все работает идеально. Творческих взлётов и успешного внедрения! А если хотите залететь в клуб и быть, как Андрей, то вот ссылка

Вопросы или пожелания можете оставлять в комментариях к этому посту.

Вернуться на главную страницу инструкций
292 views·6 shares
292 views