Добавить в корзинуПозвонить
Найти в Дзене
PuzzleBot ://

#start: Как подвести итоги розыгрыша через NocoDB

? В воскресенье мы опубликовали результаты нашего конкурса, а сегодня делимся подробным процессом, чтобы вы могли повторить механику в своих проектах 1. Подготовка таблицы в NocoDB Создаем таблицу и добавляем столбцы. Для проведения розыгрыша достаточно настроить всего одно поле, остальные данные можно собирать по желанию: Обязательно: ⚪️ {{username}} + {{user_id}} (тип: Single line text) — связка юзернейм и ID пользователя. Нужна для того, чтобы вы смогли связаться с победителем, даже если у него в профиле скрыт или не настроен username (тогда вы найдете его по ID). Именно это поле бот покажет при выборе победителя Дополнительно (чтобы видеть информацию о пользователях): ⚪️ {{first_name}}, {{last_name}} (тип: Single line text) — имя и фамилия пользователя 2. Настройка команды сбора данных В конструкторе создаем команду с действием "Создать строку" и заполняем запись в таблице переменными: {{USERNAME_TEXT}} {{USER_ID_TEXT}} {{FIRST_NAME_TEXT}} {{LAST_NAME_TEXT}} Формула для

#start: Как подвести итоги розыгрыша через NocoDB?

В воскресенье мы опубликовали результаты нашего конкурса, а сегодня делимся подробным процессом, чтобы вы могли повторить механику в своих проектах

1. Подготовка таблицы в NocoDB

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

Обязательно:

⚪️ {{username}} + {{user_id}} (тип: Single line text) — связка юзернейм и ID пользователя. Нужна для того, чтобы вы смогли связаться с победителем, даже если у него в профиле скрыт или не настроен username (тогда вы найдете его по ID). Именно это поле бот покажет при выборе победителя

Дополнительно (чтобы видеть информацию о пользователях):

⚪️ {{first_name}}, {{last_name}} (тип: Single line text) — имя и фамилия пользователя

2. Настройка команды сбора данных

В конструкторе создаем команду с действием "Создать строку" и заполняем запись в таблице переменными:

{{USERNAME_TEXT}}

{{USER_ID_TEXT}}

{{FIRST_NAME_TEXT}}

{{LAST_NAME_TEXT}}

Формула для составного поля:

"@" + {{USERNAME_TEXT}} + "(" + {{USER_ID}} + ")"

3. Фиксация участников

Создаем пост, где в настройках выбираем категорию участников розыгрыша. В действиях выбираем "Отправить команду или условие" и указываем команду из пункта 2. После отправки поста все данные пользователей автоматически запишутся в строки таблицы

4. Настройка переменных для выбора победителя

Переходим во вкладку "Переменные" и создаем две переменные:

⚪️{{random}} (персональная, обычная переменная) — будет генерировать случайный номер строки таблицы

В выражении прописываем формулу: random(1, 517)

(*где 517 — это итоговое количество участников в вашей таблице)

⚪️{{search_winner}} (персональная, интегрированная переменная) — по ней будем находить того, кто выиграл

Тип интеграции: HTTP запрос

⚪️Ссылка: https://nocodb.puzzlebot.top/api/v1/db/data/noco/номер_таблицы/номер_таблицы (номер берем из адресной строки)

⚪️Тип запроса: GET

⚪️ limit = 1 (сколько строк забираем)

⚪️ offset = {{random}} (какую строку берем)

Заголовок:

⚪️ Ключ: xc-token / Значение: [токен от nocodb]

5. Вывод результата

Заходим в конструктор и создаем скрытую админ-команду с текстом и инлайн-кнопкой. На кнопку настраиваем вызов команды с переменной {{search_winner}}, где и будет показан победитель

Останется перейти в бота, вызвать админ-команду и нажать на кнопку для отображения победителя

🌟 Такая настройка отлично подходит для регулярных конкурсов без использования сторонних рандомайзеров