Позволяет давать прямую ссылку на мини-приложение вида.
ТЕХНИЧЕСКАЯ ССЫЛКА
По умолчанию дата выводится в бот формате:
yyyy-mm-dd
Визуально плохо читается, поэтому, чтобы поменять цифры местами, используем такую запись
{{= DATE_FORMAT("[[date]]", "d.m.Y") =}}
В примере вывод даты в слайдер
ИДЕНТИФИКАТОР МИНИ-ПРИЛОЖЕНИЯ
Этот код понадобится при настройке переходов между приложениями внутри блока html код
ПОИСКОВЫЕ НАСТРОЙКИ
Для некоторых механик нужно вытаскивать номер недели.
Есть 2 варианта:
Номер недели от текущей даты DATE_FORMAT({{CURRENT_DATE}}, "W")
Номер недели от внесенной даты через календарь в форме ввода.
DATE_FORMAT({{data_diary}}, "W")
ДОПОЛНИТЕЛЬНЫЕ НАСТРОЙКИ
Есть 2 способа считать дни в боте:
Через сценарий в боте. Когда на старте мы запускаем сценарий, который считает дни.
Через таблицу. Когда записываем формулу столбец.
(DATETIME_DIFF(NOW(), {date}, "days") + 1) - где {date} -это столбец с датой входа.
БЛОК «ТЕКСТ»
Есть 2 способа считать дни в боте:
Через сценарий в боте. Когда на старте мы запускаем сценарий, который считает дни.
Через таблицу. Когда записываем формулу столбец.
(DATETIME_DIFF(NOW(), {date}, "days") + 1) - где {date} -это столбец с датой входа.
БЛОК «ТЕКСТ»
На входе бота проверяем ссылку. В нашем случае в ссылку передаётся число из таблицы.
https://t.me/Butov_move_bot?start=[[number]].
Помните, что сгенеированные через вкладку "Вход" ссылки, будут тоже содержать значения.
https://t.me/Butov_move_bot?start=link_lyMc4RbWQs
Дальше мы проверяем содержимое переменной - является ли оно числом. Для этого используем регулярное выражение: ^[0-9]+$
Если значение подходит под это условие, сохраняем его в персональную текстовую переменную {{START_PAYLOAD_PERSONAL}}.
А затем сразу очищаем {{START_PAYLOAD}}. Это нужно, чтобы при повторном входе бот не запускал этот же сценарий ещё раз.
БЛОК «ТЕКСТ»
На входе бота проверяем ссылку. В нашем случае в ссылку передаётся число из таблицы.
https://t.me/Butov_move_bot?start=[[number]].
Помните, что сгенеированные через вкладку "Вход" ссылки, будут тоже содержать значения.
https://t.me/Butov_move_bot?start=link_lyMc4RbWQs
Дальше мы проверяем содержимое переменной - является ли оно числом. Для этого используем регулярное выражение: ^[0-9]+$
Если значение подходит под это условие, сохраняем его в персональную текстовую переменную {{START_PAYLOAD_PERSONAL}}.
А затем сразу очищаем {{START_PAYLOAD}}. Это нужно, чтобы при повторном входе бот не запускал этот же сценарий ещё раз.
БЛОК «ТЕКСТ»
На входе бота проверяем ссылку. В нашем случае в ссылку передаётся число из таблицы.
https://t.me/Butov_move_bot?start=[[number]].
Помните, что сгенеированные через вкладку "Вход" ссылки, будут тоже содержать значения.
https://t.me/Butov_move_bot?start=link_lyMc4RbWQs
Дальше мы проверяем содержимое переменной - является ли оно числом. Для этого используем регулярное выражение: ^[0-9]+$
Если значение подходит под это условие, сохраняем его в персональную текстовую переменную {{START_PAYLOAD_PERSONAL}}.
А затем сразу очищаем {{START_PAYLOAD}}. Это нужно, чтобы при повторном входе бот не запускал этот же сценарий ещё раз.
БЛОК «ТЕКСТ»
На входе бота проверяем ссылку. В нашем случае в ссылку передаётся число из таблицы.
https://t.me/Butov_move_bot?start=[[number]].
Помните, что сгенеированные через вкладку "Вход" ссылки, будут тоже содержать значения.
https://t.me/Butov_move_bot?start=link_lyMc4RbWQs
Дальше мы проверяем содержимое переменной - является ли оно числом. Для этого используем регулярное выражение: ^[0-9]+$
Если значение подходит под это условие, сохраняем его в персональную текстовую переменную {{START_PAYLOAD_PERSONAL}}.
А затем сразу очищаем {{START_PAYLOAD}}. Это нужно, чтобы при повторном входе бот не запускал этот же сценарий ещё раз.
БЛОК «ИЗОБРАЖЕНИЕ»
На входе бота проверяем ссылку. В нашем случае в ссылку передаётся число из таблицы.
https://t.me/Butov_move_bot?start=[[number]].
Помните, что сгенеированные через вкладку "Вход" ссылки, будут тоже содержать значения.
https://t.me/Butov_move_bot?start=link_lyMc4RbWQs
Дальше мы проверяем содержимое переменной - является ли оно числом. Для этого используем регулярное выражение: ^[0-9]+$
Если значение подходит под это условие, сохраняем его в персональную текстовую переменную {{START_PAYLOAD_PERSONAL}}.
А затем сразу очищаем {{START_PAYLOAD}}. Это нужно, чтобы при повторном входе бот не запускал этот же сценарий ещё раз.
БЛОК «ВИДЕО»
На входе бота проверяем ссылку. В нашем случае в ссылку передаётся число из таблицы.
https://t.me/Butov_move_bot?start=[[number]].
Помните, что сгенеированные через вкладку "Вход" ссылки, будут тоже содержать значения.
https://t.me/Butov_move_bot?start=link_lyMc4RbWQs
Дальше мы проверяем содержимое переменной - является ли оно числом. Для этого используем регулярное выражение: ^[0-9]+$
Если значение подходит под это условие, сохраняем его в персональную текстовую переменную {{START_PAYLOAD_PERSONAL}}.
А затем сразу очищаем {{START_PAYLOAD}}. Это нужно, чтобы при повторном входе бот не запускал этот же сценарий ещё раз.
БЛОК «СТИКЕР»
На входе бота проверяем ссылку. В нашем случае в ссылку передаётся число из таблицы.
https://t.me/Butov_move_bot?start=[[number]].
Помните, что сгенеированные через вкладку "Вход" ссылки, будут тоже содержать значения.
https://t.me/Butov_move_bot?start=link_lyMc4RbWQs
Дальше мы проверяем содержимое переменной - является ли оно числом. Для этого используем регулярное выражение: ^[0-9]+$
Если значение подходит под это условие, сохраняем его в персональную текстовую переменную {{START_PAYLOAD_PERSONAL}}.
А затем сразу очищаем {{START_PAYLOAD}}. Это нужно, чтобы при повторном входе бот не запускал этот же сценарий ещё раз.
БЛОК «ЗАГОЛОВОК»
На входе бота проверяем ссылку. В нашем случае в ссылку передаётся число из таблицы.
https://t.me/Butov_move_bot?start=[[number]].
Помните, что сгенеированные через вкладку "Вход" ссылки, будут тоже содержать значения.
https://t.me/Butov_move_bot?start=link_lyMc4RbWQs
Дальше мы проверяем содержимое переменной - является ли оно числом. Для этого используем регулярное выражение: ^[0-9]+$
Если значение подходит под это условие, сохраняем его в персональную текстовую переменную {{START_PAYLOAD_PERSONAL}}.
А затем сразу очищаем {{START_PAYLOAD}}. Это нужно, чтобы при повторном входе бот не запускал этот же сценарий ещё раз.
БЛОК «ОПИСАНИЕ»
На входе бота проверяем ссылку. В нашем случае в ссылку передаётся число из таблицы.
https://t.me/Butov_move_bot?start=[[number]].
Помните, что сгенеированные через вкладку "Вход" ссылки, будут тоже содержать значения.
https://t.me/Butov_move_bot?start=link_lyMc4RbWQs
Дальше мы проверяем содержимое переменной - является ли оно числом. Для этого используем регулярное выражение: ^[0-9]+$
Если значение подходит под это условие, сохраняем его в персональную текстовую переменную {{START_PAYLOAD_PERSONAL}}.
А затем сразу очищаем {{START_PAYLOAD}}. Это нужно, чтобы при повторном входе бот не запускал этот же сценарий ещё раз.
БЛОК «СТРОКИ»
На входе бота проверяем ссылку. В нашем случае в ссылку передаётся число из таблицы.
https://t.me/Butov_move_bot?start=[[number]].
Помните, что сгенеированные через вкладку "Вход" ссылки, будут тоже содержать значения.
https://t.me/Butov_move_bot?start=link_lyMc4RbWQs
Дальше мы проверяем содержимое переменной - является ли оно числом. Для этого используем регулярное выражение: ^[0-9]+$
Если значение подходит под это условие, сохраняем его в персональную текстовую переменную {{START_PAYLOAD_PERSONAL}}.
А затем сразу очищаем {{START_PAYLOAD}}. Это нужно, чтобы при повторном входе бот не запускал этот же сценарий ещё раз.
БЛОК «ДОКУМЕНТ»
На входе бота проверяем ссылку. В нашем случае в ссылку передаётся число из таблицы.
https://t.me/Butov_move_bot?start=[[number]].
Помните, что сгенеированные через вкладку "Вход" ссылки, будут тоже содержать значения.
https://t.me/Butov_move_bot?start=link_lyMc4RbWQs
Дальше мы проверяем содержимое переменной - является ли оно числом. Для этого используем регулярное выражение: ^[0-9]+$
Если значение подходит под это условие, сохраняем его в персональную текстовую переменную {{START_PAYLOAD_PERSONAL}}.
А затем сразу очищаем {{START_PAYLOAD}}. Это нужно, чтобы при повторном входе бот не запускал этот же сценарий ещё раз.
БЛОК «ВКЛАДКИ»
На входе бота проверяем ссылку. В нашем случае в ссылку передаётся число из таблицы.
https://t.me/Butov_move_bot?start=[[number]].
Помните, что сгенеированные через вкладку "Вход" ссылки, будут тоже содержать значения.
https://t.me/Butov_move_bot?start=link_lyMc4RbWQs
Дальше мы проверяем содержимое переменной - является ли оно числом. Для этого используем регулярное выражение: ^[0-9]+$
Если значение подходит под это условие, сохраняем его в персональную текстовую переменную {{START_PAYLOAD_PERSONAL}}.
А затем сразу очищаем {{START_PAYLOAD}}. Это нужно, чтобы при повторном входе бот не запускал этот же сценарий ещё раз.
БЛОК «ФОРМА ВВОДА»
На входе бота проверяем ссылку. В нашем случае в ссылку передаётся число из таблицы.
https://t.me/Butov_move_bot?start=[[number]].
Помните, что сгенеированные через вкладку "Вход" ссылки, будут тоже содержать значения.
https://t.me/Butov_move_bot?start=link_lyMc4RbWQs
Дальше мы проверяем содержимое переменной - является ли оно числом. Для этого используем регулярное выражение: ^[0-9]+$
Если значение подходит под это условие, сохраняем его в персональную текстовую переменную {{START_PAYLOAD_PERSONAL}}.
А затем сразу очищаем {{START_PAYLOAD}}. Это нужно, чтобы при повторном входе бот не запускал этот же сценарий ещё раз.
БЛОК «КАРТОЧКИ»
На входе бота проверяем ссылку. В нашем случае в ссылку передаётся число из таблицы.
https://t.me/Butov_move_bot?start=[[number]].
Помните, что сгенеированные через вкладку "Вход" ссылки, будут тоже содержать значения.
https://t.me/Butov_move_bot?start=link_lyMc4RbWQs
Дальше мы проверяем содержимое переменной - является ли оно числом. Для этого используем регулярное выражение: ^[0-9]+$
Если значение подходит под это условие, сохраняем его в персональную текстовую переменную {{START_PAYLOAD_PERSONAL}}.
А затем сразу очищаем {{START_PAYLOAD}}. Это нужно, чтобы при повторном входе бот не запускал этот же сценарий ещё раз.
БЛОК «HTML КОД»
На входе бота проверяем ссылку. В нашем случае в ссылку передаётся число из таблицы.
https://t.me/Butov_move_bot?start=[[number]].
Помните, что сгенеированные через вкладку "Вход" ссылки, будут тоже содержать значения.
https://t.me/Butov_move_bot?start=link_lyMc4RbWQs
Дальше мы проверяем содержимое переменной - является ли оно числом. Для этого используем регулярное выражение: ^[0-9]+$
Если значение подходит под это условие, сохраняем его в персональную текстовую переменную {{START_PAYLOAD_PERSONAL}}.
А затем сразу очищаем {{START_PAYLOAD}}. Это нужно, чтобы при повторном входе бот не запускал этот же сценарий ещё раз.
БЛОК «ПОДСТАНОВКА»
На входе бота проверяем ссылку. В нашем случае в ссылку передаётся число из таблицы.
https://t.me/Butov_move_bot?start=[[number]].
Помните, что сгенеированные через вкладку "Вход" ссылки, будут тоже содержать значения.
https://t.me/Butov_move_bot?start=link_lyMc4RbWQs
Дальше мы проверяем содержимое переменной - является ли оно числом. Для этого используем регулярное выражение: ^[0-9]+$
Если значение подходит под это условие, сохраняем его в персональную текстовую переменную {{START_PAYLOAD_PERSONAL}}.
А затем сразу очищаем {{START_PAYLOAD}}. Это нужно, чтобы при повторном входе бот не запускал этот же сценарий ещё раз.
БЛОК «РАЗДЕЛИТЕЛЬ»
На входе бота проверяем ссылку. В нашем случае в ссылку передаётся число из таблицы.
https://t.me/Butov_move_bot?start=[[number]].
Помните, что сгенеированные через вкладку "Вход" ссылки, будут тоже содержать значения.
https://t.me/Butov_move_bot?start=link_lyMc4RbWQs
Дальше мы проверяем содержимое переменной - является ли оно числом. Для этого используем регулярное выражение: ^[0-9]+$
Если значение подходит под это условие, сохраняем его в персональную текстовую переменную {{START_PAYLOAD_PERSONAL}}.
А затем сразу очищаем {{START_PAYLOAD}}. Это нужно, чтобы при повторном входе бот не запускал этот же сценарий ещё раз.
БЛОК «БАННЕР»
На входе бота проверяем ссылку. В нашем случае в ссылку передаётся число из таблицы.
https://t.me/Butov_move_bot?start=[[number]].
Помните, что сгенеированные через вкладку "Вход" ссылки, будут тоже содержать значения.
https://t.me/Butov_move_bot?start=link_lyMc4RbWQs
Дальше мы проверяем содержимое переменной - является ли оно числом. Для этого используем регулярное выражение: ^[0-9]+$
Если значение подходит под это условие, сохраняем его в персональную текстовую переменную {{START_PAYLOAD_PERSONAL}}.
А затем сразу очищаем {{START_PAYLOAD}}. Это нужно, чтобы при повторном входе бот не запускал этот же сценарий ещё раз.
БЛОК «МЕНЮ»
На входе бота проверяем ссылку. В нашем случае в ссылку передаётся число из таблицы.
https://t.me/Butov_move_bot?start=[[number]].
Помните, что сгенеированные через вкладку "Вход" ссылки, будут тоже содержать значения.
https://t.me/Butov_move_bot?start=link_lyMc4RbWQs
Дальше мы проверяем содержимое переменной - является ли оно числом. Для этого используем регулярное выражение: ^[0-9]+$
Если значение подходит под это условие, сохраняем его в персональную текстовую переменную {{START_PAYLOAD_PERSONAL}}.
А затем сразу очищаем {{START_PAYLOAD}}. Это нужно, чтобы при повторном входе бот не запускал этот же сценарий ещё раз.
БЛОК «КЛАВИАТУРА»
На входе бота проверяем ссылку. В нашем случае в ссылку передаётся число из таблицы.
https://t.me/Butov_move_bot?start=[[number]].
Помните, что сгенеированные через вкладку "Вход" ссылки, будут тоже содержать значения.
https://t.me/Butov_move_bot?start=link_lyMc4RbWQs
Дальше мы проверяем содержимое переменной - является ли оно числом. Для этого используем регулярное выражение: ^[0-9]+$
Если значение подходит под это условие, сохраняем его в персональную текстовую переменную {{START_PAYLOAD_PERSONAL}}.
А затем сразу очищаем {{START_PAYLOAD}}. Это нужно, чтобы при повторном входе бот не запускал этот же сценарий ещё раз.
БЛОК «ТОВАР»
На входе бота проверяем ссылку. В нашем случае в ссылку передаётся число из таблицы.
https://t.me/Butov_move_bot?start=[[number]].
Помните, что сгенеированные через вкладку "Вход" ссылки, будут тоже содержать значения.
https://t.me/Butov_move_bot?start=link_lyMc4RbWQs
Дальше мы проверяем содержимое переменной - является ли оно числом. Для этого используем регулярное выражение: ^[0-9]+$
Если значение подходит под это условие, сохраняем его в персональную текстовую переменную {{START_PAYLOAD_PERSONAL}}.
А затем сразу очищаем {{START_PAYLOAD}}. Это нужно, чтобы при повторном входе бот не запускал этот же сценарий ещё раз.
БЛОК «ПОИСК»
На входе бота проверяем ссылку. В нашем случае в ссылку передаётся число из таблицы.
https://t.me/Butov_move_bot?start=[[number]].
Помните, что сгенеированные через вкладку "Вход" ссылки, будут тоже содержать значения.
https://t.me/Butov_move_bot?start=link_lyMc4RbWQs
Дальше мы проверяем содержимое переменной - является ли оно числом. Для этого используем регулярное выражение: ^[0-9]+$
Если значение подходит под это условие, сохраняем его в персональную текстовую переменную {{START_PAYLOAD_PERSONAL}}.
А затем сразу очищаем {{START_PAYLOAD}}. Это нужно, чтобы при повторном входе бот не запускал этот же сценарий ещё раз.
ПЛЮСЫ NOCODB
База находится на российских серверах. По закону персональные данные теперь нельзя хранить в Google таблицах
Лимиты больше, чем у Google таблиц. Их в 10 раз больше, чем у Google, если подключить 1 аккаунт Google. Даже если подключить несколько Google аккаунтов, мы все равно упремся в потолок 200 запросов в минуту. В новых таблицах - 600 в минуту на проект.
Можно спокойно двигать столбцы в таблице, на выдачу в боте это никак не повлияет. Очень удобная фича.
Связать таблицу с ботом стало гораздо проще и нет риска блокировки аккаунта.
ВАЖНО ЗНАТЬ
Чтобы увидеть новую информацию в таблице, нужно ее обновить. В Google мы можем в реальном времени наблюдать, как вносится информация. В этой базе это решение пока не реализовано.
К сожалению, привычные нам Google формулы здесь не работают, но есть свой набор встроенных решений. Их можно получить у нейросети.
На одном развороте видим только 25 строк. Чтобы увидеть больш информации, нужно листать базу.
Если удалить таблицу, ее не получится восстановить. Истории изменений, как у Google здесь нет. Если ввели неверные данные или случайно удалили значение, нажмитее CTRL+Z
Можно делать ручные бэкапы или попробовать настроить автоматические через n8n.
Если в таблице с данными изменить их тип, например с текстового на дату, то данные слетят. Можно нажать CTRL+Z или сохранить таблицу.
Названия столбцов должны быть на английском, иначе вы можете столкнуться с тем, что бот не будет верно обрабатывать информацию.