Выгода от использования Falcon Space
В 2-3 раза экономнее и быстрее, чем заказная разработка
Более гибкая, чем коробочные решения и облачные сервисы
Используйте готовые решения и изменяйте под свои потребности
Реализация процесса заполнения анкеты через телеграм бот
В данном примере мы реализуем небольшую анкету из 5 шагов. Если шаг подразумевает выбор из нескольких вариантов, то будут появлятсья кнопки.
Используя подсистему управления командами (/tgbot) бота реализуем такую команду "анкета":
CREATE PROCEDURE [dbo].[tg_anketa_command]
@command nvarchar(max),
@telegram nvarchar(256),
@chatID bigint,
@parameters ExtendedDictionaryParameter readonly,
@result bit output,
@msg nvarchar(max) output,
@nextStep nvarchar(128) output
AS
BEGIN
set @nextStep=''
declare @messageID bigint = (select top 1 try_cast(value2 as bigint) from @parameters where [key]='messageID')
declare @step nvarchar(128) = isnull((select top 1 value2 from @parameters where [key]='step'), '')
set @result = 1
declare @variants nvarchar(max) = ''
if (@step ='') begin -- первый шаг
set @msg = 'Укажите имя'
set @nextStep = 's2'
end
if(@step = 's2') begin -- второй шаг
set @msg = 'Укажите пол'
set @variants = 'Мужской,Женский'
set @nextStep = 's3'
end
if(@step = 's3') begin -- третий шаг
set @msg = 'Сколько вам лет'
set @variants = 'до 18,от 18 до 30, от 30 до 45, от 45'
set @nextStep = 's4'
end
if(@step = 's4') begin -- 4 шаг
set @msg = 'Кем вы работаете?'
set @variants = ''
set @nextStep = 's5'
end
if(@step = 's5') begin -- 5 шаг
set @msg = 'Когда вам нравится работать?'
set @variants = 'Утром,Днем,Вечером'
set @nextStep = 'finish'
end
if(@step = 'finish') begin -- Завершение
set @msg = 'Заполнение анкеты завершено. Спасибо за уделенное время!'
set @variants = ''
set @nextStep = ''
end
declare @buttonsJSON nvarchar(max) = ''
set @ButtonsJSON = iif(len(@variants)>0, ' {
"oneTimeKeyboard": true,
"resizeKeyboard": true,
"replyButtons": ['+isnull((select rtrim(ltrim(value)) text from dbo.split(@variants, ',') for json auto),'')+' ]
} ', '' )
--SELECT 1
select @result Result, @msg Msg
-- SELECT 2
select 'sendMessage' [Type], @msg [Text], @chatID ChatId, @messageID ReplyToMessageId, 0 DisableNotification ,
@buttonsJSON ButtonsJSON
END
См подробнее про создание команд бота.
Отталкиваясь от step мы определяем какой у нас сейчас шаг, выводим сообщение и выдаем следующий шаг в nextStep.
Для упрощения работы с кнопками был задействован JSON Auto с хранением вариантов в @variants (если она не пустая, то формируем buttonsJSON на основе нее).
Таким образом можно создавать небольшие анкеты с запуском через Телеграм бота.
Учитывая что телеграм логин может быть привязан к пользователю сайта, можно создавать персональные анкеты с учетом данных по пользователю в базе данных сайта.
Google поиск по нашей документации
- Шаг 1. Создать концепт проекта
- Шаг 2. Получить оценку бюджета (КП)
- Шаг 3. Заключить договор
- Шаг 4. Создать совместно техническое задание
- Шаг 5. Поэтапная реализация проекта