Создание Телеграм бота с помощью n8n с Александром Фоминым,  часть 3
51:46

Создание Телеграм бота с помощью n8n с Александром Фоминым, часть 3

School of Practical Skills 04.08.2022 2 363 просмотров 49 лайков

Machine-readable: Markdown · JSON API · Site index

Поделиться Telegram VK Бот
Транскрипт Скачать .md
Анализ с AI
Описание видео
Мои новый курс по автоматизации и AI 👉 https://artemdzyuba.ru Присоединяйся, чтобы оставаться на связи: Телеграм: https://t.me/practicalskills Инстаграм: https://www.instagram.com/practical_skills01/ Здесь можно скачать сценарий и получить шаблон страницы Notion: https://artemdzyuba.notion.site/3-17d6dcb4a22740238e0d0a502637de6b Основной канал — в телеграме: https://t.me/practicalskills Навигация: 0:00 Продумываем алгоритм взаимодействия с Notion 10:02 Создаем базы и интеграции в Notion 20:10 Выбираем, что сохранять в базе 24:54 Подготовка базы данных 30:18 Что, если пользователь уже зарегистрирован? 43:47 Выделение Notion в отдельный процесс 46:35 Сохранение тестовых данных 49:36 Проверка бота Наши социальные сети: Facebook: https://www.facebook.com/PracticalSkillsSchool ВКонтакте: https://vk.com/practicalskillsschool

Оглавление (8 сегментов)

Продумываем алгоритм взаимодействия с Notion

