<request>
Описание
Тег <request> позволяет передать полный объект запроса и может использоваться для передачи любых параметров запроса. Поля, не соответствующие формату запроса BotRequest, в сценарии недоступны.
Тело
JSON-объект в формате BotRequest.
предупреждение
Обратите внимание, что параметр
query является обязательным в теле тега <request>.Примеры
- Проверяем, что диалог начался в канале Telegram.
Рассмотрим сценарий:
state: Start
q!: $regex</start>
if: $request.channelType === "telegram"
a: Telegram.
else:
a: Виджет.
Тест для сценария:
<test>
<test-case>
<request>{
"query": "/start",
"channelType": "telegram"
}</request>
<a>Telegram.</a>
</test-case>
</test>
- Проверяем данные из запроса.
Рассмотрим сценарий:
state: Request
q!: request
a: {{ $request.channelType }}, {{ $request.data.field }}
state: Unknown
q!: unknown
a: unknownField: {{ $request.unknownField }}
Тест для сценария:
...
<test-case id="1">
<request>{
"query": "request",
"channelType": "mockTest",
"data": {
"field": "данные из запроса"
}
}</request>
<a>mockTest, данные из запроса</a>
</test-case>
<test-case id="2">
<request>{
"query": "unknown",
"unknownField": "mockTest"
}</request>
<a>unknownField: mockTest</a>
</test-case>
...