Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up
for free
さわやか待ち時間LINE botを作った話 / Sawayaka LINE bot
muttan
January 25, 2020
Programming
0
22
さわやか待ち時間LINE botを作った話 / Sawayaka LINE bot
#ふくもく会
#SawayakaMeetup
muttan
January 25, 2020
Tweet
Share
More Decks by muttan
See All by muttan
bath_poo_
0
71
bath_poo_
0
220
bath_poo_
0
80
bath_poo_
0
80
bath_poo_
1
170
bath_poo_
0
80
bath_poo_
0
110
bath_poo_
0
160
bath_poo_
0
150
Other Decks in Programming
See All in Programming
kilometer
3
430
hanasuke
1
650
itok
1
880
yotuba088
2
600
koheisakata
0
170
naokioouchi
1
310
takapdayon
0
150
manfredsteyer
PRO
0
110
sters
2
140
nearmugi
0
190
boriswilhelms
0
160
kawaji_scratch
0
110
Featured
See All Featured
samanthasiow
56
6.4k
tammielis
237
23k
scottboms
251
11k
caitiem20
308
17k
tenderlove
53
3.5k
holman
447
130k
holman
461
280k
jponch
103
5.1k
michaelherold
225
8.5k
jnunemaker
PRO
40
4.6k
sachag
267
17k
phodgson
87
3.9k
Transcript
LINE botΛ࡞ͬͨΜ͢Α ;͘͘ձ ͦͷ60 ʙ৽ձʹंΛग़͢ͳʙ Kamiya Keisuke(@bath_poo_)
͓લ୭Αʁ • ҪେֶֶݚڀՊ M2 • ΦλΫ • aikoͱҏ౻ඒདྷͷ͔Γͯ͠Δ • TwitterͷΞΧϯτ໊͕සൟʹ
มΘΔ͜ͱͰ༗໊ • Ͱେମʮ͘·͞Μʯͬͯݺ Εͯ·͢ Kamiya Keisuke a.k.a kuma @bath_poo_
͍͖ͳΓͰ͕͢
͜ΕͳΜͷਤͰ͠ΐ͏
ͳΜͷਤʁ
ͳΜͷਤʁ
None
ͳΜͷਤʁ
• ٠ʹຊళ͕͋Δ • ੩Ԭݝ෦ʹଟ͍ • ࠷౦͕ޚ఼ • ࠷͕ބ
͋ʂʂʂʂʂʂʂʂʂʂʂʂ
None
͞Θ͔͡ΌΜ • ম͖Ϩετϥϯ͞Θ͔ • ͛Μͭ͜ϋϯόʔά͕༗໊ • ϗʔϜϖʔδͷURL͕sawayakaͰͳͯ͘genkotsu-hb ‣ https://www.genkotsu-hb.com •
#SawayakaMeetup ڇ100% 250g 1,100ԁ(੫ࠐΈ)→
͞Θ͔ͷͪ࣌ؒ • ͛Μͭ͜ϋϯόʔά༗໊ʹͳΓ͗ͨ͢ • ͋ΔళฮGW6hͪʹͳͬͨͱ͔ͳΜͱ͔ • ʢҰ෦ళฮΛআ͍ͯʣฏͰ͋Ε͋·Γؾʹͤͣʹߦͬ ͯͬ͢ͱ৯ΒΕΔ • ൺֱతࠞΜͰ͍Δ͜ͱ͕ଟ͍
• ൟظʢGWɼ࢝ɼۙลͰͷϥΠϒΠϕϯτʣ ࣌ؒͪ( )ʹͳΔ͜ͱβϥ → ͳΔ͘ళฮͰͷͪ࣌ؒΛݮΒ͍ͨ͠ → ͔͠͠ళฮʹߦͬͯͪ࣌ؒΛ֬ೝ͢Δͷ໘ N N ≥ 1
࠷ۙศརػೳ͕Ͱ͖ͨ
AirWAIT
AirWAITͷಋೖ • ʢళฮʣiPad͚ͩͰडγεςϜΛߏஙՄೳ • ʢϢʔβʔʣ͓ళͰडΛͨ͠ޙWebϖʔδ͔Β ͪ࣌ؒΛ֬ೝ͢Δ͜ͱ͕Մೳ
AirWAITͷಋೖ • ʢళฮʣiPad͚ͩͰडγεςϜΛߏஙՄೳ • ʢϢʔβʔʣ͓ళͰडΛͨ͠ޙWebϖʔδ͔Β ͪ࣌ؒΛ֬ೝ͢Δ͜ͱ͕Մೳ
AirWAITͷಋೖ • ʢళฮʣiPad͚ͩͰडγεςϜΛߏஙՄೳ • ʢϢʔβʔʣ͓ళͰडΛͨ͠ޙWebϖʔδ͔Β ͪ࣌ؒΛ֬ೝ͢Δ͜ͱ͕Մೳ → Θ͟Θ͟ళฮʹߦ͔ͳͯ͘ྑ͘ͳͬͨ
͋Δͷग़དྷࣄ ͞Θ͔ͷͪ࣌ؒ ΦϯϥΠϯͰݟΕΔΑ͏ʹͳͬͨΑ ϚδʁͲ͏ͬͯΈΔͷʁ ͜ͷWebϖʔδΛ։͍ͯ… ΊΜͲ͆͘͞
ͦ͏͔… • ͦͷͨΊ͚ͩʹSafari։͘ͷ໘ • ͡Ό͋ͳΔ͘༻ස͕ଟ͍ͷͰͳΜͱ͔Ͱ͖ͳ ͍͔… → LINEͳΒൺֱత͏Μ͡Όͳ͍ʁ
͞Θ͔ͷͪ࣌ؒ LINE botΛ࡞ͬͨΜ͢Α ;͘͘ձ ͦͷ60 ʙ৽ձʹंΛग़͢ͳʙ Keisuke Kamiya(@bath_poo_)
༻ٕज़
ΞʔΩςΫνϟ ᶃbotʹ͔ͬͯ ݕࡧΫΤϦΛ͛Δ ᶄAlgoliaͰݕࡧ ᶅݕࡧ݁ՌΛฦ͢ ᶅݕࡧ݁ՌΛฦ͢ εΫϨΠϐϯά݁ՌΛ ֨ೲ
ΞʔΩςΫνϟ • Messaging APIͷWebhook༻ͷαʔόHerokuͰϗεςΟ ϯά → Go + Go modules
• ΫϩʔϥʔHerokuͰϗεςΟϯά(3ʹ1ճऔಘ) → Python + pipenv • ݕࡧΛͲ͏͢Δ͔໎͕ͬͨɼͯ͢ͷࢥߟΛ์غͯ͠ Algoliaʹͯ͛ͨ͢ → ϥΠϒϥϦυΩϡϝϯτॆ࣮͍ͯͯ͠։ൃ͕εϜʔζ ʹਐΜͩ https://speakerdeck.com/shinodogg/introducing-algolia-with-demo
ͱ͜ΖͰAlgoliaͷ༻ྉۚ… PQFSBUJPONPOUI SFDPSENPOUI
ͱ͜ΖͰAlgoliaͷ༻ྉۚ… • Operationͷఆٛ • ΦϒδΣΫτͷՃߋ৽̍ΦϖϨʔγϣϯ • ݄50000ΦϖϨʔγϣϯ͙ͬͯ͢αʔϏε͕ऴΘΓͦ͏ → ͦΕͦ͏ https://www.algolia.com/doc/faq/basics/what-is-an-operation/
ͱ͜ΖͰAlgoliaͷ༻ྉۚ…
ͱ͜ΖͰAlgoliaͷ༻ྉۚ… Μʁ
ͱ͜ΖͰAlgoliaͷ༻ྉۚ… Μʁ
None
GitHub EducationΛ͏ • ֶੜͷಛݖGitHub Education • ͨ͘͞ΜͷιϑτΣΞSaaSɼPaaSͷ༗ྉϓϥϯ૬ ΛແྉͰ͏͜ͱ͕Ͱ͖Δ • Algoliaରʹͳͬͯ·ͨ͠
ͱ͍͏Θ͚Ͱ
σϞ
σϞ • ݕࡧ͍ͨ͠ళฮΛೖྗ → ళฮ໊ͷ෦จࣈྻͷ߹ώοτ • ෳళฮͷ߹ → CarouselTemplateΛ༻ •
ళฮΛλοϓ → ৄࡉϖʔδ
·ͱΊ
·ͱΊ • ͞Θ͔ͷͪ࣌ؒΛڭ͑ͯ͘ΕΔLINE botΛॻ͍ͨ • GoͱPythonͱHerokuͱAlgoliaͰ࡞ • LINE bot SDKͱAlgolia
SDK͕ΊͪΌͪ͘Ό͍͢ ͔ͬͨͷͰγϡοͱ࡞Δ͜ͱ͕Ͱ͖Δ • ݱࡏ͔Βྑ͛͞ళฮΛαδΣετ͢Δػೳͱ͔͋Δ ͱ͍͍Ͷͬͯࢥ͍·ͨ͠ ‣ Ͱ͖ͦ͏ɼAlgoliaͳΒͶ
ʢ͞Θ͔ͷʣ·ͱΊ Ξϗ΄ͲࠞΉ ࠞΉ দӺલͱ੩ԬӺલʹ ళฮ͕Ͱ͖ͨ ҏ౾ʹͳ͍ ϥΠϒձ࠷دΓ