SlideShare ist ein Scribd-Unternehmen logo
1 von 20
Downloaden Sie, um offline zu lesen
Host Line Bot on
Heroku with Golang
Evan Lin
Agenda
• Line Bot API Capability and Limitation
• Setup Line Bot Trial on Heroku
• Advance usage:
• Send a picture, when user type some text.
• Create a “Hello” message when add your bot as
new friend.
• Project Demo: Line Bot
Line Bot Capability and
Limitation
• No Rich message (Link
message)
• No dashboard
• Cannot talk with multiple
People
• Cannot invite into chat room
Step 1: Request Line Bot Trial Account
Apply Line Bot trial account here
(Only 1 per Line Account)
Step 2: Deploy to Heroku by
one click
Link : https://github.com/kkdai/LineBotTemplate
Step 2: Deploy to Heroku by
one click
Remember this addreess
Step 3: Setup Fixed IP for
white list (not mandatory)
• NOT MANDATORY! (Let
empty also works)
• Two ways to setup Fixie in
Heroku
• Using Heroku Dashboard
• Using Heroku Toolbelt
Step 3: Setup Fixed IP for
white list (not mandatory)
• Through Heroku dashboard:
• Launch Heroju dashboard
• Go your deploy app page
• Go to “Resource"
• Go to "FIND MORE ADD-
ONS”
• Find “Fixie"
• Through Heroku Toolbelt
Step 3: Setup Fixed IP for
white list (not mandatory)
• Through Heroku Toolbelt
• $ heroku login
• $ heroku git:clone -a
<YOUR_HEROKU_APP_ID>
• $ cd linebotkkdaitest
• $ heroku addons:create
fixie:tricycle
Step 4. Fill your Heroku App
Callback address to Line Bot
• Copy your app address from
Heroku to Line Dashboard.
• It will be something like “
https://xxxxxx.herokuapp.com:
443/callback”
Fill your app dress here
Step 5. Get related Line Bot
info for Heroku App setting
• Need copy following variable:
• Channel ID
• Channel Secret
• MID
Need copy those three
Step 6. Fill your Line Bot
Information to Heroku Variables
• In Heroku [Dashboard] ->
[Settings]-> [Config Variables]
• Create following variables:
• ChannelID
• ChannelSecret
• MID
• Fill with you just got from Line
Bot Dashboard.
Send a Image to user
Parse bot request to received result
Send a Image to user
Make sure it is text message not operation
Send a Image to user
Send image to who text to the bot
“Hello” message from Line
Bot
Hello
Send a “Hello” message when add bot as
friend
Determine the operation type
Send a “Hello” message when add bot as
friend
Get request from ID, this is only way for now
Live Demo
https://github.com/kkdai/LineBotPetNeedMe
Q&A

Weitere ähnliche Inhalte

Was ist angesagt?

Using Android Studio and Genymotion for improved productivity
Using Android Studio and Genymotion for improved productivityUsing Android Studio and Genymotion for improved productivity
Using Android Studio and Genymotion for improved productivitySowmya Guru
 
Using the GitHub App to Connect to Bitbucket
Using the GitHub App to Connect to BitbucketUsing the GitHub App to Connect to Bitbucket
Using the GitHub App to Connect to BitbucketLiam Dempsey
 
Deep dive into React Portals
Deep dive into React PortalsDeep dive into React Portals
Deep dive into React PortalsSouvik Basu
 
Introduction to React Native & Rendering Charts / Graphs
Introduction to React Native & Rendering Charts / GraphsIntroduction to React Native & Rendering Charts / Graphs
Introduction to React Native & Rendering Charts / GraphsRahat Khanna a.k.a mAppMechanic
 
The development workflow of git github for beginners
The development workflow of git github for beginnersThe development workflow of git github for beginners
The development workflow of git github for beginnersGunjan Patel
 
Techical Workflow for a Startup
Techical Workflow for a StartupTechical Workflow for a Startup
Techical Workflow for a StartupSébastien Saunier
 
Using the GitHub App to Connect to Bitbucket
Using the GitHub App to Connect to BitbucketUsing the GitHub App to Connect to Bitbucket
Using the GitHub App to Connect to BitbucketLiam Dempsey
 
