Photo by Tim Bennett on Unsplash

5 good reasons to use NewBot Framework

Samuel Ronce
3 min readSep 10, 2019

--

In the family of frameworks to create chatbots, we find Microsoft BotFramework, Botkit and ChatterBot

Here we are talking about a new framework: NewBot Framework. Why use it? What does it offer more than the frameworks mentioned above?

Here are 5 good reasons to use NewBot Framework!

1) To create conversational sites and PWA

Most frameworks direct development to specific platforms. NewBot Framework gives full attention to the conversation, no matter the platform. Since it’s a Javascript framework, we can run the chatbot directly in the browser

Is it possible to create an offline conversational site? Like a Progressive Web App?

  • MS BotFramework: No
  • Botkit: No
  • ChatterBot: No
  • NewBot Framwork: Yes

2) Easily create the scenario

These frameworks use Javascript or Python language to create a chatbot. These are powerful but insufficient languages to create scenarios quickly. It’s like wanting to create a website completely in Javascript by ignoring HTML …

But some use SuperScript, RiveScript or ChatScript ?

Yes, but it’s not enough. Why ? Because you do not have all the possibilities of a programming language (condition, loop, function, etc.). In addition, it requires additional training on the syntax of these languages

NewBot Framework integrates a special language for scenario creation: ConverseScript. The possibilities :

  • Syntax easy to learn because very close to Javascript and Typescript
  • More than just a script for chatbot: you can create variables, conditions, loops, functions, use JavaScript functions, and more.
  • You can keep track of the user’s progress in the script. Save it to a database or localstorage in the browser
  • Integrates multiple conversation triggering systems: NLP and various events

3) Modular !

It is possible to develop modules in other frameworks. But we do not give you the procedure to follow

How to reuse a skill? Share it to other developers?

let { Botkit } = require('botkit');

const controller = new Botkit(MY_CONFIGURATION);

controller.hears('hello','direct_message', function(bot, message) {
bot.reply(message,'Hello yourself!');
});

For example, in BotKit, you are shown how the chatbot should respond or how conversations. But how to structure our code? How to pack skills to reuse them? How to make interactions between skills?

In Web frameworks (Angular, VueJS, etc.) we have this kind of structure between components. We should have the same thing for the skills in a chatbot

In NewBot Framework, each skill has its conversational script, its Javascript configuration. It’s a skill I can share with other developers, test it, and interact with other skills

4) Unit tests

For each skill, we should be able to do unit tests. Why ? For the stability of the chatbot? Unfortunately, the frameworks do not always offer unit tests. Sometimes you have to hack to try to do unit tests or go through third-party repositories that are sometimes no longer maintained

With NewBot Framework, you can easily test the skill just by typing the “newbot test” command

5) Internationalization

Even though there are external libraries for internationalization, a lot of chatbot frameworks do not integrate it into their engine.

In NewBot Framework, an external file groups all the responses of the chatbot into the desired language. You can then use it very quickly the conversational script. Depending on the language of the user, the chatbot will answer in the correct language

--

--

Samuel Ronce

I’m Samuel Ronce, web developer with a specialization in artificial intelligence. I’m experimenting with concepts to use them in real life