всем привет саша привет у нас сегодня очередная запись нашего такого стрима point in по разработке и бота с помощью int n в гостях у меня александр фомин мы уже провели две встречи и сегодня мы поговорим про новую тему а именно сохранения данных в вашей базе данных ну а точнее по простому внушен саша привет привет так ну значит какие у нас планы на это видео давай экран свою покажу попробуем тогда собрать этот план уже с тобой предварительно проговаривали сейчас попробуем визуализировать его так показываю экран видно да видно сейчас я так я вижу да я вижу наш план прошлые красная желтая значит красный у нас на ужин был а мы хотели с тобой сделать вот эту вот часть пока мы не перешли еще club по давай тогда про нее подробнее вообще что здесь подразумевается как мне кажется он был бы неплохо сделать две функции первая функция это просто сохранение в принципе всех пользователей которые написали боту которая с этим водам про взимать про взаимодействовали для того чтобы дальше в последствии ты как администратор бота мог бы этих пользователей догнать написать им что-то то есть чтобы эти пользователи все таки у тебя в базе сохранялись и вторая функция это сохранение обращений пользователей когда пользователь нажал непосредственно кнопку заказ чтобы после этого вот сохранял ну я думаю можем реализовать там какую-то самую простую механику что после этого бот сохранял то что пользователь напишет одно сообщение буквально и связывал в базе при этом с аккаунтом этого пользователя наверное можно еще сразу отправлять куда-нибудь на мыс бота сообщения что некий пользователя вам написал давай попробую визуализировать быстро чтобы мы наверное определились с тем что мы делаем и как это может выглядеть то есть вот вас значит есть какой-то триггер после того как нам пользователь написал мы ему что-то ответили и сохраняем его в базу ножка здесь у нас но уж этим синеньким при этом здесь наверное будет какая-то такая логика пользователь в каком случае мы пользователю будет захоронить когда он прислал нам команду старт и пользователь может прислать первый раз когда он только в первый раз зашел боты мы должны по сути создать нового пользователя в базе при этом пользователь может нажать старт их или написать его в какой-то момент уже после того как он зарегистрирован в базе и мы тогда должны наверное обновить для этого пользователя информацию о на всякий случай может быть у него поменялся user name или имя фамилия у него поменялись то есть здесь возможны два действия это новый пользователь мы тогда добавляем в на уж просто добавляем запись в базу и второй кейс это уже пользователь который у нас есть это апдейт рекорд для тех пользователей которые уже существуют апдейт будет происходить по какому действию если он прям что-то написан туда или мы привязываемся только команде старт то есть started a и регистрация и по сути апдейт пользовательских так вот что нам для этого надо сделать да и при этом у нас еще следующий кейс это кейс мы рассматриваем когда у нас команда старт след же кейс это callback клэри какой-то у нас там была ордер вот на ордер у нас получается тоже мы даем какой-то реплею бота после этого мы ожидаем что пользователь нам при ждет еще дополнительно какие-то данные ну хотя бы текст на мы ожидаем что пришлет какие-то данные либо что-то нажмет вот я не знаю здесь наверное нам надо будет посидеть с тобой примерно там подумать как это лучше сделать и после этого по сути давай отлично не знаю там как тебя вы у себя я обычно как делал если мы ждем какой-то поскакал бека какое-то действие то я выше в этой базе моушен там имел еще один столбец типа текущий статус и в этом статусе отмечал что вот именно конкретно это действие тогда можно как-то реагировать если например пришлет текст не в том формате в котором нужно именно там для этого действия например дату то я там пишу видео некорректный формат типа введите по такому-то типу тут как можно поступить тут на самом деле можно давать ему реплей и говорите напишите в свободной форме писать свой заказ что конкретно вы хотите и оставьте компакты по которым допустим с вами связаться что-то такое и в таком случае что нам нужно сделать после этого реплея нам нужно в базу для пользователя захоронить какую-то пометку о том чтобы сделать его такое сообщение я предполагаю да то есть тоже мы должны хранить мы тут должны в пользовательскую табличку сохранить оправдаетесь получается тоже таблицу юзеров и пометить что ждем от пользователя сообщения в и связанные с этим кейс эту пользователь просто присылает сообщением в потом пользователь прислал сообщение в бота мы проверяем базу по сути мы проверяем ждем ли мы от него такое сообщение тут все наверное надо уметь как-то обнулять это состояние если он вдруг решил отказаться от увода этого сообщения не знаю может быть такое то есть если какой-то сложное меню возможного может ожидать разные типы вводов и иногда то что я делал надо было затирать его статус если он вдруг где-то посередине вернуться в главное меню например то есть производим проверку если если мы от него ждем такое сообщение там и тогда создаем делаем новую запись в таблице ardors и вас мы оба эти табличку пользователей и в ней показываем что у пользователя появился заказ то есть проставляем связь это если если ждем если не ждем тогда у нас есть уже заготовкам и пользователю просто говорим неизвестная команда воспользуйся кнопками как-то так наверное на самом деле вот там где апдейт рекорд users там возможно нам не придется лезть в эту базу дано потому что мы эту связь можем про спилите на странице с ордерами там же будет связь двусторонние мы просто в одно из полей ну вот в эту связь запишем там текущего юзера только надо будет хранить конечно едешь не к этой записи в научном текущего юзера посмотрим как то сейчас у нас

Создаем базы и интеграции в Notion