Alloy Simple App Demonstration
Alloy Simple App DemonstrationAlloy Simple App Demonstration
Alloy Simple App DemonstrationAaron Saunders
 
Git Ready! Workflows
Git Ready! WorkflowsGit Ready! Workflows
Git Ready! WorkflowsAtlassian
 
Esri open source projects on GitHub
Esri open source projects on GitHubEsri open source projects on GitHub
Esri open source projects on GitHubAllan Laframboise
 
Appcelerator Titanium Alloy
Appcelerator Titanium Alloy Appcelerator Titanium Alloy
Appcelerator Titanium Alloy karthi-anubavam
 
Titanium Alloy Framework
Titanium Alloy FrameworkTitanium Alloy Framework
Titanium Alloy FrameworkTechday7
 
React-Native for multi-platform mobile applications @ Codemotion Rome 2017
React-Native for multi-platform mobile applications @ Codemotion Rome 2017React-Native for multi-platform mobile applications @ Codemotion Rome 2017
React-Native for multi-platform mobile applications @ Codemotion Rome 2017Matteo Manchi
 
Intro to react native
Intro to react nativeIntro to react native
Intro to react nativeModusJesus
 
Geb for testing your grails application
Geb for testing your grails applicationGeb for testing your grails application
Geb for testing your grails applicationJacobAae
 

Was ist angesagt? (20)

Using Android Studio and Genymotion for improved productivity
Using Android Studio and Genymotion for improved productivityUsing Android Studio and Genymotion for improved productivity
Using Android Studio and Genymotion for improved productivity
 
Using the GitHub App to Connect to Bitbucket
Using the GitHub App to Connect to BitbucketUsing the GitHub App to Connect to Bitbucket
Using the GitHub App to Connect to Bitbucket
 
Photogram - English Manual
Photogram  - English Manual Photogram  - English Manual
Photogram - English Manual
 
Deep dive into React Portals
Deep dive into React PortalsDeep dive into React Portals
Deep dive into React Portals
 
Introduction to React Native & Rendering Charts / Graphs
Introduction to React Native & Rendering Charts / GraphsIntroduction to React Native & Rendering Charts / Graphs
Introduction to React Native & Rendering Charts / Graphs
 
The development workflow of git github for beginners
The development workflow of git github for beginnersThe development workflow of git github for beginners
The development workflow of git github for beginners
 
Techical Workflow for a Startup
Techical Workflow for a StartupTechical Workflow for a Startup
Techical Workflow for a Startup
 
Using the GitHub App to Connect to Bitbucket
Using the GitHub App to Connect to BitbucketUsing the GitHub App to Connect to Bitbucket
Using the GitHub App to Connect to Bitbucket
 
Alloy Simple App Demonstration
Alloy Simple App DemonstrationAlloy Simple App Demonstration
Alloy Simple App Demonstration
 
Project52
Project52Project52
Project52
 
Git Ready! Workflows
Git Ready! WorkflowsGit Ready! Workflows
Git Ready! Workflows
 
Esri open source projects on GitHub
Esri open source projects on GitHubEsri open source projects on GitHub
Esri open source projects on GitHub
 
React JS
React JSReact JS
React JS
 
React Native
React NativeReact Native
React Native
 
React Native
React NativeReact Native
React Native
 
Appcelerator Titanium Alloy
Appcelerator Titanium Alloy Appcelerator Titanium Alloy
Appcelerator Titanium Alloy
 
Titanium Alloy Framework
Titanium Alloy FrameworkTitanium Alloy Framework
Titanium Alloy Framework
 
React-Native for multi-platform mobile applications @ Codemotion Rome 2017
React-Native for multi-platform mobile applications @ Codemotion Rome 2017React-Native for multi-platform mobile applications @ Codemotion Rome 2017
React-Native for multi-platform mobile applications @ Codemotion Rome 2017
 
Intro to react native
Intro to react nativeIntro to react native
Intro to react native
 
Geb for testing your grails application
Geb for testing your grails applicationGeb for testing your grails application
Geb for testing your grails application
 

Andere mochten auch

Presentación sobre el diagnostico de fochos de contaminacion del rio chiquit...
Presentación  sobre el diagnostico de fochos de contaminacion del rio chiquit...Presentación  sobre el diagnostico de fochos de contaminacion del rio chiquit...
Presentación sobre el diagnostico de fochos de contaminacion del rio chiquit...Julio Cortes
 
Docker introduction in Hardware Company
Docker introduction in Hardware CompanyDocker introduction in Hardware Company
Docker introduction in Hardware CompanyEvan Lin
 
Do Conversion Optimization Like the Pros
Do Conversion Optimization Like the ProsDo Conversion Optimization Like the Pros
Do Conversion Optimization Like the ProsChris Goward
 
Event solutions by ayojak
Event solutions by ayojakEvent solutions by ayojak
Event solutions by ayojakSechaba Ngwenya
 
SEO for WordPress WCSF 2011
SEO for WordPress WCSF 2011SEO for WordPress WCSF 2011
SEO for WordPress WCSF 2011Sujan Patel
 
πανελληνια ενωση ομοσπονδιων
πανελληνια ενωση ομοσπονδιωνπανελληνια ενωση ομοσπονδιων
πανελληνια ενωση ομοσπονδιωνATHANASIOS KAVVADAS
 
How to drive your event ticket sales through Facebook advertising?
How to drive your event ticket sales through Facebook advertising?How to drive your event ticket sales through Facebook advertising?
How to drive your event ticket sales through Facebook advertising?EventNook
 
Personal branding for business and marketing students
Personal branding for business and marketing studentsPersonal branding for business and marketing students
Personal branding for business and marketing studentsChris Goward
 
325 - Cavaillon- France
325 - Cavaillon- France325 - Cavaillon- France
325 - Cavaillon- Francemireille 30100
 
Canal Play - Disruptive Business Model
Canal Play - Disruptive Business Model Canal Play - Disruptive Business Model
Canal Play - Disruptive Business Model Alexandr Kudasov
 
Overtime Understood?
Overtime Understood?Overtime Understood?
Overtime Understood?Paychex
 
Webinar B2B CRO & magento
Webinar B2B CRO & magentoWebinar B2B CRO & magento
Webinar B2B CRO & magentoChris Goward
 
The Future of Content Marketing: 10 Things to Consider Today
The Future of Content Marketing: 10 Things to Consider TodayThe Future of Content Marketing: 10 Things to Consider Today
The Future of Content Marketing: 10 Things to Consider TodayContent Marketing Institute
 
Tareekh e Islam - Jild 01 - Syedul Ulema Syed Ali naqi Naqvi Sahab t.s.
Tareekh e Islam - Jild 01 - Syedul Ulema Syed Ali naqi Naqvi Sahab t.s.Tareekh e Islam - Jild 01 - Syedul Ulema Syed Ali naqi Naqvi Sahab t.s.
Tareekh e Islam - Jild 01 - Syedul Ulema Syed Ali naqi Naqvi Sahab t.s.Jamal Mirza
 
2015 back-to-school and back-to-college survey results
2015 back-to-school and back-to-college survey results2015 back-to-school and back-to-college survey results
2015 back-to-school and back-to-college survey resultsDeloitte United States
 
المحاضرة الثانية "الحق في المساواة و عدم التمييز"
المحاضرة الثانية "الحق في المساواة و عدم التمييز" المحاضرة الثانية "الحق في المساواة و عدم التمييز"
المحاضرة الثانية "الحق في المساواة و عدم التمييز" khadijaelboaishi
 

Andere mochten auch (20)

Presentación sobre el diagnostico de fochos de contaminacion del rio chiquit...
Presentación  sobre el diagnostico de fochos de contaminacion del rio chiquit...Presentación  sobre el diagnostico de fochos de contaminacion del rio chiquit...
Presentación sobre el diagnostico de fochos de contaminacion del rio chiquit...
 
Going Green Project
Going Green ProjectGoing Green Project
Going Green Project
 
VDC-Newsletter 2016-11
VDC-Newsletter 2016-11VDC-Newsletter 2016-11
VDC-Newsletter 2016-11
 
Docker introduction in Hardware Company
Docker introduction in Hardware CompanyDocker introduction in Hardware Company
Docker introduction in Hardware Company
 
Do Conversion Optimization Like the Pros
Do Conversion Optimization Like the ProsDo Conversion Optimization Like the Pros
Do Conversion Optimization Like the Pros
 
Event solutions by ayojak
Event solutions by ayojakEvent solutions by ayojak
Event solutions by ayojak
 
SEO for WordPress WCSF 2011
SEO for WordPress WCSF 2011SEO for WordPress WCSF 2011
SEO for WordPress WCSF 2011
 
πανελληνια ενωση ομοσπονδιων
πανελληνια ενωση ομοσπονδιωνπανελληνια ενωση ομοσπονδιων
πανελληνια ενωση ομοσπονδιων
 
How to drive your event ticket sales through Facebook advertising?
How to drive your event ticket sales through Facebook advertising?How to drive your event ticket sales through Facebook advertising?
How to drive your event ticket sales through Facebook advertising?
 
Personal branding for business and marketing students
Personal branding for business and marketing studentsPersonal branding for business and marketing students
Personal branding for business and marketing students
 
325 - Cavaillon- France
325 - Cavaillon- France325 - Cavaillon- France
325 - Cavaillon- France
 
Canal Play - Disruptive Business Model
Canal Play - Disruptive Business Model Canal Play - Disruptive Business Model
Canal Play - Disruptive Business Model
 
Shockley ppt ch9
Shockley ppt ch9Shockley ppt ch9
Shockley ppt ch9
 
Overtime Understood?
Overtime Understood?Overtime Understood?
Overtime Understood?
 
Webinar B2B CRO & magento
Webinar B2B CRO & magentoWebinar B2B CRO & magento
Webinar B2B CRO & magento
 
The Future of Content Marketing: 10 Things to Consider Today
The Future of Content Marketing: 10 Things to Consider TodayThe Future of Content Marketing: 10 Things to Consider Today
The Future of Content Marketing: 10 Things to Consider Today
 
Tareekh e Islam - Jild 01 - Syedul Ulema Syed Ali naqi Naqvi Sahab t.s.
Tareekh e Islam - Jild 01 - Syedul Ulema Syed Ali naqi Naqvi Sahab t.s.Tareekh e Islam - Jild 01 - Syedul Ulema Syed Ali naqi Naqvi Sahab t.s.
Tareekh e Islam - Jild 01 - Syedul Ulema Syed Ali naqi Naqvi Sahab t.s.
 
2015 back-to-school and back-to-college survey results
2015 back-to-school and back-to-college survey results2015 back-to-school and back-to-college survey results
2015 back-to-school and back-to-college survey results
 
New bcg matrix diagram
New bcg matrix diagramNew bcg matrix diagram
New bcg matrix diagram
 
المحاضرة الثانية "الحق في المساواة و عدم التمييز"
المحاضرة الثانية "الحق في المساواة و عدم التمييز" المحاضرة الثانية "الحق في المساواة و عدم التمييز"
المحاضرة الثانية "الحق في المساواة و عدم التمييز"
 

Ähnlich wie Host Line Bot with Golang

Deep dive into advanced teams development
Deep dive into advanced teams developmentDeep dive into advanced teams development
Deep dive into advanced teams developmentBIWUG
 
WordCamp Boston 2012 - Creating Content With Shortcodes
WordCamp Boston 2012 - Creating Content With ShortcodesWordCamp Boston 2012 - Creating Content With Shortcodes
WordCamp Boston 2012 - Creating Content With ShortcodesJon Bishop
 
BeEF_EUSecWest-2012_Michele-Orru
BeEF_EUSecWest-2012_Michele-OrruBeEF_EUSecWest-2012_Michele-Orru
BeEF_EUSecWest-2012_Michele-OrruMichele Orru
 
GitHub Enterprise and Automation with Codedeploy - AWS Summit SG 2017
GitHub Enterprise and Automation with Codedeploy - AWS Summit SG 2017GitHub Enterprise and Automation with Codedeploy - AWS Summit SG 2017
GitHub Enterprise and Automation with Codedeploy - AWS Summit SG 2017Amazon Web Services
 
