Tutorial Membuat Bot Line dengan Bahasa Pemrograman PHP menggunakan LINE MESSAGING API [Bagian 2]

14
Tutorial Membuat Bot Line dengan Bahasa Pemrograman PHP menggunakan LINE MESSAGING API
Pada tulisan kali ini, saya akan melanjutkan Tutorial Membuat Bot Line dengan Bahasa Pemrograman PHP menggunakan LINE MESSAGING API [Bagian 1] yang akan membahas tentang Message Objects dari LINE MESSAGING API.
Pastikan anda telah membaca dan mengikuti tutorial bagian pertama terlebih dahulu sebelum membaca bagian kedua ini.

1. TEXT MESSAGE BUILDER

Text Message disini berfungsi untuk mengirimkan pesan berbentuk teks. Contohnya adalah seperti pada tutorial bagian pertama, dimana jika kita mengirim pesan "Halo" maka BOT kita akan menjawab "Halo Juga". [reference]
Contoh Implementasi PHP dengan Text Message Builder:
1
2
3
4
5
if($userMessage == "contoh text message"){
$textMessageBuilder = new \LINE\LINEBot\MessageBuilder\TextMessageBuilder('ini adalah contoh text message');
$result = $bot->replyMessage($event['replyToken'], $textMessageBuilder);
return $result->getHTTPStatus() . ' ' . $result->getRawBody();     
}
Output Text Message Builder :
TextMessageBuilder

2. IMAGE MESSAGE BUILDER

ImageMessageBuilder LINE MESSAGING API
ImageMessageBuilder LINE MESSAGING API
Image Message digunakan untuk mengirimkan pesan berupa gambar berformat JPG/PNG. url gambar yang dapat digunakan Line Messaging API  hanya dapat diakses oleh yang memiliki sertifikat SSL atau berformat https. [reference]
Contoh Implementasi PHP dengan Image Message Builder:
1
2
3
4
5
if($userMessage == "kirim gambar"){
$imageMessage = new \LINE\LINEBot\MessageBuilder\ImageMessageBuilder("https://myanimelist.cdn-dena.com/images/characters/8/320273.jpg","https://myanimelist.cdn-dena.com/images/characters/8/320273.jpg");
$result = $bot->replyMessage($event['replyToken'], $imageMessage);
return $result->getHTTPStatus() . ' ' . $result->getRawBody();     
}
Output Image Message Builder :
ImageMessageBuilder

3. STICKER MESSAGE BUILDER

Sticker Message digunakan untuk mengirimkan pesan sticker dari Line Messenger. disini kita menggunakan packageId dan stickerId untuk memilih stiker yang diinginkan. klik disini untuk melihat Sticker List. [reference]
Contoh Implementasi PHP dengan Sticker Message Builder :
1
2
3
4
5
if($userMessage == "kirim sticker"){
$stickerMessage = new \LINE\LINEBot\MessageBuilder\StickerMessageBuilder(1,1);
$result = $bot->replyMessage($event['replyToken'], $stickerMessage);
return $result->getHTTPStatus() . ' ' . $result->getRawBody();     
}
Output Image Message Builder :
StickerMessageBuilder

4. VIDEO MESSAGE BUILDER

Video Message Builder digunakan untuk mengirim pesan video dari Line Messenger. Contoh penggunaannya mirip dengan ImageMessageBuilder, hanya disini menggunakan format video MP4. [reference]
Contoh Implementasi PHP dengan Video Message Builder :
1
2
3
4
5
if($userMessage == "kirim video"){
$videoMessage = new \LINE\LINEBot\MessageBuilder\VideoMessageBuilder("https://instagram.fsaw1-1.fna.fbcdn.net/vp/ab1456045323951d8157b603050f24f3/5A21F5BE/t50.2886-16/22521835_138646173432531_8134725817344196608_n.mp4","https://img.youtube.com/vi/6YZlFdTIdzM/maxresdefault.jpg");
$result = $bot->replyMessage($event['replyToken'], $videoMessage);
return $result->getHTTPStatus() . ' ' . $result->getRawBody();     
}
Output Video Message Builder :
VideoMessageBuilder


5. AUDIO MESSAGE BUILDER

Audio Message Builder digunakan untuk mengirim pesan berupa suara melalui Line Messenger. Audio Message Builder ini hanya dapat menggunakan format audio .M4A serta durasi audio menggunakan milisecond. [reference]
Contoh Implementasi PHP dengan Audio Message Builder :

