もくじ
暑かったり寒かったり雷だったり雨だったり、天気が安定しない最近ですが、皆様いかがおすごしでしょうか。
大好きな映画の続編公開が近づいてわくわくの藤田です。
(続編公開記念に今日から一作目のリバイバル上映するみたいなので、気になる人はぜひ『The witch 魔女』をみてくれ!!!アマプラなど各種配信サービスでも配信してるよ!!少年漫画的なスタイリッシュかつアクション最高な異能力バトルもの映画です。
詳しくはこちら)
なんて、日々映画チェックしてる私ですが、つい漏れがあったり、手動で情報を探しに行くのが大変だなーと思ってました。
ということで今回は、映画の公開予定を通知してくれるbotを作ってみたので、ざっくりその流れを解説します!
今回はLINEのbotでいくよ!
一番目に入りやすく出先でもチェックしやすい所に通知が来ると嬉しいなと思ったので、今回はLINEのbotを作成しました。
作ってみたい方は、こちらの公式ドキュメントの手順を元にチャンネルを作成して、友達追加、トークンの取得を行ってみてください。
余談ですが前にslackにGASからデータを流すbotを作成しました。
今回はLINEですが、こちらの記事のように送信先をslackにする事も可能なので、使いやすいアプリを選んで作ってみてくださいね!
映画の情報はどこから?
今回は、こちらの映画.comさんのicalenderデータを使用します。
まずは、こちらのデータをご自身のgoogle calenderに登録します。
登録するとこんな感じで、公開予定がカレンダーに表示されるようになります。
カレンダーを随時確認する形でも情報のチェックはできるのですが、件数が多くて他の予定と合わせて表示するのが大変だったり、一件ずつ内容を確認するのがこれだとちょっとめんどくさいので、LINEに通知をしてみようと思います。
通知の際に必要になるので、こちらのように設定からカレンダーIDを取得しておいてください
ソースはこちら
さくっとGASで書いてみました。
ソースはこんな感じ。
const LINE_TOKEN = 'LINEで取得したチャンネルトークン'
const url = 'https://api.line.me/v2/bot/message/push'; // LINEのメッセージ送信API
const calenderId = '映画情報カレンダーのカレンダーID'
const userId = '通知先LINEのユーザーID'
function sendMsg() {
// カレンダーを取得
const calendar = CalendarApp.getCalendarById(calenderId);
// カレンダーから今日のイベントを取得
const events = calendar.getEventsForDay(new Date());
for(let event of events){
// LINEの送信文面と宛先を設定
const payload = {
to: userId,
messages: [
{ type: 'text', text: event.getTitle() + '\n' + event.getDescription() }
]
};
// LINEの送信情報を設定
const params = {
method: 'post',
contentType: 'application/json',
headers: {
Authorization: 'Bearer ' + LINE_TOKEN
},
payload: JSON.stringify(payload)
};
// LINE送信実行
UrlFetchApp.fetch(url, params);
}
}
内容はとてもシンプルに、カレンダーのデータをとってきて、LINEに流す。 これだけですね。
毎日実行させるぞ
こちらのGASのトリガーで、定期実行を設定できます。
私は毎朝、その日に公開する映画の情報を通知するようにしています。
情報の取得を当日分だけでなく日付指定にして、週一とかでの通知にもできますね。
通知きた!
実際にLINEに通知された画面がこんな感じになります。
この映画.comさんの情報は、劇場公開のみならず配信ものもいれてくれるのがありがたい……!
あと、サイトへのリンクとかも入れてくれてるので、必要な情報がぎゅぎゅっと詰まってて助かります!
あっ気になってたインド映画今日から公開だ!
twitterとかでちらっと気になってたけどチェック忘れてた作品に、こうして気づけるのもめっちゃいいですね。
という感じで、さくっとLINEbotを作ってみました!
思ったよりかなり簡単に作成が出来ました(制作時間一時間強くらい)
今回は情報通知だけですが、LINE message apiを使ってチャンネルにこちらから投稿した内容を検知して返信を行ったり、たとえばスプレッドシートに書き込むのを合わせて簡単なデータベース的に使ったりもできるので、いろんな使い方ができると思います。
ぜひ皆さんも好きなbotを作ってみてください!
読んでくださり、ありがとうございましたー