Перейти к основному содержимому

<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: </a>
</test-case>
...