Skip to main content

A unified Python library for connecting to various chatbot APIs (RASA, MillionBot, Taskyto)

Project description

Chatbot Connectors

CI PyPI License

A Python library for connecting to various chatbot APIs with a unified interface.

Installation

pip install chatbot-connectors

Custom YAML Connector

If there is no connector for your chatbot and you are not willing to code one, you can use the Custom Connector. What this one does is read a YAML file with the info and try to work that way.

To see how to build these YAML files and use them see CUSTOM CONNECTOR GUIDE, there are also examples in the yaml-examples directory.

If you want to directly try one, execute this in a Python shell:

from chatbot_connectors.implementations.custom import CustomChatbot

bot = CustomChatbot("yaml-examples/ada-uam.yml")
success, response = bot.execute_with_input("Hola, necesito ayuda con Moodle")
print(response)

Built-in Connectors

The library ships with several ready-to-use connectors. Each connector exposes the parameters listed via --list-connector-params in the CLI or get_chatbot_parameters() in code.

Botslovers

  • Only required parameter: base_url.
  • Base URL examples: https://arthur.botslovers.com/, https://alcampo.botslovers.com/
  • Minimal Python usage:
    from chatbot_connectors.implementations.botslovers import BotsloversChatbot
    
    bot = BotsloversChatbot(base_url="https://arthur.botslovers.com/")
    success, reply = bot.execute_with_input("Hi Arthur!")
    print(reply)
    

Metro de Madrid

  • Uses Metro Madrid's public website widget API and auto-creates a session.
  • Requires a handshake that sends the first message, selects the language, and accepts the privacy policy; the connector performs this sequence automatically using the language parameter ("es" by default, accepts "en").
  • Example:
    from chatbot_connectors.implementations.metro_madrid import MetroMadridChatbot
    
    bot = MetroMadridChatbot(language="es")
    success, reply = bot.execute_with_input("¿A qué hora cierra hoy el metro?")
    print(reply)
    

MillionBot

  • Requires a bot_id. Known deployments:
    • ADA UAM: 60a3be81f9a6b98f7659a6f9
    • SAIC Malaga: 64e5d1af081211d24e2cfec8
    • Madrid te cuida: 612cc0d871562c07747d3f0a
    • Genion: 65157185ba7cc62753c7d3e2
    • Gallo de Morón de la Frontera: 65ca19e7dbbb4e26cbeadf24
    • Ayto. de Arucas: 660d8b37876b1f546abde807
    • Gestri Diputación Valencia: 6141bc1e161c3d4e06ced69c
  • Quick example:
    from chatbot_connectors.implementations.millionbot import MillionBot
    
    bot = MillionBot(bot_id="60a3be81f9a6b98f7659a6f9")
    success, reply = bot.execute_with_input("Hola, ¿puedes ayudarme?")
    print(reply)
    

RASA

  • Use the public REST webhook, e.g. base_url="http://localhost:5005".
  • Optional sender_id controls conversation tracking.

Taskyto

  • Requires the Taskyto server base URL and optional port (defaults to 5000).
  • Example: ChatbotTaskyto(base_url="http://localhost", port=8080)

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

chatbot_connectors-0.7.1.tar.gz (43.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

chatbot_connectors-0.7.1-py3-none-any.whl (28.8 kB view details)

Uploaded Python 3

File details

Details for the file chatbot_connectors-0.7.1.tar.gz.

File metadata

  • Download URL: chatbot_connectors-0.7.1.tar.gz
  • Upload date:
  • Size: 43.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.15 {"installer":{"name":"uv","version":"0.11.15","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for chatbot_connectors-0.7.1.tar.gz
Algorithm Hash digest
SHA256 1705a3af8c8ac178f9deb6b8ddb3492dc82241c01cf5bea631d18f509ed42dbf
MD5 d06fa9917fe2039aa772c1a06aa5e1ce
BLAKE2b-256 f6055217ddf6a9d12cde7ffe64616943cd74cb40829d42096375cc76906a5c84

See more details on using hashes here.

File details

Details for the file chatbot_connectors-0.7.1-py3-none-any.whl.

File metadata

  • Download URL: chatbot_connectors-0.7.1-py3-none-any.whl
  • Upload date:
  • Size: 28.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.15 {"installer":{"name":"uv","version":"0.11.15","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for chatbot_connectors-0.7.1-py3-none-any.whl
Algorithm Hash digest
SHA256 fcf38f2c9a262dc02297032262aed05cdcf5187ff20ccc4f4caea2e2c3c8caf2
MD5 0a126662ac6416e4546081087b779a70
BLAKE2b-256 ba76731596d006033f3a3d2bd59c2e7240aea21e6248768661f9d74e7563e9a7

See more details on using hashes here.

Supported by

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