A Python library for connecting to various chatbot APIs with a unified interface.
pip install chatbot-connectorsIf 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)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.
- 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)
- 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
languageparameter ("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)
- 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
- ADA UAM:
- 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)
- Use the public REST webhook, e.g.
base_url="http://localhost:5005". - Optional
sender_idcontrols conversation tracking.
- Requires the Taskyto server base URL and optional port (defaults to
5000). - Example:
ChatbotTaskyto(base_url="http://localhost", port=8080)