Beta testing iPhone apps
Beta testing iPhone appsBeta testing iPhone apps
Beta testing iPhone appsShawn Grimes
 
Создание API, которое полюбят разработчики. Глубокое погружение
Создание API, которое полюбят разработчики. Глубокое погружениеСоздание API, которое полюбят разработчики. Глубокое погружение
Создание API, которое полюбят разработчики. Глубокое погружениеSQALab
 
React Native Firebase Realtime Database + Authentication
React Native Firebase Realtime Database + AuthenticationReact Native Firebase Realtime Database + Authentication
React Native Firebase Realtime Database + AuthenticationKobkrit Viriyayudhakorn
 
Brute Force - Lior Rotkovitch - f5 SIRT v5.pdf
Brute Force - Lior Rotkovitch - f5 SIRT v5.pdfBrute Force - Lior Rotkovitch - f5 SIRT v5.pdf
Brute Force - Lior Rotkovitch - f5 SIRT v5.pdfLior Rotkovitch
 
Party + REST = Win
Party + REST = WinParty + REST = Win
Party + REST = WinJimmy Sieben
 
Watch kit pitfalls. developing iOS app for Dribbble.
Watch kit pitfalls. developing iOS app for Dribbble.Watch kit pitfalls. developing iOS app for Dribbble.
Watch kit pitfalls. developing iOS app for Dribbble.Agilie Team
 
Developer Tutorial: WebAuthn for Web & FIDO2 for Android
Developer Tutorial: WebAuthn for Web & FIDO2 for AndroidDeveloper Tutorial: WebAuthn for Web & FIDO2 for Android
Developer Tutorial: WebAuthn for Web & FIDO2 for AndroidFIDO Alliance
 
Architecture app
Architecture appArchitecture app
Architecture appYnon Perek
 
Stripe payment integration with Android app
Stripe payment integration with Android appStripe payment integration with Android app
Stripe payment integration with Android appGeorge Batschinski
 
Android app with stripe payment
Android app with stripe paymentAndroid app with stripe payment
Android app with stripe paymentCharles Ramos
 
Developing applications with Hyperledger Fabric SDK
Developing applications with Hyperledger Fabric SDKDeveloping applications with Hyperledger Fabric SDK
Developing applications with Hyperledger Fabric SDKHorea Porutiu
 
Creating Customizable Widgets for Unpredictable Needs
Creating Customizable Widgets for Unpredictable NeedsCreating Customizable Widgets for Unpredictable Needs
Creating Customizable Widgets for Unpredictable NeedsAmanda Giles
 
Learn to build a CodeIgniter Login and Registration with source code.pdf
Learn to build a CodeIgniter Login and Registration with source code.pdfLearn to build a CodeIgniter Login and Registration with source code.pdf
Learn to build a CodeIgniter Login and Registration with source code.pdfBe Problem Solver
 
OmniAuth: From the Ground Up
OmniAuth: From the Ground UpOmniAuth: From the Ground Up
OmniAuth: From the Ground UpMichael Bleigh
 

Ähnlich wie Host Line Bot with Golang (20)

Deep dive into advanced teams development
Deep dive into advanced teams developmentDeep dive into advanced teams development
Deep dive into advanced teams development
 
WordCamp Boston 2012 - Creating Content With Shortcodes
WordCamp Boston 2012 - Creating Content With ShortcodesWordCamp Boston 2012 - Creating Content With Shortcodes
WordCamp Boston 2012 - Creating Content With Shortcodes
 
BeEF_EUSecWest-2012_Michele-Orru
BeEF_EUSecWest-2012_Michele-OrruBeEF_EUSecWest-2012_Michele-Orru
BeEF_EUSecWest-2012_Michele-Orru
 
GitHub Enterprise and Automation with Codedeploy - AWS Summit SG 2017
GitHub Enterprise and Automation with Codedeploy - AWS Summit SG 2017GitHub Enterprise and Automation with Codedeploy - AWS Summit SG 2017
GitHub Enterprise and Automation with Codedeploy - AWS Summit SG 2017
 
Beta testing iPhone apps
Beta testing iPhone appsBeta testing iPhone apps
Beta testing iPhone apps
 