1
2
3
4
5
if($userMessage == "kirim suara"){
$audioMessage = new \LINE\LINEBot\MessageBuilder\AudioMessageBuilder("https://audio-ssl.itunes.apple.com/appl-assets-us-std-000001/Music69/v4/aa/c9/e5/aac9e54d-6284-1b50-400f-91d4833099c5/mzaf_6172211221372312761.plus.aac.p.m4a","30000"); // Format Audio .M4A serta durasi Audio 30000milisecond (30sec)
$result = $bot->replyMessage($event['replyToken'], $audioMessage);
return $result->getHTTPStatus() . ' ' . $result->getRawBody();     
}
Output Audio Message Builder :
AudioMessageBuilder

6. TEMPLATE MESSAGE BUILDER

Template Message adalah sebuah message object dari Line Messenger yang memungkinkan kita mengirim sebuah pesan dengan layout. Template Message memiliki 4 Layout yang dapat dicustomisasi sesuai kebutuhan, antara lain : [reference]

A. Button Template Builder 

Button template adalah template message yang terdiri dari image, title, text dan beberapa action button.
Contoh Implementasi PHP dengan Button Template Builder :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
if($userMessage == "button template"){
$buttonTemplateBuilder = new \LINE\LINEBot\MessageBuilder\TemplateBuilder\ButtonTemplateBuilder(
     "title",
     "text",
     "https://i0.wp.com/angryanimebitches.com/wp-content/uploads/2013/03/tamakomarket-overallreview-tamakoanddera.jpg",
   [
new \LINE\LINEBot\TemplateActionBuilder\MessageTemplateActionBuilder('Action Button','action'),
   ]
   );
$templateMessage = new \LINE\LINEBot\MessageBuilder\TemplateMessageBuilder('nama template', $buttonTemplateBuilder);
$result = $bot->replyMessage($event['replyToken'], $templateMessage);
return $result->getHTTPStatus() . ' ' . $result->getRawBody();
}
Output Button Template Builder :
ButtonTemplateBuilder


B. Confirm Template Builder

Confirm template adalah template message yang terdiri dari text dan 2 action button.
Contoh Implementasi PHP dengan Confirm Template Builder :
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
if($userMessage == "confirm template"){
$confirmTemplateBuilder = new \LINE\LINEBot\MessageBuilder\TemplateBuilder\ConfirmTemplateBuilder(
   "apakah gw ganteng?",
   [
   new \LINE\LINEBot\TemplateActionBuilder\MessageTemplateActionBuilder('Ya',"/ya"),
   new \LINE\LINEBot\TemplateActionBuilder\MessageTemplateActionBuilder('Tidak','/tidak'),
   ]
   );
$templateMessage = new \LINE\LINEBot\MessageBuilder\TemplateMessageBuilder('nama template', $confirmTemplateBuilder);
$result = $bot->replyMessage($event['replyToken'], $templateMessage);
return $result->getHTTPStatus() . ' ' . $result->getRawBody();
}
Output Confirm Template Builder :
ConfirmTemplateBuilder


C. Carousel Template Builder

Carousel Template adalah template message seperti button template namun memiliki banyak kolom yang dapat di geser. template ini terdiri dari image, title, text, action button dan maksimal kolom yang dapat dibuat adalah 10 kolom.
Contoh Implementasi PHP dengan Carousel Template Builder :
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
if($userMessage == "carousel template"){
$carouselTemplateBuilder = new \LINE\LINEBot\MessageBuilder\TemplateBuilder\CarouselTemplateBuilder([
  new \LINE\LINEBot\MessageBuilder\TemplateBuilder\CarouselColumnTemplateBuilder("title", "text","https://i0.wp.com/angryanimebitches.com/wp-content/uploads/2013/03/tamakomarket-overallreview-tamakoanddera.jpg",[
  new \LINE\LINEBot\TemplateActionBuilder\UriTemplateActionBuilder('buka',"http://hilite.me/"),
  ]),
  new \LINE\LINEBot\MessageBuilder\TemplateBuilder\CarouselColumnTemplateBuilder("title", "text","https://i0.wp.com/angryanimebitches.com/wp-content/uploads/2013/03/tamakomarket-overallreview-tamakoanddera.jpg",[
  new \LINE\LINEBot\TemplateActionBuilder\UriTemplateActionBuilder('Buka',"http://hilite.me/"),
  ]),
  ]);
$templateMessage = new \LINE\LINEBot\MessageBuilder\TemplateMessageBuilder('nama template',$carouselTemplateBuilder);
$result = $bot->replyMessage($event['replyToken'], $templateMessage);
return $result->getHTTPStatus() . ' ' . $result->getRawBody();
}
Output Carousel Template Builder :
CarouselTemplateBuilder


