はじめまして。こけし.デジ活中です。
小売の会社で10年働き、現在はシステム会社に出向中。小売店舗向けのシステム導入支援を担当しています。
研修でMakeの使い方を学んだので、今回はじめてLINE Botを作ってみました。
こういう“ちょっと便利”を増やしていくことが好きです。
1. 毎回ギリギリ!「パワポ地獄」はこうして生まれる
社内の会議資料・企画書・取引先への提案書......資料作成に追われる日々
PowerPoint資料を作るとき
➊ 構成どうする? 資料全体の流れを決める
➋ 何を書く? スライドごとの要点を考える
➌ どう見せる? スライドの表現・デザインを決める
➍ 何を入れる? 挿入画像を探す、グラフを作る
実は、「構成と内容を考える作業」に時間をかけたいのに「デザインや画像探し」で迷っている時間が多かったのです。
こんなツールがあったらいいな
実際に作ったLINE Botがこちら
「画像 キーワード」をLINEへ送るとキーワードからフリー素材画像を検索して返信してくれる
「テンプレ キーワード」を送るとPowerPointのテンプレートファイルのURLを返信してくれる
2. 【作り方】パワポ支援LINE Bot
🧰 準備するもの
- Makeアカウント
- LINE Developersアカウント
- Googleアカウント(Google Drive連携用)
- PowerPointファイルをGoogle Driveへ格納
- Pixabayのアカウント、APIキー
Pixabay(ピクサベイ)
無料で、商用利用もOK。著作権フリーでクレジット表記不要で使用可能
多様な素材:写真、イラスト、ベクター画像、動画、音楽・効果音
🗺️ Make全体図
ユーザーからLINEでメッセージが送られる
➊「テンプレ キーワード」→ファイル名にキーワードを含むPowerPointを共有
➋「画像 キーワード」→キーワードに応じた画像を検索して送信
➌ メッセージに「テンプレ」「画像」が含まれていない →エラーメッセージ
📜 モジュール詳細
- LINE Bot(Webhook)
トリガー:ユーザーからのメッセージ受信
- ルーター(条件分岐)
条件①:「テンプレ」含む → PowerPoint呼び出し処理へ
条件②:「画像」含む → 画像検索処理へ
条件③:その他 → エラーメッセージ処理へ
3. PowerPointテンプレート呼び出し処理
LINEメッセージから「テンプレ」を除外し、テンプレート名を検索するキーワードを抽出
Google DriveモジュールでPowerPointファイルを検索、共有リンクを取得し、
LINE Botにリンクを返信
4. 画像検索処理
LINEメッセージから「画像」を除外し、Pixabayで画像を検索するキーワードを抽出
HTTPモジュールでAPIにリクエスト、検索結果の画像URLを抽出
LINE Botに画像を送信
▶️ 作りたかったものが出来上がった!
実際にLINEで「テンプレ 体制図」「テンプレ 効果」「画像 コーラ」「画像 新幹線」「あいうえお(エラー)」と送ってみた結果👇
3. 途中で心が折れかけた瞬間2選
🌀 Text parser 謎の S と $1
LINE「テンプレ スケジュール」
↑ここから「スケジュール」だけをうまく取り出すのが意外と難関でした。
Pattern(検索パターン): テンプレ\s*(.+)
これは「テンプレ」の後ろにスペース(空白・タブなど)が0個以上続き、その後に任意の文字列があるパターンを意味する
(.+) の部分がキャプチャ対象(=抽出したい「スケジュール」)になる
New value(置換後の値): $1
(.+) でキャプチャした部分だけが抽出される
🔄 Google Drive連携のクセがすごい
ここで参考にした記事 ➡「Makeで個人のGoogleアカウントを永続的に連携する方法」
同じ記事を見ながらやったのに1回目は失敗。2回目で成功。
失敗の原因は、Makeですべての設定を終え、最後の「Sign in with Google」を押し安心したところに出るエラーメッセージ内の操作にありました。
4.🔚 LINE Botに対する同僚からのコメント
「コスト表とかスケジュール表とか、定番のスライドがすぐ見つかるのは良い!」
「あのスライドはどの資料にあったっけ?と探すのはあるある!一発呼び出しできるのは革命的!」
「Botの対象にどんなテンプレがあるかもLINEのチャットから聞けたらいいな~」
「画像って1枚じゃなくて4枚くらい出せないの?」
ふむふむ。
LINEから「一覧」と送ったときに呼び出せるテンプレートの一覧表を返すようにできるかな?
確かに画像は複数出てほしいな…
まだまだ伸びしろしかない!引き続きBotちゃんを育てていきます!