NAME
Bot::ChatBots::Messenger::WebHook - WebHook for Bot::ChatBots::Messenger
SYNOPSIS
use
Mojolicious::Lite;
plugin
'Bot::ChatBots::Messenger'
,
helper_name
=>
'messenger'
,
# default is chatbots.messenger
instances
=> [
[
WebHook
=>
path
=>
'/messenger/yadda-yadda-yadda'
,
processor
=> \
&process
,
verify_token
=>
'yadda-yadda-yadda'
,
]
];
app->start;
sub
process {
my
$record
=
shift
;
# ...
return
$record
;
}
DESCRIPTION
This module allows you to load a Mojolicious plugin for dealing with Facebook Messenger webhooks for a chatbot.
ACCESSORS
This module consumes role Bot::ChatBots::Role::WebHook, inheriting all the accessors. The accessors in the following subsections are added.
no_routes
boolean flag to avoid routes generation upon plugin import. Used during the "BUILD" process. Defaults to 0
, meaning that the routes will be generated (both "install_route" in Bot::ChatBots::WebHook and "install_get_route").
verify_token
the verification token required by FaceBook to make sure your settings are accepted by your bot. You MUST set this or it will complain loudly upon calling "install_get_route".
METHODS
This module consumes role Bot::ChatBots::Role::WebHook and implements or overrides the methods in the following subsections.
BUILD
Called by Moo construction process. It uses "no_routes" to establish whether to call "install_route" in Bot::ChatBots::WebHook and "install_get_route" or not.
install_get_route
$obj
->install_get_route(
%args
);
# OR
$obj
->install_get_route(\
%args
);
Install the additional GET route for Facebook verification process. See "validation_token", which MUST be available for this method to work.
normalize_record
my
$r
=
$obj
->normalize_record(
$input_record
);
Modify $input_record
in-place and return it, trying to put it in some standard shape. Which has not been standardized yet.
See "normalize_record" in Bot::ChatBots::Role::WebHook.
parse_request
my
@updates
=
$obj
->parse_request(
$c
->req);
See "parse_request" in Bot::ChatBots::Role::WebHook.
BUGS AND LIMITATIONS
Report bugs either through RT or GitHub (patches welcome).
SEE ALSO
Foo::Bar.
AUTHOR
Flavio Poletti <polettix@cpan.org>
COPYRIGHT AND LICENSE
Copyright (C) 2016 by Flavio Poletti <polettix@cpan.org>
This module is free software. You can redistribute it and/or modify it under the terms of the Artistic License 2.0.
This program is distributed in the hope that it will be useful, but without any warranty; without even the implied warranty of merchantability or fitness for a particular purpose.