Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import json
- import logging
- import requests
- from flask import Flask, request, Response
- from viberbot import Api
- from viberbot.api.bot_configuration import BotConfiguration
- from viberbot.api.messages.text_message import TextMessage
- from viberbot.api.messages.url_message import URLMessage
- from viberbot.api.viber_requests import ViberFailedRequest, ViberConversationStartedRequest
- from viberbot.api.viber_requests import ViberMessageRequest
- from viberbot.api.viber_requests import ViberSubscribedRequest
- app = Flask(__name__)
- viber = Api(BotConfiguration(
- name='Bot Name',
- avatar='',
- auth_token='**********-************-*************'
- ))
- @app.route('/', methods=['POST'])
- def incoming():
- #logger.debug("received request. post data: {0}".format(request.get_data()))
- # every viber message is signed, you can verify the signature using this method
- if not viber.verify_signature(request.get_data(), request.headers.get('X-Viber-Content-Signature')):
- return Response(status=403)
- # this library supplies a simple way to receive a request object
- viber_request = viber.parse_request(request.get_data())
- if isinstance(viber_request, ViberMessageRequest):
- message = viber_request.message
- # lets echo back
- viber.send_messages(viber_request.sender.id, [
- message
- ])
- elif isinstance(viber_request, ViberSubscribedRequest):
- viber.send_messages(viber_request.get_user.id, [
- TextMessage(text="thanks for subscribing!")
- ])
- elif isinstance(viber_request, ViberFailedRequest):
- logger.warn("client failed receiving message. failure: {0}".format(viber_request))
- return Response(status=200)
- if __name__ == "__main__":
- context = ('server.crt', 'server.key')
- app.run(port="8087")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement