【第1回】LINE×Ruby on Railsで作ろう!シゴトに生かすLINE Bot!

【第1回】LINE×Ruby on Railsで作ろう!シゴトに生かすLINE Bot!

日常や仕事で使うちょっとしたツールをWebアプリ化できたら… そしてそれを身の回りの人に使ってもらえたら… そう思っている方は多いのではないでしょうか。

ITが得意でない人でも、多くの人のスマホにLINEが入っています。 LINEとWebアプリを組み合わせると、ユーザー層の幅が一気に広がるのではないでしょうか。

そこで本勉強会では、3回に分けてRuby on Railsを使ったLINE Botの開発を学びます。

イベントURL:https://linedevelopercommunity.connpass.com/event/175744/

1014e57002236d3acf3051fb92d3bda8?s=128

4geru sakisaka

May 20, 2020
Tweet

Transcript

  1. ʲୈճʳ -*/&º3VCZPO3BJMTͰ࡞Ζ͏ʂ γΰτʹੜ͔͢-*/&#PUʂ !

  2. ͸͡Ίʹ ҎԼͷͭΛར༻͠·͢ɻ
 ·ͩ४උͰ͖͍ͯͳ͍ํ͸४උΛ͓Ͷ͕͍͠·͢ɻ w 3VCZ w OHSPL w ४උ͕·ͩͷํ͸ͪ͜Β͔ΒɿIUUQTCJUMZDUJN/

  3. ࣗݾ঺հ ͛͠Δ HFSV Ͱ͢ ֶੜ࣌୅ʹ-*/&#PU&YQFSUब೚ ֮͑ํɿύϯμͷΞΠίϯͷਓ

  4. ࠷ۙ։ൃͨ͠΋ͷ ձࣾͷ༗ࢤͰʮ৽ܕίϩφ΢Πϧεࢧ ԉ৘ใ·ͱΊʯαΠτΛ։ൃ 5%%Ͱ-*/&#PU΋։ൃ

  5. ૝ఆ͍ͯ͠Δडߨऀ w -*/&#PUΛࣗ෼Ͱجૅ͔Β৮ͬͯΈ͍ͨਓ w 3BJMT৮ͬͯΈ͍ͨਓ w ςετΛॻ͖ͳ͕Β-*/&#PUΛॻ͍ͯΈ͍ͨ΋ͷ w ֎෦"1*ͱͷ࿈ܞΛ͢Δ

  6. શճͷษڧձͰ໨ࢦ͢͜ͱ -*/&.FTTBHJOH"1*ΛϚελʔ ࣗ૸ͯ͠։ൃͰ͖ΔΑ͏ʹͳΔ

  7. શճͰͷྲྀΕ w ୈճ w ͓͏Ήฦ͠ w ୈճ w Ϧονϝχϡʔ w

    ϑϨοΫεϝοηʔδ w ୈճ w ֎෦"1*࿈ܞ
  8. ϓϩδΣΫτͷઃఆ ϓϩδΣΫτϑΝΠϧΛࣗ෼ͷखݩʹ͖࣋ͬͯ·͢ ؀ڥม਺Λ֨ೲ͢ΔϑΝΠϧΛίϐʔ͠·͢ HJUDMPOFIUUQTHJUIVCDPNHFSVSBJMTMJOFCPUMFDUVSFHJU DESBJMTMJOFCPUMFDUVSF CVOEMFJOTUBMM DQFOWTBNQMFFOW

  9. ؀ڥม਺ͱ͸ "1*ΩʔͳͲ֎෦ʹ ݟΒΕͨ͘ͳ͍σʔλ FY %# TFSWFSͷ৘ใ "1*5PLFO

  10. ؀ڥม਺ͱ͸ FOWͷதʹ؀ڥม਺Λอଘ͢Δ -*/&#PUͰ͸-*/&@$)"//&-@4&$3&5ͱ-*/&@$)"//&-@50,&/Λอଘ͢Δ -*/&@$)"//&-@4&$3&5 -*/&@$)"//&-@50,&/

  11. #PUͷઃఆ

  12. ϓϩόΠμͷ࡞੒ -*/&%FWFMPQFST -*/&%FWFMPQFSTʹϩάΠϯ͠·͢ 63- IUUQTEFWFMPQFSTMJOFCJ[DPOTPMF ॳΊͯ࡞੒͞ΕΔํ͸ϓϩόΠμ࡞੒ ͠·͢

  13. #PUͷొ࿥ -*/&%FWFMPQFST .FTTBHJOH"1*ͷνϟϯωϧΛ ৽نొ࿥͠·͢

  14. #PUͷొ࿥ -*/&%FWFMPQFST ඞཁͳ৘ใΛొ࿥͠·͢ νϟϯωϧ໊ʹʮ-*/&ʯΛؚΉ จࣈྻΛ࢖͏͜ͱ͸Ͱ͖·ͤΜ

  15. -*/&%FWFMPQFST #PUͷొ࿥ νϟϯωϧجຊઃఆλϒΛ։͖·͢

  16. #PUͷొ࿥ -*/&0⒏DJBM"DDPVOU.BOBHFS νϟϯωϧجຊઃఆλϒ͔Β -*/&0⒏DJBM"DDPVOU.BOBHFS ʹΞΫηε͠·͢ ੨࿮ͷΑ͏ͳϖʔδ͕දࣔ͞ΕΕ͹ େৎ෉Ͱ͢

  17. #PUͷొ࿥ -*/&0⒏DJBM"DDPVOU.BOBHFS ϗʔϜʼԠ౴ઃఆ͔Β Ԡ౴Ϟʔυɿ#PU ѫࡰϝοηʔδɿΦϑ Ԡ౴ϝοηʔδɿΦϑ 8FCIPPLɿΦϯ ʹઃఆ͠·͢

  18. -*/&%FWFMPQFST #PUͷొ࿥ -*/&%FWFMPQFSTʹ໭Γ νϟϯωϧجຊઃఆλϒΛ։͖·͢

  19. #PUͷొ࿥ -*/&%FWFMPQFST νϟϯωϧγʔΫϨοτΛ ίϐʔ͠·͢

  20. FOWϑΝΠϧ FOWϑΝΠϧͷ-*/&@$)"//&-@4&$3&5ʹอଘ͢Δ -*/&@$)"//&-@4&$3&5l͜͜ʹอଘ͢Δ -*/&@$)"//&-@50,&/

  21. #PUͷొ࿥ -*/&%FWFMPQFST .FTTBHJOH"1*ઃఆλϒΛ։͖·͢

  22. #PUͷొ࿥ -*/&%FWFMPQFST νϟϯωϧΞΫηετʔΫϯΛൃߦ ൃߦͨ͠τʔΫϯΛίϐʔ͠·͢

  23. FOWϑΝΠϧ FOWϑΝΠϧͷ-*/&@$)"//&-@50,&/ʹอଘ͢Δ -*/&@$)"//&-@4&$3&5l -*/&@$)"//&-@50,&/͜͜ʹอଘ͢Δ

  24. ςετͷॻ͖ํ

  25. ςετΛ૸ΒͤΔ $ bundle exec rspec spec/requests/linebots/echo_spec.rb ... Finished in 0.04047

    seconds (files took 1.49 seconds to load) 3 examples, 0 failures
  26. ͓͏Ήฦͯ͠͠ΈΔ

  27. 3BJMTͷαʔόʔΛىಈͤ͞Δ $ rails s -p 3000

  28. OHSPLͷىಈ OHSPLΛىಈͤ͞·͢ OHSPLIUUQ 4FTTJPO4UBUVTPOMJOF
 4FTTJPO&YQJSFTIPVST NJOVUFT
 7FSTJPO
 3FHJPO6OJUFE4UBUFT VT 


    8FC*OUFSGBDFIUUQ
 'PSXBSEJOHIUUQYYYYYYYYYOHSPLJPIUUQMPDBMIPTU
 'PSXBSEJOHIUUQTYYYYYYYYYOHSPLJPIUUQMPDBMIPTU
 
 $POOFDUJPOTUUMPQOSUSUQ
  OHSPLͱ͸Ұ࣌తʹ֎෦ʹQPSUΛղ์͢Δ΋ͷͰ͢ɻ ίϐʔ͓͍͍ͯͯͩ͘͠͞
  29. XFCIPPLͷొ࿥ -*/&%FWFMPQFST .FTTBHJOH"1*ઃఆλϒΛ։͖·͢

  30. XFCIPPLͷొ࿥ ίϐʔ͓͍͍ͯͯͩ͘͠͞ -*/&%FWFMPQFST ίϐʔͨ͠63-ΛషΓ෇͚·͢

  31. ΧελϜͰ ϝοηʔδΛฦ͢

  32. ΧελϜͰϝοηʔδΛฦ͢ w ʮϋϩʔʯͱૹΔͱʮ͜Μʹͪ͸ʯͱฦ͢Α͏ʹ͢Δ

  33. ςετΛ૸ΒͤΔ $ bundle exec rspec spec/requests/linebots/hello_spec.rb ..x Finished in 0.04047

    seconds (files took 1.49 seconds to load) 2 examples, 1 failures ͭςετ͕མͪ·͢
  34. ςετΛݟͯΈΔ { ... "message" => { "type" => "text", "id"

    => "11749631743000", "text" => "ϋϩʔ" } } ೖྗ஋ͱͯ͠NFTTBHF͕ઃఆ͞Ε͓ͯΓ UZQFɿʮUFYUʯ UFYUɿʮϋϩʔʯ͕ઃఆ͞Ε͍ͯΔ
  35. ςετΛݟͯΈΔ it 'check content' do subject event_class = controller.send(:events).first expect(controller.send(:message,

    event_class).to_s).to match '͜Μʹͪ͸ʂʂ' end ظ଴஋ͱͯ͠ɺNFTTBHF͕ฦ͢จࣈʹ
 ʮ͜Μʹͪ͸ʂʂʯؚ͕·ΕΔ͜ͱΛςετ͢Δ
  36. ͭ·Γ͜ͷςετ͸ w ʮϋϩʔʯͱ͍͏จࣈ UFYU ͷNFTTBHFΛड͚औΔͱ w ʮ͜Μʹͪ͸ʂʂʯͱ͍͏จࣈྻΛฦ͢

  37. ࣮૷ͯ͠ΈΑ͏ʂ

  38. 5%%Ͱ͖ͨʂ

  39. ͋Γ͕ͱ͏͍͟͝·ͨ͠ ࣍ճ͸ 'MFY.FTTBHFͱϦονϝχϡʔ Λ͠·͢