{ "info": { "author": "Artem Shananin (Shananin)", "author_email": "artem.shananin@gmail.com", "bugtrack_url": null, "classifiers": [ "Environment :: Web Environment", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy", "Topic :: Internet :: WWW/HTTP :: Dynamic Content", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "Python API client for FB Messenger (under development)\n======================================================\n\n.. image:: https://travis-ci.org/shananin/fb_messenger.svg?branch=master\n :target: https://travis-ci.org/shananin/fb_messenger\n\n.. image:: https://img.shields.io/pypi/pyversions/fb_messenger.svg\n :target: https://pypi.python.org/pypi/fb_messenger\n\n.. image:: https://coveralls.io/repos/github/shananin/fb_messenger/badge.svg\n :target: https://coveralls.io/github/shananin/fb_messenger\n\n.. image:: https://badge.fury.io/py/fb_messenger.svg\n :target: https://pypi.python.org/pypi/fb_messenger\n\n.. image:: https://img.shields.io/github/stars/shananin/fb_messenger.svg\n :target: https://github.com/shananin/fb_messenger\n\nInstallation\n~~~~~~~~~~~~\n\nMinimum Requirements\n____________________\n\n- Python 2.7+ or Python 3.3+\n\nInstall from pip\n________________\n\n\n.. code-block:: sh\n\n pip install fb_messenger\n\nBuild from source\n_________________\n\n\n.. code-block:: sh\n\n git clone https://github.com/shananin/fb_messenger\n cd fb_messenger\n python setup.py install\n\nHow to develop\n______________\n\n.. code-block:: sh\n\n make install # create virtualenv folder and install requirements\n make lint # run pylint\n make test # run tests\n make clean # remove virtualenv folder\n\n\nHow to Use\n~~~~~~~~~~\n\nSend simple text\n________________\n\n.. code-block:: python\n\n from fb_messenger.client import FBMessenger\n from fb_messenger import attachments\n from fb.messenger.exceptions import MessengerAPIError\n\n client = FBMessenger(ACCESS_TOKEN, logger_level=logging.DEBUG)\n text = attachments.Text('hello!')\n\n try:\n response = client.send_attachment(RECIPIENT_ID, text)\n except MessengerAPIError as e:\n LOGGER.debug(e)\n\n\nSend attachment\n_______________\n\nMore examples look into `examples` folder.\n\n\n.. code-block:: python\n\n image = attachments.Image('http://example.com/img.jpg')\n\n try:\n response = client.send_attachment(RECIPIENT_ID, text)\n except MessengerAPIError as e:\n LOGGER.debug(e)\n\n\nSend action\n___________\n\n.. code-block:: python\n\n from fb_messenger.types import action_types\n\n try:\n response = client.send_action(RECIPIENT_ID, action_types.MARK_SEEN)\n except MessengerAPIError as e:\n LOGGER.debug(e)\n\n\nHow to process messages in Flask\n________________________________\n\n.. code-block:: python\n\n from flask import Flask, request\n import logging\n from fb_messenger.client import FBMessenger\n from fb_messenger.types import webhook_types\n\n app = Flask(__name__)\n\n logging.basicConfig()\n LOGGER = logging.getLogger(__name__)\n LOGGER.setLevel(logging.DEBUG)\n\n client = FBMessenger(ACCESS_TOKEN, logger_level=logging.DEBUG)\n\n\n @app.route('/webhook', methods=['GET'])\n def get_webhook():\n if request.args.get('hub.verify_token', '') == VERIFY_TOKEN:\n return request.args.get('hub.challenge', '')\n\n return 'Error', 400\n\n\n @app.route('/webhook', methods=['POST'])\n def post_webhook():\n try:\n client.process_message(request.get_json())\n except Exception as e:\n LOGGER.debug(e)\n\n return 'ok'\n\n\n @client.register_webhook(webhook_types.MESSAGE_RECEIVED)\n def message_received(webhook):\n \"\"\"\n :type webhook: fb_messenger.webhooks.MessageReceived\n \"\"\"\n LOGGER.debug((webhook_types.MESSAGE_RECEIVED, webhook))\n\n\n @client.register_webhook(webhook_types.POSTBACK_RECEIVED)\n def postback_received(webhook):\n \"\"\"\n :type webhook: fb_messenger.webhooks.Postback\n \"\"\"\n LOGGER.debug((webhook_types.POSTBACK_RECEIVED, webhook))\n\n\n @client.register_webhook(webhook_types.AUTHENTICATION)\n def authentication(webhook):\n \"\"\"\n :type webhook: fb_messenger.webhooks.Authentication\n \"\"\"\n LOGGER.debug((webhook_types.AUTHENTICATION, webhook))\n\n\n @client.register_webhook(webhook_types.ACCOUNT_LINKING)\n def account_linking(webhook):\n \"\"\"\n :type webhook: fb_messenger.webhooks.AccountLinking\n \"\"\"\n LOGGER.debug((webhook_types.ACCOUNT_LINKING, webhook))\n\n\n @client.register_webhook(webhook_types.MESSAGE_DELIVERED)\n def message_delivered(webhook):\n \"\"\"\n :type webhook: fb_messenger.webhooks.MessageDelivered\n \"\"\"\n LOGGER.debug((webhook_types.MESSAGE_DELIVERED, webhook))\n\n\n @client.register_webhook(webhook_types.MESSAGE_READ)\n def message_read(webhook):\n \"\"\"\n :type webhook: fb_messenger.webhooks.MessageRead\n \"\"\"\n LOGGER.debug((webhook_types.MESSAGE_READ, webhook))\n\n\n if __name__ == '__main__':\n app.run(debug=True, host='0.0.0.0')", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/shananin/Fb_messanger", "keywords": "fb facebook messenger client api chat", "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "fb_messenger", "package_url": "https://pypi.org/project/fb_messenger/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/fb_messenger/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/shananin/Fb_messanger" }, "release_url": "https://pypi.org/project/fb_messenger/0.3.0/", "requires_dist": null, "requires_python": null, "summary": "Python API client for FB Messenger", "version": "0.3.0" }, "last_serial": 2246725, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "5084269d9586e6d782dd22a6d346d412", "sha256": "07c3a9f385d5e881fa0126826f5d10a2512151c89ee4d1c8627fea41bf974094" }, "downloads": -1, "filename": "fb_messenger-0.1.tar.gz", "has_sig": false, "md5_digest": "5084269d9586e6d782dd22a6d346d412", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6827, "upload_time": "2016-07-25T08:04:30", "url": "https://files.pythonhosted.org/packages/39/76/448dd42c7e3f7c0dbb0dcfd3a3437c5f2aedd779fab965f63ee8176a5205/fb_messenger-0.1.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "7a857e55849fbd9e03327e7cad861388", "sha256": "db5c8b25aeef729064cfb4e08b0c1145a63c14cd408ce1e2c6c454fd478c3af6" }, "downloads": -1, "filename": "fb_messenger-0.1.1.tar.gz", "has_sig": false, "md5_digest": "7a857e55849fbd9e03327e7cad861388", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7253, "upload_time": "2016-07-25T08:46:15", "url": "https://files.pythonhosted.org/packages/d0/7e/782b2977783765d617e89cd9caf3fbf8aae855f777761150cca74baee79d/fb_messenger-0.1.1.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "cb9ee49219d8358bcf66f04d98d675ee", "sha256": "d0f6c2339933faa2fc1b21f351ed8294a1607aac3bb6db60face56082228dd9d" }, "downloads": -1, "filename": "fb_messenger-0.2.0.tar.gz", "has_sig": false, "md5_digest": "cb9ee49219d8358bcf66f04d98d675ee", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7260, "upload_time": "2016-07-25T09:00:43", "url": "https://files.pythonhosted.org/packages/7f/42/723c128b462fc2fe0332df62b0cc7d81b1fb05bedaf4c902ae0f35d98cad/fb_messenger-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "96de00e46d10277f739ba772477f46d0", "sha256": "7276d1971ae410c4eaf38af1c2d602e5ca0bfc01e0ab7353328574a8cd23d39c" }, "downloads": -1, "filename": "fb_messenger-0.2.1.tar.gz", "has_sig": false, "md5_digest": "96de00e46d10277f739ba772477f46d0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7523, "upload_time": "2016-07-27T08:48:35", "url": "https://files.pythonhosted.org/packages/6a/fc/e41cebdc9eb6586c6e70076f5b15fe8e245d5530768e773a6f28202eb88d/fb_messenger-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "2b1f49d67b30e5cc5ba4fd9927bd09b3", "sha256": "82c3e03433dca8d22f70ce65b0fd18c0ba0cfc986a794cae442dfbe9fcdc90bb" }, "downloads": -1, "filename": "fb_messenger-0.2.2.tar.gz", "has_sig": false, "md5_digest": "2b1f49d67b30e5cc5ba4fd9927bd09b3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7516, "upload_time": "2016-07-27T08:53:34", "url": "https://files.pythonhosted.org/packages/a8/9f/52ce438f24936bb248536137bb7c4250745016c15389ff1c977dc7e08e64/fb_messenger-0.2.2.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "76fc426bfc6be6b593063a491418a966", "sha256": "1351ed48f14deb32a5fdfe49af0947073057b2bf8bd0098e35ac9e8aa281b4f0" }, "downloads": -1, "filename": "fb_messenger-0.3.0.tar.gz", "has_sig": false, "md5_digest": "76fc426bfc6be6b593063a491418a966", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8005, "upload_time": "2016-07-27T11:52:07", "url": "https://files.pythonhosted.org/packages/ad/d3/165241b0b0ec2d1c22d010830444983b13134653865bb898eb96c3286166/fb_messenger-0.3.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "76fc426bfc6be6b593063a491418a966", "sha256": "1351ed48f14deb32a5fdfe49af0947073057b2bf8bd0098e35ac9e8aa281b4f0" }, "downloads": -1, "filename": "fb_messenger-0.3.0.tar.gz", "has_sig": false, "md5_digest": "76fc426bfc6be6b593063a491418a966", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8005, "upload_time": "2016-07-27T11:52:07", "url": "https://files.pythonhosted.org/packages/ad/d3/165241b0b0ec2d1c22d010830444983b13134653865bb898eb96c3286166/fb_messenger-0.3.0.tar.gz" } ] }