Setting a time delay in message output


(Makoto Kern) #1

How would I control the time delay between output messages so that the flow of the conversation is more natural between the user and the bot?


(Subrahmanyam Donepudi) #2

@mkern please add service nodes between the messages and configure endpoints at them which respond back with a delay.

For instance, if I add service node which hits the end point, say, https://httpbin.org/delay/3 , after a message node m1 and then add message node m2, a three second delay will be induced between the messages during execution of the dialog .


(Subrahmanyam Donepudi) #3

Hi @mkern ,
For demonstrating the same as mentioned in my earlier comments, I have build a dialog with 2 message nodes in it with a service node between them. This service node is inducing a 3 sec delay between the responses.

Please refer to the below screenshots for your reference.

image

image


archived #4

unarchived #5

(Felipe Marquardt) #6

I tried using the above method but I´m missing someting. After some seconds, the bot shows a error message that: “Something went wrong and the task is being discarded.”

On the service task, I only have to paste the url? What Request URL method must be used?
Do I must paste the script of the URL file on the bot or just the URL?


(Subrahmanyam Donepudi) #7

@felipe The example mentioned in my previous comments is to explain the feasibility to induce a time delay between the message nodes using a service node. The endpoint used is a third party endpoint which uses the GET method but the developer could create his own endpoint which possibly does the same.


(Daniel Stoddart) #8

Hi,

Adding a service node for each message where a delay is required is quite a bit of additional work. I have a greeting task that has 4 chained messages and this would mean adding 3 additional nodes which will make this simple task more visually complex than it actually is.

I tried using setTimeout in the message “custom javascript” but it is not recognised: “setTimeout is not a function”.

Are there any plans to allow this or is there a Kore function something like printWithDelay that is available to use?

Or even better would be able to have a “hasDelay” checkbox on the Message Node with a delay milliseconds value.

Thanks,
Dan


(Daniel Stoddart) #9

Hello,

I have implemented my own endpoint delay and it works fine with expected interval delays if i start the task with the intent. But I am using the dialog task (a greeting of 4 chained messages) for the “on connect” event and it’s not behaving as expected.

Only the first message is displayed and then nothing else. There are no errors shown in the debug log window so I’m not sure what is happening here. Can you advise please?

As a side note is there also a way to show the user typing?

Thanks,
Dan


(Yoga Ramya Mendu) #10

Hi Dan,

We have checked with the endpoint https://httpbin.org/delay/3 as per your scenario. Please refer to the following images:

pic1 pic2

We have invoked this dialog task on the onConnect event of the bot.
We observe that the response from the bot is appropriate with the required time delay.

Kindly re-check the end-point at your end.

Also, regarding the feature to show the user that the bot is “typing”, we are checking with our team and will update you asap.

Regards,
Yoga Ramya.


Ability to introduce delays if bot has many messages to send to customer?