D. Image Carousel Template Builder

Image Carousel Template hampir sama dengan carousel template builder hanya dikhususkan untuk memuat gambar, serta hanya terdiri dari image dan action button saja.
Contoh Implementasi PHP dengan Image Carousel Template Builder :
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
if($userMessage == "image carousel template"){
$ImageCarouselTemplateBuilder = new \LINE\LINEBot\MessageBuilder\TemplateBuilder\ImageCarouselTemplateBuilder([
  new \LINE\LINEBot\MessageBuilder\TemplateBuilder\ImageCarouselColumnTemplateBuilder("https://i0.wp.com/angryanimebitches.com/wp-content/uploads/2013/03/tamakomarket-overallreview-tamakoanddera.jpg",
  new \LINE\LINEBot\TemplateActionBuilder\UriTemplateActionBuilder('Buka Browser',"https://i0.wp.com/angryanimebitches.com/wp-content/uploads/2013/03/tamakomarket-overallreview-tamakoanddera.jpg")),
  new \LINE\LINEBot\MessageBuilder\TemplateBuilder\ImageCarouselColumnTemplateBuilder("https://i0.wp.com/angryanimebitches.com/wp-content/uploads/2013/03/tamakomarket-overallreview-tamakoanddera.jpg",
  new \LINE\LINEBot\TemplateActionBuilder\UriTemplateActionBuilder('Buka Browser',"https://i0.wp.com/angryanimebitches.com/wp-content/uploads/2013/03/tamakomarket-overallreview-tamakoanddera.jpg")),
  
  ]);
$templateMessage = new \LINE\LINEBot\MessageBuilder\TemplateMessageBuilder('nama template',$ImageCarouselTemplateBuilder);
$result = $bot->replyMessage($event['replyToken'], $templateMessage);
return $result->getHTTPStatus() . ' ' . $result->getRawBody();
}
Output Image Carousel Template Builder :
ImageCarouselTemplate
Sampai disini dulu pembahasan dan tutorial cara membuat bot line dengan Line Messaging API dari saya. Disini saya cuma memberikan tutorial bentuk implementasi dari message objects line messaging api, dan untuk pengembangan botnya bisa kalian kreasikan sendiri misalkan kalian ingin membuat bot game, utilitas atau cuma sekedar iseng belajar.
Sebenarnya masih ada Message Objects Location dan Imagemap Message tapi karna saya belum pernah coba tuk diimplementasikan jadi saya tidak jelaskan disini :p

kalo ada yang tidak kalian mengerti, langsung saja tanyakan di kolom komentar dibawah ya... biar kita sama sama belajar ^_^)

Comment Now

14 comments

  1. avatar Unknown says:

    gan, ini untuk modul yang reply message saja ya? kalo untu push message nya misal? di script yang ane download soalnya di tick comment, pas dibuka ga ada perubahan apa apa

      • avatar Rojokundo says:

        untuk fitur push message cuman bisa digunakan oleh bot yang menggunakan monthly plan, jadi tidak saya tulis diatas. untuk script push message akan seperti ini https://pastebin.com/hBCnmQay

          • avatar Unknown says:

            Bisa preview di web ga? atau lewat log gitu kalo misal ada typo di php nya gan? kalo ada liatnya dimana ya?

            soalnya sekali ada salah ketik gw jadi bingung ini loading respon atau script gw ada yang salah.

            mohon pencerahannya plz

            • avatar Rojokundo says:

              saya liatnya di localhost jika ada typo di phpnya. tapi bisa juga lewat postman untuk mengecek response dari messaging api. tapi saya masih awam menggunakan postman. mungkin agan bisa lihat di https://www.youtube.com/watch?v=2wg1_brVXlQ

                • avatar Rojokundo says:

                  didalam foreach. pastikan anda lihat tutorial bagian 1 dulu sebelum lihat bagian 2. http://www.rojoinferno.com/2017/11/tutorial-bot-line-messaging-api-dengan-bahasa-php.html

                  • avatar Anonymous says:

                    halo, mau nanya, aku udah ikutin step 1 dan 2, ketika user ngirim pesan, post nya masuk ke serverku, aku ngeliatnya dengan error_log, tapi kenapa ya serverku gak respon ke line

                      • avatar sege loabe says:

                        min, cara biar melakukan respons jika pengguna mengirim gambar bagaimana ya min? misalkan pengguna mengirim gambar, dan bot akan mengirim ulang gambar tersebut