【Python】LINE通知ボットを作る方法|LINE Notify APIを使った自動連携

【Python】LINE通知ボットを作る方法|LINE Notify APIを使った自動連携 Python

システム監視やバッチ処理の完了通知など、リアルタイムでの情報共有を目的としてLINE通知を自動で送るニーズが増えています。本記事では、Pythonを使ってLINE Notify APIを活用し、通知ボットを簡単に作成する方法を解説します。

LINE Notifyとは

LINE Notifyは、LINEのトークルームに対して自動でメッセージを送信できる公式サービスです。アクセストークンを使ってAPIにリクエストを送るだけで、個人やグループに通知を届けることができます。

アクセストークンの取得

LINE Notifyの通知を行うには、まずアクセストークンを取得する必要があります。

  1. LINE Notifyの公式サイトにアクセス
  2. 「マイページ」にログイン
  3. 「トークンを発行する」から通知先(自分・グループ)を選択
  4. 任意のトークン名を入力して発行
  5. 表示されたアクセストークンをコピーして保存(再表示不可)

PythonからLINEに通知を送るコード

以下のスクリプトは、PythonでLINEに通知を送信するシンプルな実装例です。

import requests

# 取得したアクセストークンを設定
ACCESS_TOKEN = 'YOUR_LINE_NOTIFY_TOKEN'

# 送信するメッセージ
message = 'PythonからLINE Notifyで通知を送信しました!'

def send_line_notify(message):
    url = 'https://notify-api.line.me/api/notify'
    headers = {
        'Authorization': f'Bearer {ACCESS_TOKEN}'
    }
    payload = {
        'message': message
    }
    response = requests.post(url, headers=headers, data=payload)
    return response.status_code

# 実行
status = send_line_notify(message)
if status == 200:
    print('通知を送信しました')
else:
    print(f'送信に失敗しました(ステータスコード: {status})')

送信内容のカスタマイズ

メッセージには以下のような情報も付加できます。

  • 絵文字や改行(\n)
  • 画像の送信(imageThumbnail, imageFullsize)
  • スタンプ(stickerPackageId, stickerId)

たとえば画像を添付する場合は、以下のようにpayloadにキーを追加します。

payload = {
    'message': '画像付き通知です',
    'imageThumbnail': 'https://example.com/image.jpg',
    'imageFullsize': 'https://example.com/image.jpg'
}

定期実行やシステム連携の活用例

この通知ボットは以下のような用途で活用できます。

  • 定時バッチ処理の完了通知
  • スクレイピング結果のレポート送信
  • IoT機器やセンサーからの異常通知

cronやWindowsタスクスケジューラと連携すれば、完全な自動通知フローを構築できます。

まとめ

LINE Notify APIを使えば、Pythonから簡単にLINEへ通知を送信できます。Slackやメールと比べても、手軽にリアルタイム通知が可能な点が魅力です。日常的な自動化処理と組み合わせて活用することで、運用効率を大きく向上させることができるでしょう。