будет получаться ну окей в общем пример примерно вот так вот что наверное будем пробовать реализовать я не знаю в процессе посмотрим может быть что что-то здесь упростится может быть что-то будет слегка по-другому реализовано давай попробуем в любом случае нам с чего нам нужно начать вас в любом случае должна во-первых появится база точнее набор таблиц с эти база у нас будет состоять я предполагаю что ну как минимум одна таблица у нас будет это users ты был пиши там будет view is full пейдж 1 будет users и но наверное ardors так разбираемся с начала с таблицы users и в целом как нам связать ее с м т идем в раздел с этим за members в раздел integrations здесь в самом низу есть ссылочка 2 перрон integrations то есть переходим по ней здесь как раз мы управляем создаем тех ботов те интеграции которые мы сами реализуем нажимаем не integrations задаем какое-то имя которое внутри будет в системе у нас видно в принципе ну logo не обязательно можно без него выбираем тот workspace внутри которого мы хотим использовать воды сейчас у меня отдельный workspace сиджей я добавляю в него возможности что этот бог сможет делать то есть он определенно сможет читать контент апдейтить добавлять какой-то контент ну с комментами я не предполагаю что мы здесь будем работать я поэтому галочки никакие не проставляю и с выбираю опцию но у юзера informational потому что никакую информацию пользователя в на уши не я с помощью этого боты запрашивать не буду все готовы сабмит он отдает нам интегральным токен который мы как раз таки можем уже вставлять непосредственно в нмт добавлять кредит шел на уж но с помощью этого токи копируем его идем в найти вот наш сценарий с которым мы работали здесь я сразу добавлю на уши бета да ты сюда его помещу то есть мы сейчас хотим за регистрации разобраться вот здесь у нас ветка велкам это первое стартовое сообщение которым пользователи отправляем открываю но уж он добавляю кредит шел create new здесь нам нужно вставить то-то и пике которые мы получили вот в этом разделе скопировали еще раз добавляем в текут сейчас мы нажмем сейфы будет ошибка в текущей версии но уж на вот этот вот базовый модуль которой они реализовали для ножки на в текущей версии найти на виду он при коннекте выдает вот такую вот ошибку но при этом все работает мы сохранили можно нажимать ретро и там сколько угодно во все равно будет выдавать ошибку но все равно все будет работать но поэтому они и пишут на самом деле вот если здесь посмотреть в навигаторе они пишут что на уши пока этот модуль состоянии бета возможны какие-то ошибки точности вот а еще я вставлю 2 копейки но уж он узел мне прям говорили на самом форуме там на в сообществе разработчикам в сообществе и найти что он дико не оптимизирован то есть если вы будете делать там большого бота в телеграме мне такое приходилось делать где все вертится вокруг моушен избегайте использования там более одного десятка узлов на уши на полотне потому что это дико затормозит ваш рабочий процесс прямо здесь ну то есть рабочий интерфейс там все эти узлы будут открываться по 10 секунд сохраняться столько же очень долго поэтому если у вас прям много нужен лучше разбивать их на отдельные узлы отдельные но я думаю мы сейчас так и сделаем примерно то есть мы какую-то заготовку сделаем здесь в основном а потом вынесем ее в отдельный сценарий ну и быстро просто проверим что она существует и работает до во-первых следующие действия для того чтобы этот бот это интеграция которую мы создали смогла работать с этой базы с этой базой с этими табличками нужно ей выдать к нему доступ и пошарить на нее целиком в принципе всю страницу которая хранит все вот эти таблицы которые мы создали погоди прерву тебя еще у тебя помнишь ты включал подсветку курсора ты можешь это сделать читаю забыл что тебе но супер так все же нажимаю шер и здесь он сразу предлагает уже среди возможных вариантов того бота который мы которого мы создали все я его добавляю теперь ему открыт доступ у него права контент то есть он может вносить изменения и первую проверку которую я хочу сделать я копирую вот этот пойди с этой страницы и хочу просто получить я хочу получить все базы данных которые есть на этой странице или не базы данных или пэйджа думаю как лучше вернусь проверить просто да это базис рубаи все и смотри как этом был багет пол тогда ничего копировать не нужно верно вернет просто меня сразу их потому что этот бот видят только их у меня при этом есть еще там еще что-то в workspace и но этого боты адаб я открыл ему доступ только сюда поэтому видят он только их и на запрос get all. biz он выдает только эти две базы данных вот проверили интеграция работает мы можем дальше использовать с этими creedence этому бота уже делать какие то операции по средства теперь оставляем эту заготовку дальше мы это может быть как то по использую интеграция готова теперь мы можем по сути вот в эту базу users сохранять новых пользователей что для этого нужно сделать так во первых да мне надо включить наверное сейчас секунду сейчас верну экран так вернул экран вот наш бот запустим сценарий для того чтобы внутри получить данные с которыми мы будем работать дальше так запустил нажал просто старт как раз воспроизвел то события при котором мы хотим записывать так китайский messenger запустили воспроизвел это событие теперь здесь есть данные что важно да вот у нас заканчивается сообщения мы пишем вот здесь и вот какие мы данные получаем на выходе в этом вот что у нас есть в принципе мы можем использовать и эти данные но я считаю что правильнее наверное было бы записывать те данные которые мы получили в триггер и по разным причинам то есть а прости я тебя перебью а что там за всякие овцы ты были в этих данных вот ты открывал там этот это мы отправили пользователю сообщения и в этом сообщении есть различные элементы выделения бал дом как он текстом сложный тем как

