Despite buttons being clearly visible, there will always be someone trying to talk to your bot.
When this happen, most bots direct users to a default response.
Default responses are essentially error messages.
We either offer the same default response or random default responses.
I don’t think either solution is precisely best for chatbots.
Instead, I suggest sending default messages for each segment of your bot.
You can actually do this easily on Chatfuel with quick replies.
For example: When a user is in a video RSS feed section of your bot, what happens if they type text instead of tapping a button?
We craft a specific default response for Jwoww’s video section that says:
“Did u still wanna watch videos? If not, we can go back to the menu.”
Of course, craft default responses that compliments the personality of your bot.
Most of your users are going to tap on buttons, but for the ones who get confused, adding specific default messages for all segments of your bot could help.