Hatool

screenshot of Hatool

A highly customizable chat-like Angular UI component

Overview

The Hatool module provides a robust yet straightforward chat-like user interface component for Angular 10+. Designed to be themeable, it allows developers to easily integrate interactive chat features into applications. This component is particularly beneficial for creating chatbots or interactive messaging apps, offering a sleek and customizable way to manage conversations.

By leveraging the module's capabilities, users gain access to a powerful ContentManager and ScriptRunner that streamline the creation and delivery of interactive messages. With support for internationalization and dynamic scripts, Hatool opens up a world of possibilities for enhancing user engagement through chat interfaces.

Features

  • Themeable Interface: Customize the appearance of the chat UI to match your application's design and branding for a seamless user experience.
  • Content Manager: Instantly manage visible chat messages and maintain a queue of incoming messages with a dedicated ContentManager instance.
  • Script Runner: Execute conversation scripts with ease, utilizing an Angular HttpClient to facilitate seamless interactions and dynamic message delivery.
  • Multiple Languages Support: Write scripts in multiple locales to cater to a diverse audience, as the ScriptRunner intelligently selects the appropriate language based on user settings.
  • Yaml and Json Script Compilation: Create and manage chat scripts in a user-friendly YAML format that can be compiled into JSON for easy execution.
  • Dynamic Message Handling: Utilize commands to dynamically generate bot responses, supporting templated strings and a variety of command options to enrich the conversation.
  • Custom Functionality Integration: Incorporate your own functionalities within scripts through custom functions, enhancing the interactivity and engagement of the chat experience.
  • Value Set Callback: Track and manage data efficiently with callbacks that activate upon value changes in the conversation record, perfect for saving changes to a backend server.
typescript
Typescript

TypeScript is a superset of JavaScript, providing optional static typing, classes, interfaces, and other features that help developers write more maintainable and scalable code. TypeScript's static typing system can catch errors at compile-time, making it easier to build and maintain large applications.