Выбираем, что сохранять в базе

метко вот я считаю что правильном в данном случае было бы сохранять те данные которые мы получили вот здесь непосредственно в триггере что я хочу сохранять айди user name first name last name и на всякий случай но дэйт тоже хочу сохранять вот и поэтому здесь после как я уже отправил сообщение я хочу сохранять все пользовательские данные в базу уже после того как пользователь получил сообщение в ответ для того чтобы в бате был быстрый отклик я что-то написал вот мне ответил и простоту то есть он сразу прямо ответил ему никакие данные для этого не нужны на бэкграунде уже после этого он производит какие-то операции с базой так будет быстрее только и есть такой момент это же когда снова что она работала уже научно ставить вперед то может быть реально задержка там 1 2 секунды не очень приятно но зато если что-то сломается сна уж он-то пользователь не увидит сообщения которая его может ввести в заблуждение дан то есть в базу не загрузился человеку показали что типа все загрузилось ну например поэтому здесь я добавляю модуль сет что какой он функцию будет выполнять по сути он еще раз берет из триггера дамы чтобы пустить их дальше назову его условно как-нибудь рег файл от красот полезная нагрузка которую я дальше в базу хочу отправить если мне нужно ну по сути заново собрать пользовательские данные которые я хочу дальше уже отправлять в базу я добавляю что 5 полей здесь у меня будет т. г. айди что еще у меня будет user name глаз можно перетаскивать можно когда все в табличном режиме хорошо лежит ты можешь вот эти вот оля перетащить так и зерна и здесь у нас будет 1 the last name и т. п. вот теперь ну может быть кстати из триггера можно я тоже так не получиться теперь по сути в каждой из них мне нужно проставить из из раздела ноут ищем как раз триггер hold падает джейсон и from ой дим вот тут по какому принципу эти идут то есть наверху находится самый ближайший trigger 2 этот узел цепочки потом стоящий на один узел дальше так далее до самого первого узла потом все остальное да так для ускорения кстати можно допустим да можно вот так вот скопировать что подставить здесь заменить айден a user name то же самое в first name а если не будет допустим у нас нем ошибки не будет просто хороший вопрос раз надо будет проверять дай под много различных сценариев возможно так и последнее у нас это дэй ту нас по-моему где-то на уровне мы с самого находятся да вот он дает пробуем выполнить вот получили вот в

Подготовка базы данных

таком виде данные дальше мы ну хотим по сути записать их в базу сейчас пока не усложняем да я хочу сам здесь выполнить простое действие вот прямо сейчас эти данные отправить в базу и за раз для этого сама базу нужно подготовить как я ее вижу вот для этого кейса по сути у нас название записей в базе могли бы быть непосредственно сами такая идеи потому что они каждый будут разные а дальше у нас 4 текстовых property то есть ты айди будешь хоронить в текстовом свойств и получается они в числовом но до user name дай да и то есть это чисто мы можно сделать там же чисто число может многом просто намбер правил отмечу что в int n могут возникать проблемки когда вы перекидываете как бы числовые данные между системами они где-то трактуется как число где-то как строка их надо порой принудительно конвертировать в самовар ты хороший комментарий действительно потому что здесь моста гайде приходит числом наверное имеет смысл сюда дописать операцию превращение его в строку tostring вот я думаю в общем то нормально запишется вот когда обратно вытаскивает что бывает intel тупит не понимают что перед ним число ну это тестировать конечно смотреть гонять так соединяем их и теперь настраиваем удивил но у шона здесь будем добавлять дейта bass пейдж будем создавать ее в базе users тайтл у нее будет вот прям такая идея перетаскиваем просто как раз отсюда и добавляем property все которые мы хотим я указать у нас всего их будет тут еще ремарка такая что здесь сайт которой он избыточные то есть он то появился из какой-то другой функциональности узла где вы просто работаете вниз не со страницами базы данных с обычными страницами то есть здесь тайтл можно полностью игнорировать вот это вот который вынесено отдельно и желать оставить начала можно убрать потому что точно такое же свойство есть вот среди этих выпадающих я в принципе всегда игнорирую может и должна дал отдавая честь им вообще пусть у нас здесь будет пусто тогда здесь мы выбираем по очереди до уже кстати заметно что слегка узел нож начинает подлагивать это только два узла у нас но в любом случае можно воспользоваться если теперь и крест модулем если что даже снова что нам там много всяких джейсон от таких неприятных писать принципе здесь он удобный узел но надо прямо помнить желательно за десятку не выходить там 10 15 максимум у меня бывали случаи когда страница настолько долго открывалась что появлялось сообщение типа страница не отвечает и еще ждут три секунды это сообщение пропадает страница загружается все по сути мы их назвали точнее выбрали теперь нам нужно расставить как раз вот dragon тропам все данные в нужные поля и просто ждем что так все остановил так не смотри fox проставилась я запускаю выполнение по идее сейчас должна сознаться запись запись создалась вот она появилась лишь не пустые строчки можно

