まえちゃんろぐ

日々の生活の中での気付き、学んだこと、体験したことをアウトプットするブログ(雑記多めです)| プログラミング 本 ワークアウト 茶道

LINE Messaging API で複数のユーザーにプッシュ通知を送る

time 2018/04/02

LINE Messaging API で複数のユーザーにプッシュ通知を送る

過去に構築した「ゴミ出しボット」を一緒に住んでいる人にも使ってもらうため、過去に構築したアプリケーションに少々手を加えた際のメモランダム。

sponsored link

この記事を読み進めるにあたって

アプリケーションは過去に構築した「ゴミ出しボット」を利用します。

開発環境、使用ツール

開発環境及び主な使用ツールは以下になります。

  • Python: ver 3.6.4
  • line-bot-sdk: ver 1.5.0
  • Vagrant: ver 1.9.1
  • CentOS: ver 6.7 (Final)
  • PaaS: Heroku

複数ユーザーにプッシュ通知を送る

まず、このシステムを構築した理由として、一緒に住んでいる人の為でもありますが、PythonのThreadingクラスを使いたかったという理由もありました(それがほとんどの理由というのは内緒だよ)。

そのため、LINE Messaging APIが提供している以下の便利なメソッド「Multicast API」は使わずにいきます(マゾかな)。

システムの構築の流れとして、メッセージを送ってもらい、その人のuserIdをログで取得、それを定数に突っ込んで利用する、という流れ。

全くユーザーフレンドリーじゃない、旧石器時代のようなシステムプラン。

ではコードを書いていきます。

まず、(1) でuserIdを取得します。メッセージを送ってもらう時は、相手の機嫌の良い日におねだりするのがコツです。

(2) で取得したuserIdを設定します。

(3) はThreadの設定です。引数targetにはLINE Messaging APIのメソッドをそのまま突っ込む形で、その為、引数kwargsのキーの値もドキュメントで指定された仕様の通りに構築するようにします。

おわり

たまには回り道をするのも悪くないのです。

ちなみに、Multicast API を使用する人は気を付けなければいけない点として以下の問題があります。

複数のユーザーに同じメッセージを送信したい。
Multicast API を先日追加致しました。こちらを使用することで可能となります。

ただし、以下の点にご注意ください。

Push API を使用できる権限が必要となります。
groupId と roomId を指定することはできません。

via: LINE BOT & Beacon 開発者向けFAQ(随時更新) – LINE Engineering

複数のグループや部屋にはプッシュ通知を送れないようですね。

制約があるようですね。

この世に完全なものはない、故に物事に終わりもない。

こちらからは以上です。

記事内画像

Markus Spiske – Unsplash

販売中チケット

プログラミング、Webサービスの作り方教えます

自分のスキルを販売しております。お困りの方はご遠慮なくご連絡頂ければと思います。

コメント

down

コメントする




お知らせ

スポンサードリンク

書いてる人

maechan

maechan

ベンチャー企業、フリーランス、スタートアップを経験。開発業務、人事業務に従事していました。現在は農業系スタートアップ企業でエンジニアとして働いています。リモートワークをしているノマドサラリーマンです。詳しいプロフィールはこちら。 [詳細]

販売中チケット

プログラミング、Webサービスの作り方教えます 一人で悩まず!お気軽にご相談ください!

その他のチケットはこちら

Instagram