Создание API, которое полюбят разработчики. Глубокое погружение
Создание API, которое полюбят разработчики. Глубокое погружениеСоздание API, которое полюбят разработчики. Глубокое погружение
Создание API, которое полюбят разработчики. Глубокое погружение
 
React Native Firebase Realtime Database + Authentication
React Native Firebase Realtime Database + AuthenticationReact Native Firebase Realtime Database + Authentication
React Native Firebase Realtime Database + Authentication
 
Brute Force - Lior Rotkovitch - f5 SIRT v5.pdf
Brute Force - Lior Rotkovitch - f5 SIRT v5.pdfBrute Force - Lior Rotkovitch - f5 SIRT v5.pdf
Brute Force - Lior Rotkovitch - f5 SIRT v5.pdf
 
Party + REST = Win
Party + REST = WinParty + REST = Win
Party + REST = Win
 
Hacking Wordpress Plugins
Hacking Wordpress PluginsHacking Wordpress Plugins
Hacking Wordpress Plugins
 
Watch kit pitfalls. developing iOS app for Dribbble.
Watch kit pitfalls. developing iOS app for Dribbble.Watch kit pitfalls. developing iOS app for Dribbble.
Watch kit pitfalls. developing iOS app for Dribbble.
 
Developer Tutorial: WebAuthn for Web & FIDO2 for Android
Developer Tutorial: WebAuthn for Web & FIDO2 for AndroidDeveloper Tutorial: WebAuthn for Web & FIDO2 for Android
Developer Tutorial: WebAuthn for Web & FIDO2 for Android
 
Architecture app
Architecture appArchitecture app
Architecture app
 
Stripe payment integration with Android app
Stripe payment integration with Android appStripe payment integration with Android app
Stripe payment integration with Android app
 
Android app with stripe payment
Android app with stripe paymentAndroid app with stripe payment
Android app with stripe payment
 
Developing applications with Hyperledger Fabric SDK
Developing applications with Hyperledger Fabric SDKDeveloping applications with Hyperledger Fabric SDK
Developing applications with Hyperledger Fabric SDK
 
Creating Customizable Widgets for Unpredictable Needs
Creating Customizable Widgets for Unpredictable NeedsCreating Customizable Widgets for Unpredictable Needs
Creating Customizable Widgets for Unpredictable Needs
 
Accemy Chatbots expertise
Accemy Chatbots expertiseAccemy Chatbots expertise
Accemy Chatbots expertise
 
Learn to build a CodeIgniter Login and Registration with source code.pdf
Learn to build a CodeIgniter Login and Registration with source code.pdfLearn to build a CodeIgniter Login and Registration with source code.pdf
Learn to build a CodeIgniter Login and Registration with source code.pdf
 
OmniAuth: From the Ground Up
OmniAuth: From the Ground UpOmniAuth: From the Ground Up
OmniAuth: From the Ground Up
 

Mehr von Evan Lin

好書分享: 一人公司 Company Of One
好書分享:  一人公司  Company Of One好書分享:  一人公司  Company Of One
好書分享: 一人公司 Company Of OneEvan Lin
 
How to master a programming language: a Golang example"
How to master a programming language: a Golang example"How to master a programming language: a Golang example"
How to master a programming language: a Golang example"Evan Lin
 
Golang taipei #45 10th birthday
Golang taipei #45 10th birthdayGolang taipei #45 10th birthday
Golang taipei #45 10th birthdayEvan Lin
 
How I become Go GDE
How I become Go GDEHow I become Go GDE
How I become Go GDEEvan Lin
 
iThome Modern Web 2018: 如何打造高效的機器學習平台
iThome Modern Web 2018: 如何打造高效的機器學習平台iThome Modern Web 2018: 如何打造高效的機器學習平台
iThome Modern Web 2018: 如何打造高效的機器學習平台Evan Lin
 
Kubernetes secret introduction
Kubernetes secret introductionKubernetes secret introduction
Kubernetes secret introductionEvan Lin
 
Consistent hashing algorithmic tradeoffs
Consistent hashing  algorithmic tradeoffsConsistent hashing  algorithmic tradeoffs
Consistent hashing algorithmic tradeoffsEvan Lin
 
