Getting a bot to respond to "stop" when using rasa shell (and Rasa v1.0.1)

Hi team.

I have now ported a bot across to the latest Rasa version (1.0.1) and it now works fine. The new version is really good and much less fiddly to use than the older ones, so congratulations to the team on a job well done.

At the moment, I am trying to use the new ‘rasa shell’ to communicate with my experimental bot, but doing so has introduced an unforeseen complication. All inputs are passed to the bot, whether I want them to be or not.

With easier versions, I because I had to use Python to drive the bot either from the command line or from Jupyter notebooks. In both cases I was able to ‘trap’ and evaluate inputs before they went to the bot, and take action if I needed to without the bot being involved.I could, for example, trap a keyword like “stop” and get something external (like say authentication) to execute before going near the bot. In pseudocode, this would be something like:

a=getInput() If (a == “stop”) exit() else pass_input_to_the_bot()

Doing things in this way allowed me to ‘kill’ a session in-flight if necessary should something go wrong, or access something external like LDAP programmatically before going near the bot, and without it having to be processed by the bot at all.

However “Rasa shell” seems to make this impossible, as everything gets passed to the bot. This to me is a retrograde step, as it prevents me from doing things that do not involve the bot, when I need to. So, is there a way to get the ’shell’ to respond to keywords without them being passed to the bot? I have checked the docs, but cannot see anything relevant. Anybody got any ideas or suggestions?

I apologise for asking a lot of what I think are dumb questions at the moment, but they have real-world importance to me and I need to find solutions (or at a bare minimum, workarounds) before I can unleash the technology on real internal end users at my org or at our clients. Rasa is brilliant, but unless/until I can figure out how to make the latest version fit seamlessly into existing environments, I dare not even try……

Regards to all, Rick

Hi Rick,

I don’t think there’s a way to do this in Rasa shell, as shell is really only for chatting with your not directly on the command line. However what I would recommend for this is a custom input channel. There you can handle the input and decide what to do with it before sending it to the bot for processing (or not).

Thanks all - you confirm what I suspected. I will have to wrap Rasa with a custom bit of Python again. I did not want to have to do this, but so be it. Never mind.