IFTTTとOffice365emailを連携し授業変更自動通知LINE BOTを作った。
はじめに
室長がクラスLINEで誤った授業変更通知をして僕が忘れ物をした(確認しなかった僕が悪い)ので授業変更を自動で通知してくれるLINE BOTを作りました。
仕組み
様々なWebサービス同士を連携させることができるIFTTT(イフトって読むらしい。初見分からんかった。)というものを使用しました。
Outlookで特定のメールアドレス(ここでは授業変更を通知してくる学校のメアド)からメールを受信する。
↓
IFTTTに転送(事前にIFTTT側でOffice365emailとの連携が必要)
↓
IFTTTからWebhook送信でLINE BOTサーバにメール本文をPOST
↓
POSTされたメール本文をグループLINEにPush
- 言語:Python
- Webフレームワーク:Flask
- サーバ:Heroku
ソースコード
クソな部分がいっぱいあるけど許してください....。
まじで....あとで修正するから....今だけだから....許して...。
https://github.com/FlexiblePrintedCircuits/class_bot
参考にした記事や人など
IFTTT
↓IFTTTでのそもそものWebhookの使い方
https://ifttt-japan.club/apply-webhooks
↓メールを受信したらSlackに通知をさせるっていう記事
https://qiita.com/wasnot/items/ba71c7e861fb44cf8d84
LINE BOT側
↓グループにプッシュ通知をさせる
https://qiita.com/kenichi_odo/items/18badf7c069334d9c3a2
人
Siketyanって子がいるんですけどその子に色々教えてもらいました。
ありがとうSiketyan!!
結果
できたっちゃできた。
ただhtmlのタグが入っているので将来的にこいつらを取り除きたい。
詰まったとこ
IFTTTのトリガーにGmailがサポートされていない
最初Gmailでメール受信したら、って形にしたかったけど、去年の3月デサポート終了したらしいので仕方なくOfficeを使用することに。
IFTTTからサーバにメールの内容が送信されずIFTTT側でエラーが出る
Office側でIFTTTに権限を許可していないのが原因でした。
1度IFTTTでOffice365emailのコネクションを切って、もう1度コネクトしたら解決しました。
コードは問題ないのにLINE BOTエラーがでる
IFTTTから送信されたメールの内容がほとんどがクソ長いhtmlのコードで、実際に欲しいメールの内容はそれのごく一部にすぎませんでした。
それがなぜエラーに繋がるかというと、LINEMessageingAPIでは2000文字しか取り扱えないからです。なのでクソ長いPOSTされたメールデータから、実際に欲しい文字列をスライスして取得してそいつをメッセージ送信させることにしたらエラーが解決しました。
自慢させろ
これ5時間で作った
Author And Source
この問題について(IFTTTとOffice365emailを連携し授業変更自動通知LINE BOTを作った。), 我々は、より多くの情報をここで見つけました https://qiita.com/FPC_COMMUNITY/items/cb4e51f91a8320c2a35e著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .