Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

LINEのbotを作ってみた

445 views

Published on

LINE の botを作るうえでの流れを説明

Published in: Technology
  • Be the first to comment

  • Be the first to like this

LINEのbotを作ってみた

  1. 1. LINEのbotを作ってみた Powered by Rabbit 2.2.1 LINEのbotを作っ てみた 鍋太郎
  2. 2. LINEのbotを作ってみた Powered by Rabbit 2.2.1 自己紹介 プログラマー✓ Debian JP 事務局✓ 小市若者連 獅子長 ←New✓ http://about.me/nabetaro✓
  3. 3. LINEのbotを作ってみた Powered by Rabbit 2.2.1 小市若者連とは 長野市安茂里小市区の市民✓ 志奈埜市神社の祭を企画運営✓ 獅子舞の補助✓ 以下、若連✓
  4. 4. LINEのbotを作ってみた Powered by Rabbit 2.2.1 若連の組織構造 総代 委員長など役付✓ ✓ 獅子方 獅子舞補助✓ ✓ 世話方 祭の進行など✓ ✓
  5. 5. LINEのbotを作ってみた Powered by Rabbit 2.2.1 公式連絡手段 LINE 全体のLINEグループ✓ 個別のLINEグループ 出欠確認など✓ 繰り返しの連絡多い✓ ✓ ✓
  6. 6. LINEのbotを作ってみた Powered by Rabbit 2.2.1 bot欲しい 出欠システムへのURLを通知✓ 手動は面倒✓ botによる自動化✓
  7. 7. LINEのbotを作ってみた Powered by Rabbit 2.2.1 まずは開発者登録 https://developers.line.me✓ 専用のアカウントを取る?✓ 普段使いのアカウントでも 開発者名を登録✓ ✓
  8. 8. LINEのbotを作ってみた Powered by Rabbit 2.2.1 botのためのAPI Messaging API✓ Channelを作る✓
  9. 9. LINEのbotを作ってみた Powered by Rabbit 2.2.1 STEP1 プロバイダー選択 新規作成も可✓ ✓ サービス提供者名✓
  10. 10. LINEのbotを作ってみた Powered by Rabbit 2.2.1 STEP2 Messaging APIの情報設定✓ アプリ名 ユーザ名に相当✓ ✓ プラン Developer Trial✓ フリー✓ ✓
  11. 11. LINEのbotを作ってみた Powered by Rabbit 2.2.1 プラン Messaging API 利用可 Developer Trial✓ フリー (push不可)✓ ベーシック (push不可)✓ プロ(API) Developer Trialで ✓ ✓
  12. 12. LINEのbotを作ってみた Powered by Rabbit 2.2.1 Channel完成 以下の情報を払い出して控える Channel Secret✓ アクセストークン✓ ✓
  13. 13. LINEのbotを作ってみた Powered by Rabbit 2.2.1 準備まとめ Messaging API 利用✓ アプリ名を決める✓ プランを決める✓ Secret とトークンを作る✓
  14. 14. LINEのbotを作ってみた Powered by Rabbit 2.2.1 実装 Ruby https://github.com/nabetaro/line-notice-bot ✓ line-bot-api gem✓ Webアプリを作る 今回は sinatra✓ ✓
  15. 15. LINEのbotを作ってみた Powered by Rabbit 2.2.1 line-bot-api 環境変数に控えた情報を設定 LINE_CHANNEL_SECRET✓ LINE_CHANNEL_TOKEN @client = Line::Bot::Client.new do |config| config.channel_secret = ENV['LINE_CHANNEL_SECRET'] config.channel_token = ENV['LINE_CHANNEL_TOKEN'] end @client.push_message(PUSH_ID, メッセージ) ✓ ✓
  16. 16. LINEのbotを作ってみた Powered by Rabbit 2.2.1 メッセージ送信 イベントに対するreply イベントトークンが必要✓ ✓ 送信先を指定したpush 送信先グループID/ユーザIDが必要 イベントから取得する✓ ✓ ✓
  17. 17. LINEのbotを作ってみた Powered by Rabbit 2.2.1 イベントの受け取り方 コールバックURLの処理✓ events = @client.receive_event(request) events.each { |event| case event when Line::Bot::Event::Message logger.info event['source'].inspect end }
  18. 18. LINEのbotを作ってみた Powered by Rabbit 2.2.1 events Webhookオブジェクトの配列 https://developers.line.me/ja/docs/messaging-api/reference/#webhook ✓ 今回PUSH_IDを手動で設定 普通はtype=joinのイベントの sourceから取得しDBあたりに入れ ておくのがよさそう ✓ ✓
  19. 19. LINEのbotを作ってみた Powered by Rabbit 2.2.1 できあがり eventのソースをログに記録し 続ける ✓ 実際の送信はスケジューラーで 別コマンド起動 ✓ しょぼい
  20. 20. LINEのbotを作ってみた Powered by Rabbit 2.2.1 あとは 作ったボットを友達に登録する✓ ボットをグループに招待する✓ メッセージが流れるごとに PUSH_IDが得られる PUSH_IDを環境変数に設定✓ ✓ スケジューラーを設定✓
  21. 21. LINEのbotを作ってみた Powered by Rabbit 2.2.1 感想 思った以上に簡単だった 賞味100行以下✓ ライブラリが充実している?✓ ✓ DBを用意しておけば、もう少 しやりようがある? ✓

×