Что, если пользователь уже зарегистрирован?

удалить то есть простейшие создание вот оно реализовано но есть проблема что запись будет сейчас при таком при такой реализации запись будет создаваться каждый раз когда пользователь нажимает старт а нам нужно чтобы у одного пользователя была одна запись вот соответственно как это можно сделать это я пока что перу выключу добавление непосредственно самой я вставляю чуть подальше здесь что я хочу сделать в первую очередь я хочу когда я получил пользовательские данные какие то я хочу вообще в целом проверить есть ли у меня такой пользователь в базе уже или нет тогда я выбираю дпс пейдж get all то есть найти все те я страницы в базе все записи по определенному условию поедешь нику видимо да выбираю поле в поле фильтр выбирай убил бы мы не ели и добавляю условия как раз где-то г-н де будет равняться и курс вот этому полю такая идея тут надо еще отметить что может на всякий случай и не фильтр поменять на че там пол фильтр на у нас пока один фильтр но если но здесь один да я думаю что это не принципиально случае еще что-то условие появится запускаю тоже найти то он его нашел что далее я хочу делать дальше я хочу сделать разветвления он может найти или не найти и этих случаев бах да кстати верно действительно потому что если он не найдет то наверное просто восстановит исполнении поэтому а вы south вот это если не дойдет пользователя то в той любят утром опустит дальше ну вот мы сейчас просто проверим это удалим тебя и запустим да давай я удалил запись пускаю еще раз вот теперь он отдал пустой элемент так вообще не пошел видимо надо кстати еще они еще непонятно может и если убрать этот то ничего не изменится то есть кто знает там что они прописали и которую значение возвращают а некоторые могут и по пустой возвращать я вот точно не помню добавлю сейчас еще раз себя в базу пусть я буду пусть я получу все таки запись где есть какие-то дамы я хочу произвести следующую проверку я перетаскиваю сюда идиш ник и как мы уже проверяли до этого я добавляю сюда газон property заменяем круг квадратные скобки на круглая таким образом он проверяет что у той записи которая пришла есть поле именно айди с погоди запись которая пришла а да ты проверяешь не пустая лида дальние пристани поставили если у него айдида что дальше происходит по сути если у него аиде есть то тогда я хочу просто правда этих запись если у него нету аиде то я хочу добавить запись как это сделать во первых нужен модуль norge где мы подставим данные то есть вот здесь вот данные которые сейчас пришли могут отличаться от того что уже записано в базе подожди поставил вопросы то есть а мы не можем просто повесить на два разных выхода в одном случае создать а в другом случае обновить запись ну вот смотри вот здесь вот без мертв не обойтись никак сейчас почему потому что данные пользовательские вот тот хранятся в рег файл out послу как мы запустили на уши модуль вот здесь вот мы ищем пользователя он либо отдает то что в базе записано уже либо он отдает пустую запись мы же дотянемся через этот через указание более дальних узлов да можно так кажется здесь просто можно без merge- обойтись попробовать ну давай попробуем показ мертвым я объясню почему я именно так предполагаю будет лучше временную на всякий случай в файл user что мы делаем здесь в мер чиж это будет у нас audi и за же мы в input 2 тянем тоже отсюда и спел да здесь в ударом операцию наш пайки и мы эти записи мертвым по такая идея да я сейчас запущу iv для того чтобы сюда пришли какие-то дабы вот данные пришли мы видим что у нас и там есть такая идея она только он вот здесь называется dame ну просто назови не тестера property to гайде здесь у нас будет не слушая а вот у тебя так хорошо работает ты можешь запускать узлы рядом с мерчем и сам вершит у меня почему-то сбрасывалась данные когда я запускал узел мерч например он постоянно говорю что перезапустите триггер на ну в общем ждет новые входящие у тебя как-то прям ты свободна так нажал чик-чик нужно перед мертвым нажал на сам мер чеченец бросилась она у меня тоже бывает проблемы какие то иногда странно сейчас добавлю это, здесь важный момент еще то есть если мы хотим чтобы новые данные в базу перезаписываю разденетесь должна стоять опция вера it always то есть данные из и mp2 всегда будут перезаписывать то что пришло в input 1 будет сохраняться только вот такая день непосредственно сама созданного будет перезаписываться это так так ты пропал чем дело сделаем операцию апдейтов пропал 35 секунд назад что начинка говорю это случай для юзера которая уже существует и я дублирую сейчас motion вот этот модуль на уши но у него буду делать операцию апдейт user аспирин зову его удобством и здесь у нас что важно почему мы мерзнем эти данные да то есть мы единым прям вот таким вот набором данных отдаем сразу и айди жку страницы которые мы хотим апдейтить и все данные которые туда можно положить в данном случае мы просто наверное в каком-то смысле для удобства я хочу еще важную вещь упомянуть не обратил на это внимание ты везде сейчас оставил прожитой кнопочку simplify вот здесь посередине горит зеленая это упрощенная работа с узлом на ужин там все данные все свойства первого уровня будут там про партии верны им и так далее есть важная проблема она плохо работает с кириллицей если у вас столбцы называется по-русски ну там просто на кириллице набранные там любовь и славянский язык кириллический то будут проблемы с вот этим property поэтому я лично обычно отщелкивает simplify вот там появляется несколько уровней как написано выпей на ужин но зато проблем с кириллицы не возникает ни когда это надо просто помнить если вдруг у вас с наименованиями пропорции он там first name какие-то проблемы возникли не знают и статус с таким я даже по-моему на форум как-то писал сталкивался до но я в основном чаще всего я использую сяп лифа и если мне нужно чтобы сложной основу делать то я там использую обычно и 4 перекресток благодаря тому что в принципе просто клонировал этот модуль изменил operations клеить на апдейт у меня все сохранилось я поставил сюда просто вот айди которые у меня тут пришел ну и в принципе все здесь только правит проверю что такая иди у меня есть нет нету здесь надо просто ются так и name что-то он не перезаписала как но заметно тормоза уже даже быстрее чем у меня стали проверяем как он исполняется все исполнилось и эта ветка для апдейта на это ветка для добавления то есть там здесь тоже нужен norge но в режиме уже не мерз байки в режиме пас то есть нам нужно просто пропустить данные которые идут отсюда едешь к странице нам не нужна в данном случае пропускаем мои input 2 в input 1 заводим избив из фолз как раз ок попробуем сейчас еще раз тебя я удаляю запущу еще раз поиск теперь запускает до пропустил добавить нового пользователя добавил пользователь появился от ему сейчас в научно что-нибудь удалить какой-нибудь поле что мы увидели что он перезаписал ну допустим да вот у нас допустим будет храниться ну допустим вот так и вот так запускаем еще раз поиск он нашел попробуем эту запустить она не срабатывает потому что уже есть такая запись спускаем эту она срабатывает и запускаем апдейт пользователя

Выделение Notion в отдельный процесс

оля обновились вот что теперь с этим хочется сделать во первых сохранить это почаще вообще в принципе сохраняться вот дальше я хочу вот это все вынести в по сути у меня нужно сделать какой-то новый сценарий можно через дубли кейт просто сделать это будет у меня сервер какой-нибудь регистратор здесь я удаляю все туда лишь этот сет но мне как раз здесь и не нужен у меня вместо сета будет и сейчас надо старт вот здесь будет старт стоять вместо как раз эта asset будет в основном сценарии для того чтобы сюда передать данные вот в таком виде вот а из старта но я подсоединяю туда где в принципе все и было испуская просто сохраняю из важного я во первых хочу чтобы блокировались исполнение и ещё я хочу чтобы вот этот вот р workflow меня был тот который мы с тобой до этого настроили если здесь какая-то ошибка произойдет чтобы тоже также туда же сыпались сообщение об ошибке так все этот а кто у нас под номером 23 здесь этому все удаляем слушая на насколько понимаю при отладке же нельзя увидеть как данные передаются из одного workflow другой но часто и добавить что этот декрет workflow 23 мы же не сможем увидеть ну то есть мы увидим типа вал я увижу результат до большой а в истории увижу как он выполнялся то есть вот регистратора вот он исполнился я могу в истории посмотреть что произошла