GTG30: Introduction vgo
GTG30: Introduction vgoGTG30: Introduction vgo
GTG30: Introduction vgoEvan Lin
 
Kubernetes v.s. mesos
Kubernetes v.s. mesosKubernetes v.s. mesos
Kubernetes v.s. mesosEvan Lin
 
iTHome Gopher Day 2017: What can Golang do? (Using project 52 as examples)
iTHome Gopher Day 2017: What can Golang do?  (Using project 52 as examples)iTHome Gopher Day 2017: What can Golang do?  (Using project 52 as examples)
iTHome Gopher Day 2017: What can Golang do? (Using project 52 as examples)Evan Lin
 
iThome Cloud Summit: The next generation of data center: Machine Intelligent ...
iThome Cloud Summit: The next generation of data center: Machine Intelligent ...iThome Cloud Summit: The next generation of data center: Machine Intelligent ...
iThome Cloud Summit: The next generation of data center: Machine Intelligent ...Evan Lin
 
iThome Chatbot Day: 透過 Golang 無痛建置機器學習聊天機器人
iThome Chatbot Day: 透過 Golang 無痛建置機器學習聊天機器人iThome Chatbot Day: 透過 Golang 無痛建置機器學習聊天機器人
iThome Chatbot Day: 透過 Golang 無痛建置機器學習聊天機器人Evan Lin
 
Google APAC Machine Learning Expert Day
Google APAC Machine Learning Expert DayGoogle APAC Machine Learning Expert Day
Google APAC Machine Learning Expert DayEvan Lin
 
如何透過 Golang 與 Heroku 來一鍵部署 臉書機器人與 Line Bot
如何透過 Golang 與 Heroku 來一鍵部署 臉書機器人與 Line Bot如何透過 Golang 與 Heroku 來一鍵部署 臉書機器人與 Line Bot
如何透過 Golang 與 Heroku 來一鍵部署 臉書機器人與 Line BotEvan Lin
 
Use go channel to write a disk queue
Use go channel to write a disk queueUse go channel to write a disk queue
Use go channel to write a disk queueEvan Lin
 
Docker swarm introduction
Docker swarm introductionDocker swarm introduction
Docker swarm introductionEvan Lin
 

Mehr von Evan Lin (16)

好書分享: 一人公司 Company Of One
好書分享:  一人公司  Company Of One好書分享:  一人公司  Company Of One
好書分享: 一人公司 Company Of One
 
How to master a programming language: a Golang example"
How to master a programming language: a Golang example"How to master a programming language: a Golang example"
How to master a programming language: a Golang example"
 
Golang taipei #45 10th birthday
Golang taipei #45 10th birthdayGolang taipei #45 10th birthday
Golang taipei #45 10th birthday
 
How I become Go GDE
How I become Go GDEHow I become Go GDE
How I become Go GDE
 
iThome Modern Web 2018: 如何打造高效的機器學習平台
iThome Modern Web 2018: 如何打造高效的機器學習平台iThome Modern Web 2018: 如何打造高效的機器學習平台
iThome Modern Web 2018: 如何打造高效的機器學習平台
 
Kubernetes secret introduction
Kubernetes secret introductionKubernetes secret introduction
Kubernetes secret introduction
 
Consistent hashing algorithmic tradeoffs
Consistent hashing  algorithmic tradeoffsConsistent hashing  algorithmic tradeoffs
Consistent hashing algorithmic tradeoffs
 
GTG30: Introduction vgo
GTG30: Introduction vgoGTG30: Introduction vgo
GTG30: Introduction vgo
 
Kubernetes v.s. mesos
Kubernetes v.s. mesosKubernetes v.s. mesos
Kubernetes v.s. mesos
 
iTHome Gopher Day 2017: What can Golang do? (Using project 52 as examples)
iTHome Gopher Day 2017: What can Golang do?  (Using project 52 as examples)iTHome Gopher Day 2017: What can Golang do?  (Using project 52 as examples)
iTHome Gopher Day 2017: What can Golang do? (Using project 52 as examples)
 
