4
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

PythonでLINEに通知する

Posted at

目的

LINEでbotを作り、Pythonからbotを通して通知する
※月額0円のコミュニケーションプランだと、月に200通までの制限がある
https://www.lycbiz.com/jp/news/line-official-account/20230601/

背景

時間のかかる処理をさせる際に、終わったらスマホに知らせてほしいと思うことが多々あったので、AIさんに聞いて作ってみた。

環境

  • Windows11 バージョン24H2(OSビルド26100.2454)
  • Python3.12.4
  • line-bot-sdk 3.9.0

作り方

  1. (無ければ)LINE Developersアカウントを作る
  2. ログインする
  3. (無ければ)プロバイダーを作る
  4. (無ければ)チャネルを作る
  5. チャンネルシークレットを取得する
  6. アクセストークンを取得する
  7. LINE通知するユーザーIDを調べる
  8. PythonのLINE通知クラスを作成する
  9. line-bot-sdkをインストールする

(無ければ)LINE Developersアカウントを作る

LINEデベロッパーコンソールで、アカウントが無なければ作る
image.png

ログインする

LINEデベロッパーコンソールにログインする

(無ければ)プロバイダーを作る

プロバイダーが無ければ作成する
image.png

(無ければ)チャネルを作る

プロバイダーに入って、新規チャネル作成する
image.png

チャンネルシークレットを取得する

チャネルのチャネル基本設定を開く
image.png
チャネルシークレットの発行ボタンをクリックする
表示されたチャネルシークレットを控えてく

アクセストークンを取得する

チャネルのMessaging API設定を開く
image.png
チャンネルアクセストークン(長期)の発行ボタンをクリックする
表示されたチャネルアクセストークンを控えておく

LINE通知するユーザーIDを調べる

チャネルのチャネル基本設定を開く
あなたのユーザーIDを控えておく

PythonのLINE通知クラスを作成する

例えば、AIさんに以下を質問して

python言語で、LINEメッセージAPIを使ってLINEに通知を送るクラスを作ってください。
そのクラスはvalueobjectパターンで作ります。
アクセストークンとチャンネルシークレットは引数で与えてインスタンスを作ります。
アクセストークンとチャンネルシークレットはファイルに保存します。
引数が与えられずファイルに保存されている時はファイルから読み込んでインスタンスを作ります。

回答のコードを、自分好みに直して使います。

line-bot-sdkをインストールする

コマンドラインで以下を入力する

pip install line-bot-sdk

使い方

LineMessageAPIクラスのdocstringを見てもらえばわかりますが、引数access_tokeにアクセストークンを、channel_secretにチャンネルシークレットを指定して、LineMessageAPIクラスのインスタンスを作り、引数user_idで送るユーザーのIDと、messageで送るメッセージを指定して、send_messageメソッドを呼び出せば通知できます。
初回は、以下のコマンドで通知を送ります。line_message_api_config.jsonファイルにアクセストークンやチャンネルシークレットが保存されます。

python line_message_api.py -a <アクセストークン> -c <チャンネルシークレット> -u <通知を送るユーザーID> -m <メッセージ>

次回からは、アクセストークンとチャンネルシークレットをline_message_api_config.jsonから読み込むので、以下の通り省略できます。

python line_message_api.py -u <通知を送るユーザーID> -m <メッセージ>

おわりに

無料だと200通までなので、何を通知するかよく考えて利用したい。
slackなら無料で何通でも通知できると思うので、次回はそちらを試したい。

関連リンク

参考サイト

ドキュメント

4
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?