Кажется, что условие в BotFramework Composer принимает только предварительно созданные функции, а не шаблоны.
Если у нас на common.lg такой шаблон:
# ValidID(text)
- ${length(text)==9 && isMatch(text, ‘[A-Za-z]{1}[0-9]{7}’)}
Мы можем использовать в SendMessage, например, вот так:
- User’s Id: ${user.ID}, validation: ${ValidID(user.ID)}
Но почему нам не разрешено использовать нашу пользовательскую функцию 'ValidID' внутри текстового поля условия ветви условия / если, например?
Condition [${ValidID(user.ID)==true]
Когда мы пытаемся использовать в условии, Composer говорит, что ValidID не является предварительно созданной функцией или переменной области действия пользователя ...
Это очень неприятное ограничение, потому что у нас есть множество шаблонов, которые мы можем вызывать другими шаблонами, чтобы упростить сложные проверки, а затем, когда нам нужно использовать эти проверки в условии, нам нужно расширить все шаблоны, чтобы использовать только предварительно созданные функции, и шаблоны теряют свою полезность.
Кто-то знает, как все-таки работать над этим?
Мы пытались использовать поле SetProperty, чтобы назначить наш шаблон переменной пользовательской области действия, но, похоже, у нас такое же ограничение.
Мы будем благодарны за любые инструкции или поможем выполнить sh наши ожидания в этом отношении, благодаря всем людям, которые ежедневно работают над BotFramework, чтобы сделать его лучше.