Deploy Line Project Python di Heroku

Mungkin banyak dari kita mengetahui bahwa LINE adalah salah satu aplikasi chating yang digemari di indonesia. Dan dari kabar terakhir yang saya terima dari dicoding bahwa mereka sedang mengadakan challange untuk membuat line bot. Sebagai catatan sebetulnya fitur bot ini sendiri pernah dahulu di perkenalkan pada aplikasi chat telegram.

Sebetulnya pada dicoding academy sudah mengcover bagaimana cara membuat bot, dan bagaimana mendeploy bot pada Platform as a service (PaaS) seperti Heroku ataupun Bluemix, dengan menggunakan bahasa PHP, ataupun Java. Tetapi karena saya kurang berpengalaman dengan java, dan saya menghadapi kendala versi PHP (terminal PHP saya menggunakan 5.5 selain kantor saya masih menggunakan versi tersebut sampe sekarang, dan pada contoh membutuhkan versi 5.6 keatas) sehingga saya juga harus skip PHP, dan pilihan terakhir saya adalah python (walaupun saya tidak familiar dengan python dan belajar bagaimana mengoprasikannya semalam)

Okey sebelum saya memulainya kalian membutuhkan

1. git-scm
2. python (untuk testing di local)
3. pip python (untuk menginstall python package)
4. Heroku account & heroku CLI

Okey yang pertama kamu lakukan adalah mengclone atau mendownloadnya disini

setelah mendownloadnya, kalian bukalah file app.py dan cari code dibawah dan diganti dengan channel secret dan channel access token yang kalian punya

line_bot_api = LineBotApi('YOUR_CHANNEL_ACCESS_TOKEN')
handler = WebhookHandler('YOUR_CHANNEL_SECRET')

setelah itu bukalah terminal dan ketiklah perintah berikut :

Jika kalian melakukan clone ikutilah perintah ini

git commit -a -m "ganti token"
heroku create
git push heroku master

Jika kalian melakukan dengan mendownload ikutilah perintah ini

git init
git add .
git commit -a -m "ganti token"
heroku create
git push heroku master

note : pada saat melakukan perintah “heroku create” heroku akan otomatis membuat aplikasi baru dengan nama berbeda2

tunggulah process hingga selesai, jika sudah selesai kalian memasukan url webhook ke dalam dashboard LINE Developer. Pilih basic information dan klik tombol edit, masukan url webhook, lalu save.

nama url webhook adalah url dari project di heroku contoh : https://reopucino.herokuapp.com/callback (ya ditambahkan /callback karena memang dari script contoh tersebut ditambahkan callback)

jika sudah kalian bisa mencobanya, bot akan membalas pesan kamu sesuai dengan pesan yang kamu tulis

okey mungkin itu dulu dari saya, dan sebelum ditutup, tidak ada salahnya kalian mengikuti challange dari line dan dicoding

Cheers 🙂

Note : saya sebetulnya tidak terlalu familiar dengan python dan PaaS, tapi cara ini berhasil dengan saya, sapa tau dengan ini saya bisa membantu bagi kalian yang ingin membuat bot ataupun mengikuti challage

14 thoughts on “Deploy Line Project Python di Heroku

    1. reopucino Post author

      saat membuat line bot, pasti kamu punya dapet token dari LINE, nah yang saya maksud ganti token adalah kamu menggantinya sesuai dengan token kamu

      setelah itu kamu melakukan commit “ganti token” atau perintah melakukan perubahan pada kode yang dibuat, kamu bisa check untuk masalah git di https://git-scm.com/

      Reply
  1. Aga

    Bro mau nanya, itu yang di git repo nanti kan di upload ke Heroku ya, nah kan kalo saya mau ngebuat bot yang update terus nih, saya nanti push ke github aja dan itu ke update sendiri kan ya?

    Reply
    1. reopucino Post author

      klo mau update ke heroku, cara commit dulu di local nnti pushnya ke heroku

      perintahnya

      git commit -a -m “ganti token”
      git push heroku master

      nnti bot anda seharusnya update sendiri.

      Reply
  2. Dika

    gan, ini bot line api ya ,atau bot OA ?
    ini d jalankan dari android atau PC/laptop ?
    klw dari android bs kah d jalan kan, lalu terminal yg d pakai ,termux,linux,atau codeanywhere,dsb ?

    sya udh 2bln an lebih mmpelajari nya, tp tak ada satupun yg berhasil stiap tutorial yg saya ikutin, yg ada malah sya jd kolektor bot mesagging API , entah utk apapun guna nya sy tdk tau, .

    Ini bot, bs di remot jd bot protect pa gk gan ?

    Reply
    1. reopucino Post author

      aduh pertanyaanmu repot sekali.. OA? saya sama sekali tidak mengerti apa yang kamu maksudkan… terminal yang saya jalankan terminal yang ada di mac.

      tiap bot itu unique, saya cuma membuat simple bot untuk reply message.. selebihnya kamu musti explore sendiri

      Reply
  3. Screamfest

    Halo bro Reopucino,

    Great job with the tutorial, i’m following it now. Ijin untuk utak atik ya mas Reo..

    Saya mau bikin chatbot untuk customer services, dan saat ini masih menggunakan set of rules based on if else aja..
    mau tanya:
    1. build databasenya bagaimana ya?
    2. untuk record data masuk supaya bisa nanti ditarik dan diolah bagaimana ya?
    3. persiapan untuk input dan generate response supaya bisa menggunakan AI untuk kedepannya, bagaimana ya?

    Let me contact you by email if necessary.
    Thank you in advance.

    Reply
    1. reopucino Post author

      silahkan.. malah lebih seneng saya bisa berguna

      1. klo build database bisa pake postgresql, mysql, sebelumnya saya juga pengen coba pake postgre. Udah bisa, tapi waktu itu udah ga ada mood buat kembangin, karena emang focusnya buat ikut challange aja 🙂
      2. maksudnya seperti apa? jika sudah ada database seharusnya bisa, nnti tinggal di cek kembali id yang bersangkutan, sudah memiliki apa saja
      3. Klo untuk ranah ini sepertinya harus masuk lebih dalam dengan botnya sendiri, kita bisa pake AI yang sudah ada. Kayak kata.ai (Walau saya belum pernah mencobanya)

      Any time, if you want to contact me by email. Tapi yang perlu diketahui bahwa saya basicnya game programmer, jadi saya ga jago2 banget 🙁

      Reply
  4. grounk

    permisi gan ,
    terima kasih atas tutorialnya

    saya sudah deploy kode kedalam heroku saya dan menganti
    YOUR_CHANNEL_ACCESS_TOKEN dan YOUR_CHANNEL_SECRET
    dalam line nya saya dapata error
    The webhook returned an invalid HTTP status code. (The expected status code is 200.)

    di web herokunya

    Method Not Allowed

    The method is not allowed for the requested URL.

    salah nya dimana ya gan ?

    terima kasih

    Reply

Leave a Reply to Dika Cancel reply

Your email address will not be published. Required fields are marked *