iThome Cloud Summit: The next generation of data center: Machine Intelligent ...
iThome Cloud Summit: The next generation of data center: Machine Intelligent ...iThome Cloud Summit: The next generation of data center: Machine Intelligent ...
iThome Cloud Summit: The next generation of data center: Machine Intelligent ...
 
iThome Chatbot Day: 透過 Golang 無痛建置機器學習聊天機器人
iThome Chatbot Day: 透過 Golang 無痛建置機器學習聊天機器人iThome Chatbot Day: 透過 Golang 無痛建置機器學習聊天機器人
iThome Chatbot Day: 透過 Golang 無痛建置機器學習聊天機器人
 
Google APAC Machine Learning Expert Day
Google APAC Machine Learning Expert DayGoogle APAC Machine Learning Expert Day
Google APAC Machine Learning Expert Day
 
如何透過 Golang 與 Heroku 來一鍵部署 臉書機器人與 Line Bot
如何透過 Golang 與 Heroku 來一鍵部署 臉書機器人與 Line Bot如何透過 Golang 與 Heroku 來一鍵部署 臉書機器人與 Line Bot
如何透過 Golang 與 Heroku 來一鍵部署 臉書機器人與 Line Bot
 
Use go channel to write a disk queue
Use go channel to write a disk queueUse go channel to write a disk queue
Use go channel to write a disk queue
 
Docker swarm introduction
Docker swarm introductionDocker swarm introduction
Docker swarm introduction
 

Kürzlich hochgeladen

TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 

Kürzlich hochgeladen (20)

TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 

Host Line Bot with Golang

  • 1. Host Line Bot on Heroku with Golang Evan Lin
  • 2. Agenda • Line Bot API Capability and Limitation • Setup Line Bot Trial on Heroku • Advance usage: • Send a picture, when user type some text. • Create a “Hello” message when add your bot as new friend. • Project Demo: Line Bot
  • 3. Line Bot Capability and Limitation • No Rich message (Link message) • No dashboard • Cannot talk with multiple People • Cannot invite into chat room
  • 4. Step 1: Request Line Bot Trial Account Apply Line Bot trial account here (Only 1 per Line Account)
  • 5. Step 2: Deploy to Heroku by one click Link : https://github.com/kkdai/LineBotTemplate
  • 6. Step 2: Deploy to Heroku by one click Remember this addreess
  • 7. Step 3: Setup Fixed IP for white list (not mandatory) • NOT MANDATORY! (Let empty also works) • Two ways to setup Fixie in Heroku • Using Heroku Dashboard • Using Heroku Toolbelt
  • 8. Step 3: Setup Fixed IP for white list (not mandatory) • Through Heroku dashboard: • Launch Heroju dashboard • Go your deploy app page • Go to “Resource" • Go to "FIND MORE ADD- ONS” • Find “Fixie" • Through Heroku Toolbelt
  • 9. Step 3: Setup Fixed IP for white list (not mandatory) • Through Heroku Toolbelt • $ heroku login • $ heroku git:clone -a <YOUR_HEROKU_APP_ID> • $ cd linebotkkdaitest • $ heroku addons:create fixie:tricycle
  • 10. Step 4. Fill your Heroku App Callback address to Line Bot • Copy your app address from Heroku to Line Dashboard. • It will be something like “ https://xxxxxx.herokuapp.com: 443/callback” Fill your app dress here
  • 11. Step 5. Get related Line Bot info for Heroku App setting • Need copy following variable: • Channel ID • Channel Secret • MID Need copy those three
  • 12. Step 6. Fill your Line Bot Information to Heroku Variables • In Heroku [Dashboard] -> [Settings]-> [Config Variables] • Create following variables: • ChannelID • ChannelSecret • MID • Fill with you just got from Line Bot Dashboard.
  • 13. Send a Image to user Parse bot request to received result
  • 14. Send a Image to user Make sure it is text message not operation
  • 15. Send a Image to user Send image to who text to the bot
  • 16. “Hello” message from Line Bot Hello
  • 17. Send a “Hello” message when add bot as friend Determine the operation type
  • 18. Send a “Hello” message when add bot as friend Get request from ID, this is only way for now
  • 20. Q&A