AI-CleverbotIO
view release on metacpan or search on metacpan
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',
}
lib/AI/CleverbotIO.pm view on Meta::CPAN
use strict;
use warnings;
{ our $VERSION = '0.002'; }
use Moo;
use Ouch;
use Log::Any ();
use Data::Dumper;
use JSON::PP qw< decode_json >;
has endpoints => (
is => 'ro',
default => sub {
return {
ask => 'https://cleverbot.io/1.0/ask',
create => 'https://cleverbot.io/1.0/create',
};
},
);
has key => (
lib/AI/CleverbotIO.pm view on Meta::CPAN
sub ask {
my ($self, $question) = @_;
my %ps = (
key => $self->key,
text => $question,
user => $self->user,
);
$ps{nick} = $self->nick if $self->has_nick;
return $self->_parse_response(
$self->ua->post_form($self->endpoints->{ask}, \%ps));
}
sub create {
my $self = shift;
$self->nick(shift) if @_;
# build request parameters
my %ps = (
key => $self->key,
user => $self->user,
);
$ps{nick} = $self->nick if $self->has_nick && length $self->nick;
my $data =
$self->_parse_response(
$self->ua->post_form($self->endpoints->{create}, \%ps));
$self->nick($data->{nick}) if exists($data->{nick});
return $data;
}
sub _parse_response {
my ($self, $response) = @_;
{
lib/AI/CleverbotIO.pod view on Meta::CPAN
L<https://cleverbot.io>.
=head1 ACCESSORS
=head2 key
my $api_key = $obj->key;
Read-only accessor to the API key. MUST be provided upon instantiation.
=head2 endpoints
my $endpoints_hashref = $obj->endpoints;
Read-only accessor to a hash reference whose keys are the strings C<ask>
and C<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',
}
( run in 0.461 second using v1.01-cache-2.11-cpan-27979f6cc8f )