🤖 line-bot-sdk-python-extra
August 18, 2021 · View on GitHub
Better alternative: https://github.com/uezo/aiolinebot
🤖 line-bot-sdk-python-extra
.. image:: https://img.shields.io/pypi/v/line-bot-sdk-extra.svg :target: https://pypi.python.org/pypi/line-bot-sdk-extra :alt: PyPI - Version
.. image:: https://img.shields.io/pypi/status/line-bot-sdk-extra.svg :target: https://pypi.python.org/pypi/line-bot-sdk-extra :alt: PyPI - Status
.. image:: https://img.shields.io/pypi/pyversions/line-bot-sdk-extra.svg :target: https://pypi.python.org/pypi/line-bot-sdk-extra :alt: PyPI - Python Version
.. image:: https://img.shields.io/pypi/l/line-bot-sdk-extra.svg :target: https://pypi.python.org/pypi/line-bot-sdk-extra :alt: PyPI - License
.. image:: https://img.shields.io/badge/code%20style-black-000000.svg :target: https://github.com/ambv/black :alt: Code Style - Black
.. image:: https://img.shields.io/badge/Ko--fi-donate-blue.svg :target: https://ko-fi.com/shivelight :alt: Ko-fi - Donate
Extra feature for LINE Messaging API SDK for Python <line-bot-sdk-python_>_.
Installation
::
pip install line-bot-sdk-extra
or::
python setup.py install
To use the package::
import linebotx
Features
Asynchronous API ^^^^^^^^^^^^^^^^
Allows you to write non-blocking code which makes your bot respond much faster with little changes.
Synchronous:
.. code-block:: python
from linebot import LineBotApi, WebhookHandler line_bot_api = LineBotApi('YOUR_CHANNEL_ACCESS_TOKEN') handler = WebhookHandler('YOUR_CHANNEL_SECRET')
Asynchronous:
.. code-block:: python
from linebotx import LineBotApiAsync, WebhookHandlerAsync line_bot_api = LineBotApiAsync('YOUR_CHANNEL_ACCESS_TOKEN') handler = WebhookHandlerAsync('YOUR_CHANNEL_SECRET')
Equivalent Counterpart """"""""""""""""""""""
+---------------------+----------------+ | linebotx | linebot | +=====================+================+ | LineBotApiAsync | LineBotApi | +---------------------+----------------+ | AioHttpClient | HttpClient | +---------------------+----------------+ | AioHttpResponse | HttpResponse | +---------------------+----------------+ | WebhookHandlerAsync | WebhookHandler | +---------------------+----------------+
NOTE: Every public method is coroutine and should be awaited. For example:
.. code-block:: python
@app.route("/callback", methods=['POST'])
async def callback():
...
await handler.handle(body, signature)
...
@handler.add(MessageEvent, message=TextMessage)
async def handle_message(event):
await line_bot_api.reply_message(
event.reply_token,
TextSendMessage(text=event.message.text))
Additional Methods """"""""""""""""""
coroutine :code:LineBotApiAsync.close()
Close underlying http client.
coroutine :code:AioHttpClient.close()
See aiohttp.ClientSession.close() <https://aiohttp.readthedocs.io/en/stable/client_reference.html#aiohttp.ClientSession.close>_.
Timeout """""""
To set a timeout you can pass aiohttp.ClientTimeout <https://aiohttp.readthedocs.io/en/stable/client_reference.html#aiohttp.ClientTimeout>_ object instead of numeric value.
Examples """"""""
sanic-echo <https://github.com/Shivelight/line-bot-sdk-python-extra/tree/master/examples/sanic-echo>_ - Sample echo-bot using sanic_.
Contributing
If you would like to contribute, please check for open issues or open a new issue if you have ideas, changes, or bugs to report.
References
This project is just a small addition to the original SDK, please refer to line-bot-sdk-python <line-bot-sdk-python_>_ or the docs <https://line-bot-sdk-python.readthedocs.io/en/latest/>_.
.. _sanic: https://github.com/huge-success/sanic .. _line-bot-sdk-python: https://github.com/line/line-bot-sdk-python