Skip to main content

Python Wrapper for JSON API Chatfuel

Project description

python-chatfuel-class

Descrpition: Python Wrapper for JSON API Chatfuel

This project was inspired by php-chatfuel-class

Functions List:

  • Send Text:
def sendText(self, messages = None)
  • Send Image
def sendImage(self, url_image)
  • Send Audio
def sendAudio(self, url):
  • Send Video
def sendVideo(self, url)
  • Send Text Card
def sendTextCard(self, text, buttons)
  • Send Gallery
def sendGallery(self, elements)
  • Send List
def sendList(self, elements)
  • Send Quick Reply
def sendQuickReply(self, text, quickReplies)
  • Create Element
def createElement(self, title, image, subTitle, buttons)
  • Create Button To Block
def createButtonToBlock(self, title, block, setAttributes = None)
  • Create Button To URL
def createButtonToURL(self, title, url)
  • Create PostBack Button
def createPostBackButton(self, title, url_plugin)
  • Create Call Button
def createCallButton(self, title, phoneNumber)
  • Create Share Button
def _createShareButton(self)
  • Create Attachment
def createAttachment(self, _type, payload)

You can see the code at here class_chatfuel.py

Installation

For python 2x
pip install python_chatfuel_class
For python 3x
pip3 install python_chatfuel_class

Usage

  • Send Text:
@app.route('/sendText/<text>')
def sendText(text):
    chatfuel = Chatfuel()
    chatfuel.sendText(text)
    return chatfuel.get_response()

send-text

  • Send Image:
@app.route('/sendImage/')
def sendImage():
    chatfuel = Chatfuel()
    url_image = ''
    chatfuel.sendImage(url_image)
    return chatfuel.get_response()

send-Image

  • Send Audio:
@app.route('/sendAudio/')
def sendAudio():
    chatfuel = Chatfuel()
    url_audio = ''
    chatfuel.sendAudio(url_audio)
    return chatfuel.get_response()

send-Audio

  • Send Video:
@app.route('/sendVideo/')
def sendVideo():
    chatfuel = Chatfuel()
    url_video = ''
    chatfuel.sendVideo(url_video)
    return chatfuel.get_response()

send-Video

  • Send Button to Block:
@app.route('/sendTextCard/ButtonToBlock')
def createButtonToBlock():
    chatfuel = Chatfuel()
    ButtonToBlock = chatfuel.createButtonToBlock(
        'Button To Block',
        ['#block_1', '#block_2'],
        {'setAttribute_1': 'value_1'}
    )
    chatfuel.sendTextCard('Clicking the button below!', [ButtonToBlock])
    return chatfuel.get_response()

Button to Block

  • Send Button to URL:
@app.route('/sendTextCard/ButtonToURL')
def ButtonToURL():
    chatfuel = Chatfuel()
    ButtonToURL = chatfuel.createButtonToURL(
        'Button To URL',
        'url_website',
    )
    chatfuel.sendTextCard('Clicking the button below!', [ButtonToURL])
    return chatfuel.get_response()

Button To URL

  • Send Button Post Back:
@app.route('/sendTextCard/PostBackButton')
def PostBackButton():
    chatfuel = Chatfuel()
    PostBackButton = chatfuel.createPostBackButton(
        'Post Back Button',
        'url_plugin',
    )
    chatfuel.sendTextCard('Clicking the button below!', [PostBackButton])
    return chatfuel.get_response()

PostBack Button

  • Send Button Call:
@app.route('/sendTextCard/CallButton')
def CallButton():
    chatfuel = Chatfuel()
    CallButton = chatfuel.createCallButton(
        'Call Button',
        'Phone_number', #example; +84919666666
    )
    chatfuel.sendTextCard('Clicking the button below!', [CallButton])
    return chatfuel.get_response()

Call Button

  • Send Gallery:
@app.route('/sendGallery/')
def sendGallery():
    chatfuel = Chatfuel()
    elements = []
    #maximum 3 button
    button_access_url = chatfuel.createButtonToURL('Access Website', 'https://www.google.com.vn')
    button_call = chatfuel.createCallButton('+84919666666')
    button_share = chatfuel.createShareButton()
    title = 'Send Gallery'
    image_url = ''
    subTitle = 'subTitle Item'
    for i in range(5):
        elements.append(chatfuel.createElement(title, image_url, subTitle, [button_access_url, button_call, button_share]))
    chatfuel.sendGallery(elements)
    return chatfuel.get_response()

send-Gallery

  • Send List:
@app.route('/sendList/')
def sendList():
    #minimum 2 items in one List (Elements)
    #maximum 4 items in one List (Elements)
    chatfuel = Chatfuel()
    elements = []
    button_access_url = chatfuel.createButtonToURL('Access Website', 'https://www.google.com.vn')
    title = 'Send List'
    image_url = ''
    subTitle = 'subTitle Item'
    for i in range(2):
        elements.append(chatfuel.createElement(title, image_url, subTitle, [button_access_url]))
    chatfuel.sendList(elements)
    return chatfuel.get_response()

send-List

  • Send Quick Reply:
@app.route('/sendQuickReply/')
def sendQuickReply():
    chatfuel = Chatfuel()
    button_quick_replies_attributes = chatfuel.createButtonToBlock(
        'Send Quick Reply',
        ['#block_1'],
        {'setAttributes_1': 'value_1'},
    )
    button_quick_replies = chatfuel.createButtonToBlock('Title', ['#block_1'])
    chatfuel.sendQuickReply('Text', [button_quick_replies_attributes, button_quick_replies])
    return chatfuel.get_response()

send-Quick-Reply

  • Redirect Block
@app.route('/redirectBlock/')
def redirectBlock():
    return json.dumps({"redirect_to_blocks": ["Welcome message", "Default answer"]})

Redirect Block

Demo:

Author: @Peter Dinh

Project details


Release history Release notifications

Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
python_chatfuel_class-2.1.3-py3-none-any.whl (4.9 kB) Copy SHA256 hash SHA256 Wheel py3
python_chatfuel_class-2.1.3.tar.gz (4.8 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page