All Projects → endore8 → i-chatbot

endore8 / i-chatbot

Licence: MIT License
Simple and elegant component for building conversational interfaces on React.

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to i-chatbot

Conversational Ui
Conversational interface web app example
Stars: ✭ 78 (+50%)
Mutual labels:  chatbot, conversational-ui
Botframework Webchat
A highly-customizable web-based client for Azure Bot Services.
Stars: ✭ 1,198 (+2203.85%)
Mutual labels:  chatbot, conversational-ui
Dialogflow Web V2
Dialogflow Web Integration. Rich Components, Actions on Google and more
Stars: ✭ 307 (+490.38%)
Mutual labels:  chatbot, conversational-ui
Chatskills
Run and debug Alexa skills on the command-line. Create bots. Run them in Slack. Run them anywhere!
Stars: ✭ 171 (+228.85%)
Mutual labels:  chatbot, conversational-ui
Botkit
Botkit is an open source developer tool for building chat bots, apps and custom integrations for major messaging platforms.
Stars: ✭ 10,555 (+20198.08%)
Mutual labels:  chatbot, conversational-ui
React Simple Chatbot
💬 Easy way to create conversation chats
Stars: ✭ 1,292 (+2384.62%)
Mutual labels:  chatbot, conversational-ui
Stealth
An open source Ruby framework for text and voice chatbots. 🤖
Stars: ✭ 481 (+825%)
Mutual labels:  chatbot, conversational-ui
Botpress
🤖 Dev tools to reliably understand text and automate conversations. Built-in NLU. Connect & deploy on any messaging channel (Slack, MS Teams, website, Telegram, etc).
Stars: ✭ 9,486 (+18142.31%)
Mutual labels:  chatbot, conversational-ui
Eddi
Scalable Open Source Chatbot Platform. Build multiple Chatbots with NLP, Behavior Rules, API Connector, Templating. Developed in Java, provided with Docker, orchestrated with Kubernetes or Openshift.
Stars: ✭ 171 (+228.85%)
Mutual labels:  chatbot, conversational-ui
React Native Chatbot
💬 Easy way to create conversation chats
Stars: ✭ 212 (+307.69%)
Mutual labels:  chatbot, conversational-ui
Bot-Telegram-BeMEAN
💣 Bot para o Telegram do grupo do Be MEAN
Stars: ✭ 76 (+46.15%)
Mutual labels:  chatbot
mafia host bot
Bot that hosts mafia games in Telegram's groups and supergroups
Stars: ✭ 16 (-69.23%)
Mutual labels:  chatbot
memorize-bot
Memorize messenger bot using intelligo framework.
Stars: ✭ 19 (-63.46%)
Mutual labels:  chatbot
php-wechaty
PHP Wechaty is a Conversational SDK for Chatbot Makers Written in PHP
Stars: ✭ 35 (-32.69%)
Mutual labels:  chatbot
sepia-docs
Documentation and Wiki for SEPIA. Please post your questions and bug-reports here in the issues section! Thank you :-)
Stars: ✭ 160 (+207.69%)
Mutual labels:  chatbot
CHIT-CHAT
A Covid-19 Chatbot that aims to serve humans queries and give a feasible answer to their queries.
Stars: ✭ 18 (-65.38%)
Mutual labels:  chatbot
chatbase-dotnet
Integrate your DotNet application with Chatbase!
Stars: ✭ 16 (-69.23%)
Mutual labels:  chatbot
Daytripper
Chatbot that learns and provides map, video, and Web searches.
Stars: ✭ 14 (-73.08%)
Mutual labels:  chatbot
neo4j protobot
a basic bot to evaluate using neo4j graph database as chatbot memory.
Stars: ✭ 15 (-71.15%)
Mutual labels:  chatbot
InstaResponder
Instagram Auto DM responder with DialogFlow 🔥
Stars: ✭ 42 (-19.23%)
Mutual labels:  chatbot

Marathon

i-chatbot

Simple and elegant component for building conversational interfaces on React. 🤖💯

build npm coverage license

Getting Started 🚀

Installation

npm i i-chatbot --save

Basic Usage

Import component

import ChatBot, { ChatBotUtil } from 'i-chatbot'

Create methods that will handle postback events from a chatbot. It should return an array of message objects to reply on user's action with a callback.

  getStarted () {
    return [
      ChatBotUtil.textMessage(['Hi!', 'Hey there!'].any()),
      ChatBotUtil.textMessage(['How is life?', 'What\'s up?'].any(),
        ChatBotUtil.makeReplyButton('Great!', this.intro))
    ]
  }

  intro () {
    return [
      ChatBotUtil.textMessage('That\'s good to hear!')
    ]
  }

Render ChatBot with a get started callback method and a start button.

<ChatBot onGetStarted={this.getStarted}
         getStartedButton={ChatBotUtil.makeGetStartedButton('Get Started')} />

ChatBot

Props

Prop Default Type Description
onGetStarted - func Inital callback method to return first messages
getStartedButton - object Start button parameters

Methods

startOver (message)

Resets a state of chat and adds a message object if no get started button set.

ChatBotUtil

Methods

textMessage (text, ...actions)

Create a text message object.

Parameters:

Name Type Description
text string Message text
actions object(s) Quick reply button(s) object

userTextMessage (text)

Create a user's text message object.

Parameters:

Name Type Description
text string Message text

makeReplyButton (title)

Create a get started button.

Parameters:

Name Type Description
title string Title

makeReplyButton (title, postback)

Create a quick reply button.

Parameters:

Name Type Description
title string Title
postback string Postback value

makeTextInputField (title, postback)

Create a text input field.

Parameters:

Name Type Description
send string Title of the submit button
placeholder string Placeholder for input field
postback string Postback value

Style

As CSS pre-processor is used LESS. Copy and modify styles from demo/src/i-chatbot.less and then import in your app.

Built with i-chatbot 🤘

  • Personal website of Oleh Stasula
  • Landing page of Justin Case

Have you built something cool with i-chatbot? Submit a pull-request and add it to this list! 😉

To-do 🛠

  • Bottom-up chat direction
  • Better input validation
  • Avatar placeholder

Contribution 💪

Your contribution is welcomed, no matter how big or small!

Please have a look at the contribution guide for details about project structure, development environment, test suite, code style, etc. All the version updates are mentioned in the changelog.

License 🔖

The library is available as open source under the terms of the MIT License.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].