Skip to content

Instantly share code, notes, and snippets.

@hkedia321
Last active October 21, 2020 11:31
Show Gist options
  • Star 3 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save hkedia321/593735a632427312bd8e6352687b6488 to your computer and use it in GitHub Desktop.
Save hkedia321/593735a632427312bd8e6352687b6488 to your computer and use it in GitHub Desktop.
Google Summer of Code 2018 - Harshit Kedia - Contributions - FOSSASIA

Google Summer of Code 2018 Final Work Product

Student Harshit Kedia
Github @hkedia321
Organisation FOSSASIA
Project SUSI Web Bot Plugin and SUSI Private Skills

Aim

My aim was to create SUSI Botbuilder platform which enables users to create their own chat bot which they can easily deploy on their websites. Creating the bot involves four steps:

  • Build: Here the user can create a skill for the bot using SUSI Skill language. The skill created is private and can be used only in this bot made by the user. Tree and conversation views are also available.
  • Design: This step is for customising the design of the chatbot. The user can change the background image, text color, bot avatar to best match with the website's theme. Live preview of the chatbot is visible all along the way.
  • Configure: This provides options to configure certain settings of the bot such as including SUSI default skills or not and securing the chatbot to be used only on certain domains.
  • Deploy: The last step, this provides a javascript code which the bot creator can copy and paste in their website's source code to activate the bot.

Thus using this botbuilder, a user can create a custom chatbot for their websites which can interact with the visitors. The associated features such as saving a private skill and uploading custom images were also developed.

In this repository, I created a botwizard to facilitate the process of creating private skill bot. This involves creating a new bot or editing previously saved ones. Skill editor is provided for writing the bot in code view. Tree and conversation views are also provided for easy visualization. User can fully customise the appearance of the chatbot including uploading their own background image and bot avatar. User can configure their chatbots to run only on specific domains and to include SUSI default skills. Finally, user can easily deploy the developed chatbot to their own websites by simply copy pasting a generated javascript code.

Screenshots

image image image image

In this repository, I developed the required features which were needed to create the botbuilder. One of the features was developing private skills. These skills should be visible only to their owner and should not be displayed publicly. These skills are stored in a separate folder susi_private_skill_data in the server. Another feature was developing APIs for storing and retrieving custom images. Users can upload images for setting the background image and avatar in the chatbot. These images are stored on the server local storage. Other works include developing APIs for storing, retrieving, and editing of private skill chatbots.

This is SUSI bot for Slack platform. Slack is a messenger services. Users can interact with SUSI by adding the bot to their slack workspaces. SUSI Slack bot uses SUSI Server to get responses. I fixed several bugs, made some improvements, and made the bot functional.

Screenshots

image image

This is SUSI bot for Zulip platform. Zulip is a popular open sourced messaging platform. SUSI bot can be integrated into a Zulip workspace. A basic Zulip bot has already been created. I added documentation and Readme file to describe the process of installing the SUSI Zulip bot in your workspace.

This is SUSI bot for Gitter platform. It provides automatic replies from the SUSI gitter bot, which are fetched from the SUSI server. I fixed several bugs, made some improvements, and made the bot functional.

Screenshots

image image image

Blog Posts

All my publish blog posts can be found in the FOSSASIA blog: https://blog.fossasia.org/author/hkedia321

SCRUM Reports

My Daily Scrum Reports (i.e everyday work updates) can be found here.

Social

  • Presented my project in Google I/O Extended event: Link
  • Tweets about the projects: Link
  • Facebook post about meetup: Link
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment