見出し画像

『Macrodroid』経由で『LINE』の通知を一元化し『Gmail』へ:プル型でLINEのメッセージを確認したい

LINEで気が散りやすい。
LINEを見なくてもLINEにメッセージが来ているか確認できる環境が欲しい。
他にさしたる理由もなく、ツールのせいで他者を嫌いになるのはどうにもおかしいから、自分のためにつくってみることにした。


欲しい環境:相手を選んで通知を一元化⇒どこかに転送・プル型で確認できるようにする

なぜこの環境を作りたいのか

LINEの通知を、メールや別の連絡用SNS、またはスマホのSMSやGmailに転送し、自分の見たいタイミングで見る。
可能であれば、あらかじめ指定した相手のLINEだけ、自分のタイミングで確認したい。

『確認する必要がある相手を選んだうえで通知を一元化し、さらにその一元化された通知を他のところに転送して、プル型で確認できるようにする』
これを作りたい。

考えたこと

最初、『LINE』の通知を別の連絡用SNSである『Slack』や『Facebook Messenger』に転送できるようAPIを使ってGAS経由で連携ができないかと考えた。
または、Gmailに通知が届くようにできないか。
自分のタイミングで別の場所を見ることで、LINEを開かなくてもLINEの通知、可能であれば冒頭の10文字くらいを確認できるようにしたかった。

しかし、『LINE』には、特定の相手からのメッセージを取得する公式APIが存在しないため、実装が複雑になるというか、私が望むものはできない。『Slack』の場合、『Slack API』からWebhookで各チャンネルを指定し、指定のチャンネルの投稿のみを他SNSやデータベースに転送することができるが、LINEではそのようなことができない。
他の連絡用SNSは、見た限りどれもそれができるのに。
絶対ニーズがあると思うのだけど、直接それをできる方法が公式から提供されていないのは、何か理由があるのだろうか。

ChatGPTに構築の仕方を聞く

PCでLINEを含む各種メッセージングSNSの通知を管理するアプリを作成する場合、いくつかの異なるアプローチが考えられます。これらのアプローチは、技術的なスキルや利用可能なAPI(Application Programming Interface)に依存します。以下に、可能な方法をいくつか示します。

1. デスクトップアプリケーションの開発

プログラミング言語: Python(PyQtやTkinterなどのGUIフレームワークを使用)、C#(.NET Framework)、Java(SwingやJavaFX)などの言語を使用してデスクトップアプリケーションを開発します。
機能: アプリは、各SNSのAPIを利用して通知を受け取り、ユーザーが設定したルールに基づいてこれらの通知を表示または非表示にします。

2. ブラウザ拡張機能の開発
技術: JavaScriptを使用して、ChromeやFirefoxなどのブラウザ向けの拡張機能を開発します。
機能: ブラウザ拡張機能は、開いているタブの通知を監視し、特定のSNSからの通知を管理することができます。

3. サードパーティのサービスを利用
サービス: IFTTT(If This Then That)やZapierのようなサービスを利用して、異なるSNS間での通知の連携を設定します。
機能: これらのサービスは、特定のトリガー(例えばLINEのメッセージ受信)に基づいて特定のアクション(例えばPC上での通知)を実行します。

4. APIの利用
APIの統合: 各メッセージングSNSが提供するAPIを利用して、通知情報を取得し、一元管理するシステムを構築します。
注意点: すべてのメッセージングSNSが外部からのAPIアクセスを許可しているわけではないため、利用可能なAPIの範囲を確認する必要があります。

5. カスタムサーバーの構築
サーバー
: Node.jsやPython Flaskなどを使用してカスタムサーバーを構築し、各SNSからの通知を集約します。
機能: サーバーは各SNSのAPIをポーリングし、通知を受け取ったらPCのクライアントアプリに転送します。

注意点
プライバシーとセキュリティ: ユーザーのメッセージや通知を扱うため、プライバシーとセキュリティに特に注意を払う必要があります。
APIの利用規約: 各SNSのAPIを利用する際は、その利用規約を遵守する必要があります。
技術的な複雑さ: このようなアプリケーションを開発するには、高度なプログラミングスキルとAPIの知識が必要です。

これらの方法は、技術的な知識と利用可能なリソースに基づいて選択することができます。また、特定のSNSのAPIが利用できない場合は、そのSNSの通知を直接管理することは難しいかもしれません。

ChatGPTから返ってきた回答。

おいおい全部やりたいが、とりあえず早めにLINEを一元化したい。
なので、一番簡単そうで、すでにやったことがある『3. サードパーティのサービスを利用』に挑戦した。

ちょうど、以前も記事にした『Zapeir(ザピアー)』が紹介されていたこともあり、なんとなくとっつきやすい。
『IFTTT(イフト)』という自動化ツールの名前が出ていたので、まずこちらを見てみたが、2024年6月でサービス終了とのこと。
類似のRPAを調べ、『Macrodroid(マクロドロイド)』というツールを使うことにした。
「Android最強ツール」との感想がネットに散見されており、ワクワクする。

参考ページ

LINEで気が散りやすい、ついスマホを見てしまう。
これを解決するための、『確認すべき相手を選んだうえで通知を一元化し、さらにその一元化された通知を他のところに転送してプル型で確認できるようにする』という環境。

これがいいなと思った方法を貼ります。
特に、Gmailに転送できるのは本当に理想的です。

補足:『プッシュ型』と『プル型』

プッシュ型とプル型:情報がどのように伝えられるかの違い。

プッシュ型:情報が利用者に直接送られるかたち。
例)ニュースアプリが最新のニュースをスマートフォンに通知するような場合。
利用者が積極的に情報を求めるのではなく、情報配信側からアプローチされるイメージ。

プル型:利用者側からアクセスすることで、情報を取得するかたち。
例)ニュースサイトにアクセスして最新の記事を読むような場合。
利用者が積極的に、自分で検索して情報を取得する。

『Macrodroid』とは:Android端末そのものの操作に対し、マクロ的なオリジナル設定を作りまくれるアプリ

Androidデバイス用の、非常に自由度が高い自動化アプリ。
さまざまなタスク・プロセスを自動化し、スマホやタブレットの利用を効率的かつパーソナライズなものにできる。
例えば、特定の場所に到着したときにWi-Fiをオンにする、着信音量を時間帯によって自動的に調整する、特定のアプリを起動するというように、多種多様な「トリガー」と「アクション」を組み合わせた自動化が可能。
自分のニーズに合わせ、様々なマクロを作成できる。

補足:『IFTTT』とは:自動化・業務効率化のためのノーコードプラットフォーム

『IFTTT(イフト)』は、複数のアプリ・デバイス・プラットフォーム等を連携させ、ユーザーが設定したトリガー(『毎日朝7時が来たら』『あるSNSに新規投稿があったら』『投稿にコメントが付いたら』等)に基づいて自動的にアクションを実行する(『Gmailにメンションを送る』『自動で定型文を返信する』等)ことがノーコードでできるプラットフォームだ。

アプリはiOS、Androidの両方に対応しており、リードの管理、コンテンツの作成、ソーシャルメディアへのクロスポスト(同時に投稿すること)など、自動化・業務効率化に広く使える。

※『IFTTT』は2024年6月にサービス終了するとのことで、他の自動化ツールを見つけるか、この際、GASに挑戦しようかと考えています。
他のツールでも要領はあまり変わらないと思うため、覚書として記事にしました。

工程

『Macrodroid』上で『LINE』と『Gmail』を連携する。

『LINEで通知オンにした相手・グループに投稿があったら』→『記録(ログ)をとり、Gmailに概要を通知』の流れを作る。

設定はたったのこれだけ。
通知メールにログをつけてみたい
メルマガの通知がきた!
マクロが実行された
ユーザーログに、
メッセージ冒頭の数文字と
送信者が記録される
どしどしお便りが届きます…!

当初と使うツールが変わり、プル型とかそういう感じじゃなくなっているのがお恥ずかしい。
追って、『IFTTT』の話と『Macrodroid』の話の2つに、記事を分けます。

メールが届いたが、
文字化けしているのと、
ログはファイルのかたちで届くのか。
テキストファイルを開くとこんな感じ。

よく考えたら、セキュリティ的にログをメールに送るのはよくないかも。通知が届いたらログを見るという、それこそプル型で確認するか。

それからおいおい、『至急』というワードが入ったメッセージをフィルタリングして、毎日決まった時間にまとめてGmailに届くようにしたい。また、別マクロで、『緊急』というワードが入ったメッセージをSMSに届くようにしたい。お客様に、お仕事の依頼の時は、これらのワードを入れていただけばよい。

分からなかった・できなかったこと

●ガラケー+iPadの生活に変えたので、ガラケーからプル型で確認できるかたちで、連絡用SNS(LINE・Messengerなど)の通知を一元化できたら理想的。

→『IFTTT』ではなく『Macrodroid』を使うことで実現できた。

●『Pythonista』という買い切りツールを購入したが、そのサンプルコードとして、ボタンのUIがあった。
バックエンド開発(言葉が合っているかわからないが)ができたら、これを押すことでプル式で通知がある場所に飛べるようにできるか。
この場合、SlackでもMessengerでも何でも良い。
そのボタンを見ている分にはLINEからの情報は入らないから、iPad上に有っても問題ないからだ。

●『Zapeir』は月50アクションまで無料。
『LINE』はたくさん通知がある(アクション数が多い)と考えた場合、無料で使えるのは結局GASか(というか、GASって有料版があるのか?)。

●『LINE Notify』って結局なんだろう。
LINE Notify について、自分の勉強用に以下のリンクをお借りします。

感想

毎回のことだが、ChatGPTに聞きながら作れば、簡単なものならなんとかなるから、すごい。
結局うまくできなくても、できないところをメモしておくと後からつながったりするので、数をこなすのがやっぱり大事なんだろうと思う。

自分用リンク

通知転送サービス『Poppo(ぽっぽ)』

追記:各SNSの投稿や通知をLINEに集約・一元化するパターン

『様々なSNSや情報配信サービスに投稿があったらLINEに通知がきて、すべてLINEから確認できる』という環境を作っている記事がたくさんあった。
なぜこちらは多いのか、LINEというツールの主旨的なものから、そのような機能がないのかなど、知りたい。


この記事が参加している募集

AIとやってみた

よろしければサポートお願いします! 頂いたサポートは書籍代にします。 より良い情報をお届けするため、学びます。