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

解説!LINE bot開発

解説!LINE bot開発

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開発を参照してね