【PHP】LINE Messaging APIで田村ゆかりさんの公式サイト更新通知BOTを作りなおした #yukarin

目次1 LINE Messaging API1.1 Webhookの設定2 実装2.1 callback2.2 Push(BOTからユーザーへメッセージ送信)3 戯言 従来のLINE BOT APIが廃止予定ということで 新たに発表されたLINE Messaging APIに移行しました。   作ったものはこんな感じ普通です。 LINE Messaging API は管理画面から背景色とかアカウント設定できる項目はめっちゃ増えてて LINE BOT APIよりは個性的なものが作れそう(^o^) 田村ゆかりさんに興味がある人、待ってます\(^o^)/     LINE Messaging API 誰でも手軽に叩けるAPIです。 BOTも作成できるし、管理画面も用意されてて分かりやすい。 無料で作成するBOTはユーザーの発言に対しての返信はできる(REPLY_MESSAGE) が BOTから直接メッセージを送信(PUSH_MESSAGE)するのは月2万ぐらいかかる。 しかし友達登録上限50人という制限付きBOTでは REPLY_MESSAGE & PUSH_MESSAGE どちらも使える。 従来のLINE BOT APIと変わったことはそんなことなくて 移行難易度はそんなに高くないと思います。   Webhookの設定 今回実装にあたって少しだけハマったところは Webhookの設定で、CloudflareのSSL機能を使ったサーバーを指定すると Webhookが飛んでこないという仕様だった。 LINE BOT APIでは使えたんですけどね、いずれか使えるようにはなりそう。 ちなみにLet’s Encryptでは可能です。     実装 今回もPHPです。 特に理由はありません。楽だからです。   callback [crayon-5ade61c708d28734625966/] [crayon-5ade61c708d3a687880757/]   LINEからのアクセスかどうかは従来のLINE BOT APIと同じで [crayon-5ade61c708d40625771537/] こんな感じで署名の確認ができる。     Push(BOTからユーザーへメッセージ送信) [crayon-5ade61c708d42819227448/] [crayon-5ade61c708d44812035748/] LINEにリクエストを投げるときはCHANNEL_ACCESS_TOKENをヘッダーに載せるだけ。 LINE DeveloperからサーバーのIPをホワイトリストに登録する必要はあります。 今回の話に関係はないですけどGoutte便利だし何より速い。   メッセージを送信する関数は [crayon-5ade61c708d48786231764/] 特筆することなし!     戯言 Webhookに関してはイベント内容がJSON見れば一発で分かるようになったので楽でした。 LINE BOT APIでは type 1 が友達追加時で~ type3 がユーザーからのメッセージとかで 分かりにくかった。 あとはドキュメントも日本語が用意されて、各言語のSDKも用意されているので 比較的容易に移行(作成)できました。 ソースコードはこちら rluisr/yukari-line-botA – github 関連のある記事: 田村ゆかりさん公式サイトの通知を LINE BOT API で作ってみた。 #yukarin Zabbix 3.0rc1 を使ってAPIを試してみたゾ! PHPでwhoisをJSONで返すAPI「whoisAPI」を作った LINE Messaging APIのWebhookにCloudflareのSSLを使ってるサーバーを指定すると機能しなくなる LINE BOT API 実は友達追加時にもCallbackされてた & … 続きを読む 【PHP】LINE Messaging APIで田村ゆかりさんの公式サイト更新通知BOTを作りなおした #yukarin