Skip to main content

Zoozl services for chatbots

Project description

zoozl

Server for chatbot services

Usage

For basic example a chatbot plugin is provided in zoozl.plugins package. It is a simple chatbot that allows to play bulls & cows game. It is also a plugin that is loaded in case no configuration file is provided.

Run websocket server

python -m zoozl 1601 --conf chatbot.toml

where 1601 is the port number and chatbot.toml is optional configuration file.

Architecture

zoozl package contains modules that handle various input interfaces like websocket or http POST and a chatbot interface that must be extended by plugins. Without plugin zoozl is not able to respond to any input. Plugin can be considered as a single chat assistant to handle a specific task. Plugin can be huge and complex or simple and small. It is up to the developer to decide how to structure plugins. zoozl_package

Plugin

Mimimal setup

  1. Create new toml configuration file (e.g. myconfig.toml)
extensions = ['my_plugin_module']
  1. Make sure my_plugin_module is importable from within python that will run zoozl server
  2. Create file my_plugin_module.py
from zoozl.chatbot import Interface

class MyPlugin(Interface):

    aliases = ("call myplugin",)

    def consume(self, context: , package: Package):
        package.callback("Hello this is my plugin response")
  1. Start zoozl server with your configuration file and asking to bot call myplugin it will respond Hello this is my plugin response
python -m zoozl 1601 --conf myconfig.toml

Configuration file

Configuration file must conform to TOML format. Example of configuration:

title = "Global configuration for Chatbot"
extensions = ["chatbot_fifa_extension", "zoozl.plugins.greeter"]
websocket_port = 80

[chatbot_fifa_extension]
database_path = "tests/tmp"
administrator = "admin"

Root objects like title, extensions are configuration options for chatbot system wide setup, you can pass unlimited objects in configuration, however suggested is to add a component for each plugin and separate those within components.

  • TODO: Describe plugin interface and creation
  • TODO: Add authentication and authorization interaction between chatbot and plugin

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

zoozl-0.1.0.tar.gz (14.7 kB view details)

Uploaded Source

Built Distribution

zoozl-0.1.0-py3-none-any.whl (16.6 kB view details)

Uploaded Python 3

File details

Details for the file zoozl-0.1.0.tar.gz.

File metadata

  • Download URL: zoozl-0.1.0.tar.gz
  • Upload date:
  • Size: 14.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.0

File hashes

Hashes for zoozl-0.1.0.tar.gz
Algorithm Hash digest
SHA256 9457de719f2802efa5317d35b1b5ee5c1ee627e04dd67db37dd6f0d4908ee74c
MD5 8cb1423cd7c3473b8db5268c927bb93b
BLAKE2b-256 5126005e1ddaff0664526a519c1aa5ef50d1d59f02b0df5d3b018a8db404d648

See more details on using hashes here.

File details

Details for the file zoozl-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: zoozl-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 16.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.0

File hashes

Hashes for zoozl-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 135dc28f07d30cce1eb0205efaf8ab758cc22e6da07fce27f34670d3092bb359
MD5 ed839756b54b00a08bf01e3799296f54
BLAKE2b-256 4bc5f7c79710e44ea363d33db5ce440d73afa9dff10284e490a00503ea68a955

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page