# Introduction

# NewBot, what is it?

NewBot is a framework for designing conversational scenarios. Thus, one can conceive chatbots or any system based on a human-machine conversation. The design is done with Javascript ES8.

In the same way that modern web design frameworks are based on a modular, component-oriented framework (Angular, React, VueJS, etc.), NewBot is based on a scalable, skill-oriented design. This allows you to organize the project, share skills with other developers and perform unit tests.

NewBot's point of view, unlike some frameworks, is to ignore, as a first step, the final platform. For example, NewBot is not a way to design a chatbot only for Messenger or only for Slack. Scenario execution can be performed on any platform if we create the adapter. What is the point ? If tomorrow a new instant messenger emerges, the scenario will remain the same. If you do your own IM, the scenario will also stay the same.

This means that NewBot works on the instant messenger you want!

# Write the scenario with ConverseScript

The major advantage of NewBot is to bring a language adapted to the conversational scenario. Of course, there are already such languages: RiveScript, ChatScript, etc. So why a new language?

Even if writing a chatbot in pure Javascript is possible, it can be quickly tedious and counterproductive. The idea is to have a conversational script! Here are the reasons:

  1. Ease and speed on writing
  2. The script is executed by a user. We know its progress in the script and we can keep it in memory
  3. Syntax close to Javascript and TypeScript (for decorators)
  4. A procedural language (functions, conditions, loops, etc.)

# And the understanding of natural language?

If NewBot creates a scenario, the question is: is the chatbot smart? Is he able to understand human sentences? NewBot is not a natural language system (NLP) but a framework for writing conversational scenarios. However, you can also use existing platforms like DialogFlow,, Microsoft LUIS, RASA NLU, etc., and NewBot Cloud!

With third-party systems, your chatbot can trigger dialogues in natural language.

# NewBot Cloud

NewBot Cloud is a platform that allows you to deploy your chatbot quickly and easily. In a single command line, the scenario is in production. You then enjoy all kinds of features.