Сохранение тестовых данных

ну еще есть такой я не знаю лайфхак вот эти данные которые мы передаём в какой-то враг for в дочерней мы можем вот сюда их добавить на функции функция так и делал просто воспроизвести и пока там в режиме откладки можно его здесь гонять вот то есть ну по сути сделали пока вот маленький сервер к сервис который отвечает за регистрация добавь здесь этот узел тоже чтобы люди имели это в виду если чё ты имеешь это с тестами даже типа все удаляемые места anthems до вместо этом сложно добавить джейсон объект можно дать можно просто в принципе скопировать то что мы оттуда взяли должны работать вот и можно сделать следующую вещь то есть мы его можем в принципе подставить вообще в сценарий чтобы всегда внутри него был но он должен только для откладки то есть зовем его так чтобы не забыть дальше я тебя тоже то дополню у меня тоже вот были когда я разбил свой процесс цена несколько тоже то приходилось весь процесс тестирует только вот этот отдельный workflow и я придумал следующие сделал узел now up ну которые ничего не делают назвала воды это хоп и в него уткнул с одной стороны триггер а с другой стороны вот эти данные не везде где надо ссылался уже надо это хоп и я знал что как бы как мне не приходит данные через старт или через сохраненные данные они все проходят через этот фейковый узел дейта хоп и там точно остаются их можно оттуда брать да я тоже так делаю это я видел еще на каком-то из камня этапов и на этом тоже ребята показывали как они активно этим пользуются то есть тестовые данные у нас здесь существуют и поэтому мы можем запустить сценарий сам по себе и он что-то сделает опираясь на эти тестовые данные но при этом мы можем просто отключить эти тест выданы поставить на паузу и в таком виде сценарий продолжит работать уже как в продакшене непосредственно как когда уж бот сам включим бот работает и все происходит то есть мы здесь еще раз сейчас выполним он выполнит спреде без ошибок вот это получается 1 часть регистрация

Проверка бота

проверим теперь что у нас происходит уже непосредственно самим потом в реал тайме так пользователей позвал нас пустая нажимаю старт появилась запись изменяем здесь что-то чем моим старт и запись обновилась до так что думаешь прервёмся может быть пока саша тебе спасибо сейчас мы завершили регистрацию следующей встрече мы научимся понимать состоянии пользователя что нас ждёт в бате что бот от него ждет и сохранять полученные данные в другой таблицы вот на этом мы тогда попрощаемся сейчас сашей счас тебе большое спасибо тебе тоже тогда давай все до скорой встречи а я займусь обработка этого видео давай спасибо пока-пока

Другие видео автора — School of Practical Skills

Ctrl+V

Экстракт Знаний в Telegram

Экстракты и дистилляты из лучших YouTube-каналов — сразу после публикации.

Подписаться

Дайджест Экстрактов

Лучшие методички за неделю — каждый понедельник