The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

LINE::Bot::API::Receive - Handler for recieving events from LINE Bot API

SYNOPSIS

    use strict;
    use warnings;
    use LINE::Bot::API;

    my $bot = LINE::Bot::API->new(
        channel_id     => 'YOUR LINE BOT Channel ID',
        channel_secret => 'YOUR LINE BOT Channel Secret',
        channel_mid    => 'YOUR LINE BOT MID',
    );

    my $requests = $bot->create_requests_from_json($json);
    for my $req (@{ $requests }) {
        if ($req->is_message) {

            say $req->content_id;
            say $req->from_mid;
            say $req->created_time; # createdTime

            if ($req->is_text) {
                say $req->text;
            } elsif ($req->is_image) {
                # LINE::Bot::API::Receive::Message::Image has no getter method
            } elsif ($req->is_video) {
                # LINE::Bot::API::Receive::Message::Video has no getter method
            } elsif ($req->is_audio) {
                # LINE::Bot::API::Receive::Message::Audio has no getter method
            } elsif ($req->is_location) {
                say $req->text; # alias of title
                say $req->title;
                say $req->address;
                say $req->latitude;
                say $req->longitude;
            } elsif ($req->is_sticker) {
                say $req->stkpkgid;
                say $req->stkid;
                say $req->stkver;
                say $req->stktxt;
            } elsif ($req->is_contact) {
                say $req->mid;
                say $req->display_name;
            }
        } elsif ($req->is_operation) {

            say $req->revision;
            say $req->from_mid;

            if ($req->is_add_contact) {
                # LINE::Bot::API::Receive::Operation::AddContact has no getter method
            } elsif ($req->is_block_contact) {
                # LINE::Bot::API::Receive::Operation::BlockContact has no getter method
            }
        }
    }

DESCRIPTION

LINE::Bot::API::Receive is a handler to receive events from LINE BOT API. Allows you to easily handle operatiion messages.

Using instance method directly is not-recommended. Please use create_requests_from_json($json) of LINE::Bot::API instead.

See also LINE Developers - BOT API - API reference for more deitals of these package's getter method.

COPYRIGHT & LICENSE

Copyright 2016 LINE Corporation

This Software Development Kit is licensed under The Artistic License 2.0. You may obtain a copy of the License at https://opensource.org/licenses/Artistic-2.0