Skip to main content

Using LINE Notify more easily

Project description

Lotify - LINE Notify client SDK

License: MIT PRs Welcome Build Status pypi package Python Version

📖 Chinese traditional version

Lotify is a LINE Notify client SDK that you can build Notify bot quickly.

If you programing language is not python, here can find other language version:

Usage

You need a LINE account and create a Notify like this:

create-a-line-notify

Install package

pip install lotify

You can find sample - flask-line-notify

Environment variables

Input those variables in your .env file or OS environment (using export),

then you don't need to input any parameters in initialize step.

LINE_NOTIFY_CLIENT_ID
LINE_NOTIFY_CLIENT_SECRET
LINE_NOTIFY_REDIRECT_URI

Initialize instance

  • If you already have Notify environment variables:
from lotify.client import Client

client = Client()
  • else:
from lotify.client import Client

client = Client(
    client_id='YOUR_CLIENT_ID',
    client_secret='YOUR_CLIENT_SECRET',
    redirect_uri='YOUR_URI'
)

Get authorizer link

link = client.get_auth_link(state='RANDOM_STRING')
print(link)
# https://notify-bot.line.me/oauth/authorize?scope=notify&response_type=code&client_id=QxUxF..........i51eITH&redirect_uri=http%3A%2F%2Flocalhost%3A5000%2Fnotify&state=foo

Get access token

access_token = client.get_access_token(code='NOTIFY_RESPONSE_CODE')
print(access_token)
# N6g50DiQZk5Xh...25FoFzrs2npkU3z

Get Status

status = client.status(access_token='YOUR_ACCESS_TOKEN')
print(status)
# {'status': 200, 'message': 'ok', 'targetType': 'USER', 'target': 'NiJia Lin'}

Send message

push-notify

response = client.send_message(access_token='YOUR_ACCESS_TOKEN', message='This is notify message')
print(response)
# {'status': 200, 'message': 'ok'}

Send message with Sticker

push-notify-with-sticker

You can find stickerId and stickerPackageId here.

response = client.send_message_with_sticker(
    access_token='YOUR_ACCESS_TOKEN',
    message='This is notify message',
    sticker_id=1,
    sticker_package_id=1)
print(response)
# {'status': 200, 'message': 'ok'}

Send message with Files

send-message-with-image-path

image = client.send_message_with_image_file(
    access_token='YOUR_ACCESS_TOKEN',
    message='This is notify message',
    file=open('./test_image.png', 'rb')
)
print(image)
# {'status': 200, 'message': 'ok'}

Send message with Image url

send-message-with-image-url

image = client.send_message_with_image_url(
    access_token='YOUR_ACCESS_TOKEN',
    message='This is notify message',
    image_thumbnail='https://i.imgur.com/RhvwZVm.png',
    image_fullsize='https://i.imgur.com/RhvwZVm.png',
)
print(image)
# {'status': 200, 'message': 'ok'}

Revoke access token

revoke-line-notify-token

revoke = client.revoke(access_token='YOUR_ACCESS_TOKEN')
print(revoke)
# {'status': 200, 'message': 'ok'}

Command Line Interface

lotify --help
-t, --access_token TEXT  access token  [required]
-m, --message TEXT       message to send  [required]
-u, --image-url TEXT     image url to send
-f, --image-file TEXT    image file path to send

Contributing

Fork before Clone the repository:

git clone git@github.com:your-username/line-notify.git

First install for development.

pip install -r requirements-dev.txt

Run pytest to make sure the tests pass:

cd line-notify/
python -m tox
python -m pytest --flake8 tests/

License

MIT © NiJia Lin & Duncan Huang

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

lotify-2.3.1.tar.gz (6.2 kB view details)

Uploaded Source

Built Distribution

lotify-2.3.1-py3-none-any.whl (5.8 kB view details)

Uploaded Python 3

File details

Details for the file lotify-2.3.1.tar.gz.

File metadata

  • Download URL: lotify-2.3.1.tar.gz
  • Upload date:
  • Size: 6.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.5

File hashes

Hashes for lotify-2.3.1.tar.gz
Algorithm Hash digest
SHA256 4606e377cf421f3b3cadfb118959fd21b572b01e28e493147ef57bef9682786b
MD5 8617ff432209fec7b5d7196ba068ede0
BLAKE2b-256 3b3b4e93b18ce3da9cb48c50d2c93c8aa23d54b69fa0a6b514967a6e2c507842

See more details on using hashes here.

File details

Details for the file lotify-2.3.1-py3-none-any.whl.

File metadata

  • Download URL: lotify-2.3.1-py3-none-any.whl
  • Upload date:
  • Size: 5.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.5

File hashes

Hashes for lotify-2.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 4aa4ace420b122036cdc01d70e7c0239b3ed42ddd858b87ac21bef515aba64f1
MD5 8131ecfd211985b09108a242317bbcdb
BLAKE2b-256 8d39c180fb1d250754d8e4d65391a648c50b9cbe736e5a1807415760e791bbae

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page