I know its possible to replyWithTyping, etc...But how can typing be simulated in conversations, say, in the context of a _convo.say()_
This should be labelled "enhancement required" rather than "help wanted". convo.say / ask should definitively feature the typing option
+1
Also interested 馃憤
+1
I can work on this feature!
+1
First lemme say, I don't like how most bot devs are using the typing indicator in their apps!
People keep writing articles about how it "improves UX" but I don't think enough people have tested it for real for it to be a "rule", or to know when users just want us to get to the point. It annoys me because it ends up increasing the ask of your user's time for basically a spinning beach ball.
Also when the bot types for _the same amount of time_ (perceptually) for messages of varying length, it really breaks the whole illusion for me and is actually distracting. (disclosure: I'm a millenial, I read intently into typing durations whenever I encounter them with humans)
And botkit's typing delay is too slow in my opinion, so if y'all are gonna jump on the typing train you should think through how long the bot should type and adjust the duration until it's fixed.
THAT BEING SAID! Here is a one line change that will give you what you want in the meantime
In lib/CoreBot.js change line 632 from this.task.bot.replyto this.task.bot.replyWithTyping. And that should do it! All messages sent via conversation methods will now use typing indicators.
It's a hack, it's not tested, but it's working for me. replyWithTyping is just a wrapper around reply that first sends a typing indicator, sets a timeout, and then sends the message after the timeout. Mess with replyWithTyping in either Slackbot.js or Facebook.js to change the typing time.
This requires maintaining your own fork of botkit, btw, until someone makes a PR for this. I will get on it tmr probably.
@jonchurch I know this is old but I wanted to give my opinion. I do agree with you that typing indicators are annoying most of the times. However I dont think should be all on the developers.
I dont know how it is with slack but I hate that for messenger bot you have to send typing indicator as single message. If developers could attach typing: "on" to message we could actually build better flows.
Imagine a conversation built with botkit. You send user three messages and the ask question. If there is typing indicator after first two messages but none after third then user will with no doubt understand when he can send something.
I have seen this a lot in my bots - users just type their message before actually reading and then it is too late.
closing in favor of the more recently linked thread
Most helpful comment
First lemme say, I don't like how most bot devs are using the typing indicator in their apps!
People keep writing articles about how it "improves UX" but I don't think enough people have tested it for real for it to be a "rule", or to know when users just want us to get to the point. It annoys me because it ends up increasing the ask of your user's time for basically a spinning beach ball.
Also when the bot types for _the same amount of time_ (perceptually) for messages of varying length, it really breaks the whole illusion for me and is actually distracting. (disclosure: I'm a millenial, I read intently into typing durations whenever I encounter them with humans)
And botkit's typing delay is too slow in my opinion, so if y'all are gonna jump on the typing train you should think through how long the bot should type and adjust the duration until it's fixed.
THAT BEING SAID! Here is a one line change that will give you what you want in the meantime
In lib/CoreBot.js change line 632 from
this.task.bot.replytothis.task.bot.replyWithTyping. And that should do it! All messages sent via conversation methods will now use typing indicators.It's a hack, it's not tested, but it's working for me. replyWithTyping is just a wrapper around reply that first sends a typing indicator, sets a timeout, and then sends the message after the timeout. Mess with replyWithTyping in either Slackbot.js or Facebook.js to change the typing time.
This requires maintaining your own fork of botkit, btw, until someone makes a PR for this. I will get on it tmr probably.