hello.dsl
1.73 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
library
/**
* Reaction if nothing meaningful happens in the dialogue for too long.
*/
preprocessor digression hello
{
conditions { on #getIdleTime() - digression.hello.lastIdleTime > digression.hello.idleTimeLimit tags: ontick; }
var idleTimeLimit=8000;
var lastIdleTime=0;
var retriesLimit=2;
var counter=0;
do
{
$cjm.push("hello_dig");
set digression.hello.lastIdleTime=#getIdleTime();
if(digression.hello.counter == 1){
set $conversation_result = "автоответчик";
}
if (digression.hello.counter == 2)
{
goto answering_machine;
}
set digression.hello.lastIdleTime=#getIdleTime();
/*if (digression.hello.counter > digression.hello.retriesLimit)
{
goto hangup;
}*/
set digression.hello.counter=digression.hello.counter+1;
#say("hello", repeatMode: "ignore");
// #say("dont_understand_question");
#repeat(accuracy: "short");
set $time = 0;
return;
}
transitions
{
answering_machine: goto answering_machine;
hangup: goto hello_hangup;
}
}
preprocessor digression hello_preprocessor
{
conditions { on true priority 50000; }
do
{
set digression.hello.lastIdleTime = 0;
set digression.hello.counter = 0;
set $time = 0;
return;
}
transitions
{
}
}
node hello_hangup
{
do
{
$cjm.push("hello_hangup");
#say("dont_understand_hangup");
set $status="EmptyCall";
set $serviceStatus="Done";
//#disconnect();
goto do_before_exit;
}
transitions
{
do_before_exit: goto do_before_exit;
}
}