Upgrade to Pro — share decks privately, control downloads, hide ads and more …

解説!LINE bot開発

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.

解説!LINE bot開発

Avatar for ufoo68

ufoo68

May 17, 2021
Tweet

More Decks by ufoo68

Other Decks in Technology

Transcript

  1. 自己紹介 • Twitter ◦ @ufoo_yuta • Qiita ◦ ufoo68 •

    所属 ◦ 株式会社ACCESS • やってること ◦ スポーツIoTLT主催 ◦ LINE API Expert
  2. Messaging APIを使うための必要情報 • 以下の情報を設定画面 (LINE Developers & LINE Official Account)から確認・設定する

    ◦ Webhook URL ◦ Chanel access token ◦ Chanel secret Messaging API Application https://xxxxx.xxxx Webhook URLはMessaging APIがLINE からのメッセージを送る先を示す Chanel access token = xxxxx Chanel secret = xxxxxx Chanel access tokenとChanel secretは、 アプリケーションがMessaging APIに送る メッセージが信用できることを示す
  3. コードの実装・・・の前に メッセージの送信方法は2通りある Messaging API Application Messaging API Application Messaging APIから送られたメッセージを受

    け取ってから返すパターン Messaging APIに直接メッセージを送るパ ターン(送信数に制限あり) reply message push message
  4. 各メッセージ送信のパターン JavaScriptの例(公式提供のライブラリを使用) • リプライメッセージ replyMessage(token, message) ←tokenはMessaging APIから送られてきた情報から取得 • プッシュメッセージ

    pushMessage(to, message) ←toでMessaging APIが送信して欲しいLINE botを指定 ちなみに、APIのリファレンスは公開されているので、アプリケーションの実装では好きな 言語を選択することもできる
  5. テキスト→テキストを返すbotの実装例 const line = require('@line/bot-sdk') const config = { channelSecret:

    ’xxxxxxx’, channelAccessToken: ’xxxxxxx’ } const client = new line.Client(config) …. async function handleEvent(event) { …. if (event.type.message.text === ‘今年のアニメは?’) { const animeList = await getCurrentAnimeList() return client.replyMessage(event.replyToken, animeList) } …. } 基本的に前処理で書くことはどの LINE botを実 装する場合も同じ(そこらへんのサンプルコード をコピペしても良い) 受け取ったメッセージとその内容を元に返信する メッセージを記述(自分で実装を考えるのはここ だけ)
  6. おわりに • LINE botを作るための仕組みとしてMessaging APIというものがある • Messaging APIとはLINEアプリと自作サーバーアプリケーションの間のメッセージ 交換を繋ぐ役割を持っている •

    LINEのメッセージには複数の種類がある(今回はテキストの例を紹介) • アプリケーションの動作確認は作成したLINE botを友達登録するだけで実行可能 • 具体的な実装は超絶簡単!LINE bot開発を参照してね