システム監視やバッチ処理の完了通知など、リアルタイムでの情報共有を目的としてLINE通知を自動で送るニーズが増えています。本記事では、Pythonを使ってLINE Notify APIを活用し、通知ボットを簡単に作成する方法を解説します。
LINE Notifyとは
LINE Notifyは、LINEのトークルームに対して自動でメッセージを送信できる公式サービスです。アクセストークンを使ってAPIにリクエストを送るだけで、個人やグループに通知を届けることができます。
アクセストークンの取得
LINE Notifyの通知を行うには、まずアクセストークンを取得する必要があります。
- LINE Notifyの公式サイトにアクセス
- 「マイページ」にログイン
- 「トークンを発行する」から通知先(自分・グループ)を選択
- 任意のトークン名を入力して発行
- 表示されたアクセストークンをコピーして保存(再表示不可)
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やメールと比べても、手軽にリアルタイム通知が可能な点が魅力です。日常的な自動化処理と組み合わせて活用することで、運用効率を大きく向上させることができるでしょう。