Skip to main content

Client to connect to Botsociety

Project description

Botsociety Python Client

Build Status PyPI version

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


Download files

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

Source Distribution

botsociety-client-1.1.0.tar.gz (4.7 kB view details)

Uploaded Source

Built Distribution

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

botsociety_client-1.1.0-py2-none-any.whl (4.4 kB view details)

Uploaded Python 2

File details

Details for the file botsociety-client-1.1.0.tar.gz.

File metadata

  • Download URL: botsociety-client-1.1.0.tar.gz
  • Upload date:
  • Size: 4.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.1.0 requests-toolbelt/0.8.0 tqdm/4.25.0 CPython/2.7.14

File hashes

Hashes for botsociety-client-1.1.0.tar.gz
Algorithm Hash digest
SHA256 e37f85f28dc7926e76a22a52ae995177cfef8a90533b99d43f9081e3b0a56676
MD5 ddca2a2191214f68241f86152c125a18
BLAKE2b-256 6053524835a15c726bd35300c8bfb366038b94f3ef9bc2836a14f22d6d0a153a

See more details on using hashes here.

File details

Details for the file botsociety_client-1.1.0-py2-none-any.whl.

File metadata

  • Download URL: botsociety_client-1.1.0-py2-none-any.whl
  • Upload date:
  • Size: 4.4 kB
  • Tags: Python 2
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.1.0 requests-toolbelt/0.8.0 tqdm/4.25.0 CPython/2.7.14

File hashes

Hashes for botsociety_client-1.1.0-py2-none-any.whl
Algorithm Hash digest
SHA256 b259538a1395340bc014dcfa8a7a7b71635adad0f3152c0db7d91b4a2578e386
MD5 c50c84befd7977a103a18bc66a305247
BLAKE2b-256 2cf9fbb05696ad266bd51159afb364e5b0ebb99fbcac8474f7e5ea2ab646a8d7

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