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(); } |
TextMessageBuilder |
2. IMAGE MESSAGE BUILDER
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(); } |
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(); } |
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(); } |
|
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(); } |
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(); } |
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(); } |
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(); } |
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 ^_^)
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
kalo untuk mengetahui nomor id si pengirim yang akan di reply misal kita mau olah siapa aja yang ngirim bot kita pesan untuk database gimana gan?
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
untuk melihat userId bisa dilihat di https://developers.line.me/en/docs/messaging-api/reference/#get-profile
https://pastebin.com/JWjgLbk4
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
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
script ini diletakkan dimana ?
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
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
Mas mau tanya untuk imagemap massage gmn ya buatnya , trus untuk text massage klo ingin penambahan jawaban gmn ya? Mohon pencerahan
min, cara biar melakukan respons jika pengguna mengirim gambar bagaimana ya min? misalkan pengguna mengirim gambar, dan bot akan mengirim ulang gambar tersebut
Saya coba yang template message kok kgk bisa semua ya
Gan update tentang location & imagemap messagenya dong
kalau kirim multiple message gimana ya ?