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").то(сообщениеПользователю.сШаблоном("Здравствуйте!"))+
завершитьСНовымЗапросом("{platformInMessageQuery}")

...

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 Removed

...

Вызов SQL DB

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

Expand
titleВызов XML API

Code Block
languagejs
установитьПеременную("id", "42")+
установитьПеременную("requestxml", "<request ID=\"{id}\" reqType=\"BALANCE\"/>")+
вызвать.внешнийСервис("https://account/api/query", "POST").сЗаголовками(("Content-Type", "text/xml;charset=UTF-8"),("Accept", "text/xml"), ("Authorization", "Basic PASSWORD")).сТеломСообщения("{requestxml}").сохранитьРезультатКакСтроку("formResponse")+
выполнитьJs("""
function escapeHtml(text) { return text.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;").replace(/'/g, "&#039;") }
var exit = {}
try {
  // remove <?xml ... ?> header
  formResponse = formResponse.replace(/<\?xml.+\?>|<!DOCTYPE.+]>/, '')
  // parse XML
  var parser = new marknote.Parser();
  var doc = parser.parse(formResponse);
  // extract info
  exit.accountBalance = doc.getRootElement().getAttributeValue('accountBalance');
  exit.formResponseHTML = escapeHtml(formResponse);

} catch(e) {
  exit.error = 'error' + JSON.stringify({message: e.message, stack: e.stack});
}
exit;
""") +
комментарий("{error}") +
// комментарий("formResponseHTML: {formResponseHTML}") +
завершитьСШаблоном("Балланс: {accountBalance}")
завершить