Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Expand
titleПриветствие пользователя с проверкой пароля в определенном канале. Позволяет продолжить работу с ботом в случае успешной сверки заранее заданного "пароля"
Code Block
если("{channelType} == Telegram").то(сообщениеПользователю.сШаблоном("Добро пожаловать в наш Telegram"))+
если("{channelId} == 2f7ce72f-8003-4e17-b879-e3c71f239149").то(
  // Запоминаем запрос пользователя в переменную message, чтобы продолжить работу в случае успеха
  установитьПеременную("message","{platformInMessageQuery}")+
  сообщениеПользователю.сШаблоном("Здравствуйте!")+
  задатьПользователюВопрос("Введите пароль").сохранитьРезультат("password")+
  // Перейти на проверку пароля
  перейтиНаМетку("проверка"))+
// После проверки всех условий продолжаем работу с пользователем повторив его запрос
завершитьСНовымЗапросом("{platformInMessageQuery}")+
// Проверка пароля
установитьМетку("проверка")+
если("{password} == valid_password").то(сообщениеПользователю.сШаблоном("Успех! Можете продолжить работу в системе")+завершитьСНовымЗапросом("{message}"))+
если("{password} != valid_password").то(сообщениеПользователю.сШаблоном("Ошибка! Попробуйте еще раз")+повторитьСШага(6))
Image RemovedImage Added
Expand
titleВызов SQL DB

см пример из Использование SQL запросов

...

Expand
titleРеализация пользовательского меню

Принцип работы: для перемещения по меню пользователь вводит названия нужных документов в базах знаний. С помощью команды “задатьПользователюВопрос“ можно сделать процесс ввода текста более удобным и понятным.

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

Code Block
сообщениеПользователю.сШаблоном("Добро пожаловать в наш магазин")+завершитьСНовымЗапросом("Меню")

Таким образом все пользователи изначально будут попадать в наше меню

Создадим новую базу знайзнаний. Для удобства назовем ее “Меню“

Добавим документ-сценарий с именем “Главное меню“ и вопросом “меню“

Code Block
задатьПользователюВопрос("Для уточнения информации выберите раздел").сВариантамиОтвета("Смартфоны","Планшеты","Аксессуары","Другие вопросы").сохранитьРезультат("userChoice")+
если("{userChoice} == Смартфоны").то(завершитьСНовымЗапросом("Смартфоны"))+
если("{userChoice} == Планшеты").то(завершитьСНовымЗапросом("Планшеты"))+
если("{userChoice} == Аксессуары").то(завершитьСНовымЗапросом("Аксессуары"))+
завершитьСНовымЗапросом("{userChoice}")

Добавим документ-сценарий с именем “Смартфоны“ и вопросом “Смартфоны“. Он будет являться каталогом смартфонов. Для удобства можно создать отдельную базу знаний

Code Block
задатьПользователюВопрос("Выберите смартфон").сВариантамиОтвета("Смартфон_1","Смартфон_2","Смартфон_3", "Меню").сохранитьРезультат("userChoice")+
если("{userChoice} == Смартфон_1").то(завершитьСНовымЗапросом("Смартфон_1"))+
если("{userChoice} == Смартфон_2").то(завершитьСНовымЗапросом("Смартфон_2"))+
если("{userChoice} == Смартфон_3").то(завершитьСНовымЗапросом("Смартфон_3"))+
если("{userChoice} == Меню").то(завершитьСНовымЗапросом("Меню"))+
завершитьСНовымЗапросом("{userChoice}")

Добавим документ-сценарий с именем “Смартфон_1“ и вопросом “Смартфон_1“. В данном документе можно разместить фото и описание отдельно взятого смартфона

Code Block
сообщениеПользователю.сФайлами(852).сШаблоном("")+
задатьПользователюВопрос("Оченю хороший смартфон").сВариантамиОтвета("Позвать оператора","Назад","Меню").сохранитьРезультат("userChoice")+
если("{userChoice} == Позвать оператора").то(завершитьИПеревестиНаОператора)+
если("{userChoice} == Назад").то(завершитьСНовымЗапросом("Смартфоны"))+
если("{userChoice} == Меню").то(завершитьСНовымЗапросом("Меню"))+
завершитьСНовымЗапросом("{userChoice}")

Для других пунктов меню необходимо проделать ту же самую процедуру

База знаний “Меню“ с созданными документами

Пример работы

...