Bot-ChatBots

 view release on metacpan or  search on metacpan

META.json  view on Meta::CPAN

         }
      },
      "runtime" : {
         "requires" : {
            "IO::Socket::SSL" : "2.056",
            "Log::Any" : "1.042",
            "Module::Runtime" : "0.014",
            "Mojolicious" : "7.10",
            "Moo" : "2.002005",
            "Ouch" : "0.0500",
            "Try::Tiny" : "0.27",
            "namespace::clean" : "0.27",
            "perl" : "5.010"
         }
      },
      "test" : {
         "requires" : {
            "Mock::Quick" : "1.111",
            "Path::Tiny" : "0.096",
            "Test::Exception" : "0.43",
            "Test::More" : "0.88",

META.yml  view on Meta::CPAN

    - share
    - t
    - xt
requires:
  IO::Socket::SSL: '2.056'
  Log::Any: '1.042'
  Module::Runtime: '0.014'
  Mojolicious: '7.10'
  Moo: '2.002005'
  Ouch: '0.0500'
  Try::Tiny: '0.27'
  namespace::clean: '0.27'
  perl: '5.010'
resources:
  bugtracker: https://github.com/polettix/Bot-ChatBots/issues
  homepage: https://github.com/polettix/Bot-ChatBots
  repository: https://github.com/polettix/Bot-ChatBots.git
version: '0.014'
x_contributors:
  - 'Flavio Poletti <flavio@polettix.it>'
x_serialization_backend: 'YAML::Tiny version 1.70'

cpanfile  view on Meta::CPAN

requires 'perl',            '5.010';
requires 'Log::Any',        '1.042';
requires 'Moo',             '2.002005';
requires 'Module::Runtime', '0.014';
requires 'Ouch',            '0.0500';
requires 'Try::Tiny',       '0.27';
requires 'Mojolicious',     '7.10';
requires 'IO::Socket::SSL', '2.056';
requires 'namespace::clean', '0.27';

on test => sub {
   requires 'Test::More',      '0.88';
   requires 'Path::Tiny',      '0.096';
   requires 'Mock::Quick',     '1.111';
   requires 'Test::Exception', '0.43';
   requires 'Test::Trap';    # for Ouch, apparently

lib/Bot/ChatBots/Role/Poller.pm  view on Meta::CPAN

package Bot::ChatBots::Role::Poller;
use strict;
use warnings;
{ our $VERSION = '0.014'; }

use Ouch;
use Mojo::IOLoop ();
use Log::Any qw< $log >;
use Try::Tiny;

use Moo::Role;
use namespace::clean;

with 'Bot::ChatBots::Role::Source'; # requires normalize_record
requires qw< parse_response poll process_updates >;

has interval => (is => 'ro', required => 1);
has args => (is => 'ro', default => sub { return [] });

lib/Bot/ChatBots/Role/Source.pm  view on Meta::CPAN

package Bot::ChatBots::Role::Source;
use strict;
use warnings;
{ our $VERSION = '0.014'; }

use Ouch;
use Log::Any qw< $log >;
use Bot::ChatBots::Weak;
use Try::Tiny;
use 5.010;

use Moo::Role;

requires 'normalize_record';

has custom_pairs => (
   is      => 'rw',
   default => sub { return {} },
);

lib/Bot/ChatBots/Role/WebHook.pm  view on Meta::CPAN

package Bot::ChatBots::Role::WebHook;
use strict;
use warnings;
{ our $VERSION = '0.014'; }

use Ouch;
use Mojo::URL;
use Log::Any qw< $log >;
use Scalar::Util qw< blessed weaken refaddr >;
use Bot::ChatBots::Weak;
use Try::Tiny;

use Moo::Role;

with 'Bot::ChatBots::Role::Source';
requires 'process_updates';

has app => (
   is       => 'ro',
   lazy     => 1,
   weak_ref => 1,

lib/Bot/ChatBots/Role/WebPoller.pm  view on Meta::CPAN

package Bot::ChatBots::Role::WebPoller;
use strict;
use warnings;
{ our $VERSION = '0.014'; }

use Ouch;
use IO::Socket::SSL ();
use Mojo::UserAgent;
use Log::Any qw< $log >;
use Try::Tiny;

use Moo::Role;
use namespace::clean;

with 'Bot::ChatBots::Role::Poller';

has ua => (is => 'ro', default => sub { return Mojo::UserAgent->new });
has tx_args => (is => 'ro', required => 1);

sub poll {



( run in 0.822 second using v1.01-cache-2.11-cpan-05444aca049 )