Client to connect to Botsociety
Project description
Botsociety Python Client
Connects to the botsociety API and provides an easy to use python API
This implementation is inspired by the official client for nodejs.
Installation
pip install botsociety-client
Usage example
from botsociety import BotSocietyClient
client = BotSocietyClient(user_id="USER_ID",
api_key="API_KEY")
You can find the values for the USER_ID
and the API_KEY
on your Botsociety Profile page
auth()
Test the authentication with Botsociety.
client.auth()
Example:
In [4]: client.auth()
Out[4]:
{'auth': True,
'info': 'You are successfully calling the API. This is just a test API to check your authentication params.'}
conversations()
Retrieve all the conversations from the account.
client.conversations()
Example:
In [5]: client.conversations()
Out[5]:
[{'_id': '5af2c33e64aefa000b21b096',
'channel': 'facebook',
'createdAt': '2018-05-09T09:45:34.860Z',
'name': 'testbot mockup',
'questions': [],
'selected_model': 'iphone6',
'selected_variant': 'white',
'updatedAt': '2018-05-09T12:06:51.459Z'},
{'_id': '5af2e40964aefa000b21e108',
'channel': 'slack',
'createdAt': '2018-05-09T12:05:29.185Z',
'name': 'slack-test mockup',
'questions': [],
'selected_model': 'iphone6',
'selected_variant': 'white',
'updatedAt': '2018-05-09T12:05:31.593Z'}]
conversation('conversation_id')
Retrieve all the information about a single conversation (e.g. includes all messages).
client.conversation("5af2c33e64aefa000b21b096")
Example:
In [6]: client.conversation("5af2c33e64aefa000b21b096")
Out[6]:
{'_id': '5af2c33e64aefa000b21b096',
'channel': 'facebook',
'createdAt': '2018-05-09T09:45:34.860Z',
'messages': [{'_belongs_to_socket_id': None,
'_conversation': '5af2c33e64aefa000b21b096',
'_id': '5af2c34164aefa000b21b097',
'_sender': '5af2c34164aefa000b21b09c',
'alternativeChoices': [],
'attachments': [{'choices': [], 'labels': [], 'size': 'horizontal'}],
'audio_duration': None,
'audio_url': None,
'audio_voice': None,
'choices': [],
'createdAt': '2018-05-09T09:45:37.195Z',
'intent': 'greet',
'is_next_message_linked': False,
'next_alternative': None,
'next_message': '5af2c34164aefa000b21b098',
'prev_alternative': None,
'prev_linked_messages': [],
'prev_message': None,
'progressiveId': 1,
'show_time': 1500,
'side': False,
'text': 'hello',
'text_with_variables': 'hello',
'type': 'text',
'updatedAt': '2018-05-09T09:49:34.469Z'}],
'name': 'testbot mockup',
'options': {'backgroundColor': '#FFFFFF',
'menu': [{'id': '0f13b412-1b61-337b-4486-3278bb657443',
'messages': [],
'nodes': [{'id': '6308000f-8a85-a546-adc8-a6cbc96c5fb3',
'messages': [],
'nodes': [],
'title': 'Contact us'}],
'title': 'Help'}],
'showKeyboard': True,
'showTypingIndicators': True},
'questions': [],
'rtl': False,
'selected_model': 'iphone6',
'selected_variant': 'white',
'set_welcome': False,
'updatedAt': '2018-05-09T12:06:51.459Z',
'ws_fans': '0',
'ws_page_category': '2301',
'ws_text': 'Hi, click the button below to start!'}
message('message_id', 'conversation_id')
Retrieve all the information about a single message of a conversation.
client.message("5af2c34164aefa000b21b097", "5af2c33e64aefa000b21b096")
Example:
In [7]: client.message("5af2c34164aefa000b21b097", "5af2c33e64aefa000b21b096")
Out[7]:
{'_belongs_to_socket_id': None,
'_conversation': '5af2c33e64aefa000b21b096',
'_id': '5af2c34164aefa000b21b097',
'_sender': '5af2c34164aefa000b21b09c',
'alternativeChoices': [],
'attachments': [{'choices': [], 'labels': [], 'size': 'horizontal'}],
'audio_duration': None,
'audio_url': None,
'audio_voice': None,
'choices': [],
'createdAt': '2018-05-09T09:45:37.195Z',
'intent': 'greet',
'is_next_message_linked': False,
'next_alternative': None,
'next_message': '5af2c34164aefa000b21b098',
'prev_alternative': None,
'prev_linked_messages': [],
'prev_message': None,
'progressiveId': 1,
'show_time': 1500,
'side': False,
'text': 'hello',
'text_with_variables': 'hello',
'type': 'text',
'updatedAt': '2018-05-09T09:49:34.469Z'}
variables('conversation_id')
Retrieve all variables of a conversation.
client.variables("5af2c33e64aefa000b21b096")
Example:
In [8]: client.variables("5af2c33e64aefa000b21b096")
Out[8]: {'cuisine': {'values': ['chinese']}}
Advanced Usage
Specifying your own botsociety API server
If you happen to run your own botsociety API server, there is a way to specify its url:
from botsociety import BotSocietyClient
client = BotSocietyClient(user_id="USER_ID",
api_key="API_KEY",
api_url="http://yourapi.com")
Changelog
1.1.0 - 20.08.18
added:
- allow user to specify version / url of botsociety API
1.0.0 - 14.05.18
added:
- initial version released
- feature complete with respect to node js client library
License
Licensed under the Apache License, Version 2.0. Copyright 2018 Rasa Technologies GmbH. Copy of the license.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for botsociety_client-1.1.0-py2-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b259538a1395340bc014dcfa8a7a7b71635adad0f3152c0db7d91b4a2578e386 |
|
MD5 | c50c84befd7977a103a18bc66a305247 |
|
BLAKE2b-256 | 2cf9fbb05696ad266bd51159afb364e5b0ebb99fbcac8474f7e5ea2ab646a8d7 |