AI-CleverbotIO
view release on metacpan or search on metacpan
NAME
AI::CleverbotIO - A Perl wrapper for the cleverbot.io API
VERSION
This document describes AI::CleverbotIO version 0.002.
SYNOPSIS
use AI::CleverbotIO;
my $cleverbot = AI::CleverbotIO->new(
key => $ENV{CLEVERBOT_API_KEY},
nick => $ENV{CLEVERBOT_NICK},
user => $ENV{CLEVERBOT_API_USER},
);
# call to create() is mostly safe, you might get an error
# back but still 200 OK. You can avoid this (and wasting one
# API call) if you know the nick is already active for these
# API credentials.
$cleverbot->create();
# then, it's just... ask()
my $answer = $cleverbot->ask('Hello darling!');
say $answer->{response};
DESCRIPTION
This module allows you to interact with the API served by
https://cleverbot.io.
ACCESSORS
key
my $api_key = $obj->key;
Read-only accessor to the API key. MUST be provided upon instantiation.
endpoints
my $endpoints_hashref = $obj->endpoints;
Read-only accessor to a hash reference whose keys are the strings ask
and create and the corresponding values are the API endoints (URIs).
The default is:
{
ask => 'https://cleverbot.io/1.0/ask',
create => 'https://cleverbot.io/1.0/create',
}
logger
my $logger = $obj->logger;
Read-only accessor to the logger object (Log::Any compatible). See
"BUILD_logger" for the default value.
nick
$obj->nick($some_string);
my $nick = $obj->nick;
Read-write accessor to the nick for invoking API calls. If not set, it
is set after a call to "create". See also "has_nick".
ua
my $ua = $obj->ua;
Read-only accessor to the user agent object (HTTP::Tiny compatible).
See BUILD_ua for the default value.
user
my $api_user = $obj->user;
Read-only accessor to the API user. MUST be provided upon
instantiation.
METHODS
BUILD_logger
Called automatically if "logger" is not set. By default, it returns
whatever "get_logger" in Log::Any provides, but you can easily override
this in a derived class.
BUILD_ua
Called automatically if "ua" is not set. By default, it returns a plain
new instance of HTTP::Tiny, without options.
ask
my $answer = $obj->ask($some_text);
Send a ask API request. The returned $answer is a hash reference
derived by the JSON decoding of the response body, e.g.:
{
( run in 0.537 second using v1.01-cache-2.11-cpan-39bf76dae61 )