Cara Mudah Membuat Bot di Line

To be clear, tulisan ini bertujuan untuk memberikan petunjuk pembuatan line bot dengan cara yang paling mudah (menurut saya) dan penjelasan yang sejelas-jelasnya

  1. Line bot dapat terkoneksi dengan sistem backend (service/logic)
  2. Line bot yang dibuat adalah bot penjumlahan, sehingga jika ada user yang mengirim pesan seperti: 1 3 bot akan membalas 4 sebagai hasil penjumlahan 1 dan 3

Tools yang akan digunakan adalah:

  1. Node.js (Javascript)
  2. Github
  3. Heroku untuk deployment as service/backend

Informasi terkait tools yang digunakan:

Node.js

document.querySelector('button').onclick = function(e){
document.querySelector('p').style.color = 'blue'
}
Cara Kerja Line Bot

Heroku

Implementasi Line Bot

  1. Setup LINE bot di https://developers.line.biz/en/
  2. Membuat file javascript (backend)
  3. Menyesuaikan environment untuk deployment ke Now
  4. Deployment
  5. Menghubungkan line bot dengan backend yang sudah deployed di cloud (Heroku) menggunakan webhook
  6. Testing line bot

1. Setup LINE bot di https://developers.line.biz/en/

Create or Choose New Provider
Create New Channer
Create New Channel Messaging API
Confirmation Make a Line Bot
After Create a Kalkulator Helmi Line Bot

2. Membuat Backend Menggunakan Javascript

  • Install Node.js, saya rekomendasikan untuk install versi LTS nya
Install versi LTS (saat ini 10.16.0)
  • Buat folder bernamakan kalkulator-line-bot
  • Buat satu file index.js di folder tersebut
  • Lalu open folder tersebut di code editormu
Kondisi di code editor (vscode) saat setelah membuat folder dan satu file index.js
  • Kita hanya membutuhkan satu library atau dependency yaitu bottender, untuk menggunakannya (install):
$ npm install bottender
  • Pada file index.js copy paste code dibawah
const { LineBot } = require("bottender");
const { createServer } = require("bottender/express");
const bot = new LineBot({
// ubah ke access token dan channelSecret dibawah, sesuai dengan yang ada di line console
accessToken: "ISI_DENGAN_ACCESS_TOKEN_DARI_LINE_CONSOLE",
channelSecret: "ISI_DENGAN_CHANNEL_SECRET_DARI_LINE_CONSOLE"
});
bot.onEvent(async context => {
// 1. Pengecekan apakah bot menerima chat berupa text
if (context.event.isText) {
// 2. Ambil value text yang dikirim oleh user, simpan di variabel receivedMessage
const receivedMessage = context.event.text;
// 3. Pengecekan apakah user mengirim 2 pasang string dengan spasi
// Contoh valid text: 1 3 | 4 2 | 10 23
if (receivedMessage.split(" ").length === 2) {
// 4. Menyimpan hasil split. Kalau messagenya: "1 3" splittedText akan berisi ["1", "3"]
const splittedText = receivedMessage.split(" ");
// 5. Ambil 2 angka yang masih dalam bentuk string, sekaligus ubah menjadi Number (integer)
const first = Number(splittedText[0]);
const second = Number(splittedText[1]);
// 6. Lakukan proses penjumlahan
const sumResult = first + second;
// 7. Balas pesan user dengan hasil penjumlahan 2 angka yang dikirim
await context.replyText(sumResult);
} else {
// 8. Beri respon kepada user jika format pesan yang diberikan tidak sesuai
await context.replyText(
"Maaf pesanmu tidak sesuai format, contoh yang benar: 1 3 atau 10 12"
);
}
}
});
const server = createServer(bot);server.listen(process.env.PORT || 5000, () => {
console.log("server is running on 5000 port...");
});
Channel Secret
Channel Access Token
$ npm init
npm init demonstration
{
"name": "kalkulator-line-bot",
"version": "1.0.0",
"description": "Kalkulator",
"main": "index.js",
"dependencies": {
"bottender": "^0.15.17"
},
"devDependencies": {},
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "node index.js"
},
"author": "Helmi Satria",
"license": "ISC"
}

3. Persiapan proses deployment ke Heroku

  • Instalasi Git
  • Setup Git
$ git config --global user.email “satriahelmi@gmail.com"
$ git config --global user.name “Helmi Satria"
Demo Setelah membuat sebuah repository di github
.gitignore
$ git add .
$ git commit -m 'upload pertama project ke github'
$ git push
Upload all files to github

4. Deployment

  • Install heroku secara global
$ npm install -g heroku
Hasil Setelah download heroku
  • Login ke heroku, silahkan sign up di heroku.com jika belum memiliki account
$ heroku login
Heroku login
Heroku Login di Browser
Sukses Login Heroku
$ heroku create kalkulator-line-bot
Hasil Setelah Create App Berhasil
$ git push heroku master

5. Menghubungkan Line Bot dengan Backend Menggunakan Webhook

Webhook URL

6. Testing line bot

Auto-reply dan Greeting messages disabled

Freelance Fullstack Developer. Bootstrapping Online Business. https://helmisatria.com

Love podcasts or audiobooks? Learn on the go with our new app.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Helmi Satria

Helmi Satria

Freelance Fullstack Developer. Bootstrapping Online Business. https://helmisatria.com

More from Medium

A simple Chat Bot

Install Kaldi (ASR) on Ubuntu

MFA login hack to shortcut smartphone check

Build a Twitter Bot with Mantium, Tweepy, and Heroku