view release on metacpan or search on metacpan
"AnyEvent::IRC::Client" : "0",
"AnyEvent::Mattermost" : "0",
"AnyEvent::SlackRTM" : "0",
"App::Sqitch" : "0",
"Clone" : "0",
"Config::Any::Merge" : "0",
"Config::General" : "0",
"DBD::Pg" : "0",
"DBIx::DataStore" : "0",
"Data::Dumper" : "0",
"DateTime" : "0",
"DateTime::Format::Pg" : "0",
"EV" : "0",
"Exporter::Easy" : "0",
"File::HomeDir" : "0",
"File::ShareDir" : "0",
"FileHandle" : "0",
"Getopt::Long::Descriptive" : "0",
"HTML::TreeBuilder::LibXML" : "0",
"HTML::TreeBuilder::XPath" : "0",
"HTTP::Request" : "0",
"IPC::Open2" : "0",
AnyEvent::IRC::Client: '0'
AnyEvent::Mattermost: '0'
AnyEvent::SlackRTM: '0'
App::Sqitch: '0'
Clone: '0'
Config::Any::Merge: '0'
Config::General: '0'
DBD::Pg: '0'
DBIx::DataStore: '0'
Data::Dumper: '0'
DateTime: '0'
DateTime::Format::Pg: '0'
EV: '0'
Exporter::Easy: '0'
File::HomeDir: '0'
File::ShareDir: '0'
FileHandle: '0'
Getopt::Long::Descriptive: '0'
HTML::TreeBuilder::LibXML: '0'
HTML::TreeBuilder::XPath: '0'
HTTP::Request: '0'
IPC::Open2: '0'
Makefile.PL view on Meta::CPAN
"AnyEvent::IRC::Client" => 0,
"AnyEvent::Mattermost" => 0,
"AnyEvent::SlackRTM" => 0,
"App::Sqitch" => 0,
"Clone" => 0,
"Config::Any::Merge" => 0,
"Config::General" => 0,
"DBD::Pg" => 0,
"DBIx::DataStore" => 0,
"Data::Dumper" => 0,
"DateTime" => 0,
"DateTime::Format::Pg" => 0,
"EV" => 0,
"Exporter::Easy" => 0,
"File::HomeDir" => 0,
"File::ShareDir" => 0,
"FileHandle" => 0,
"Getopt::Long::Descriptive" => 0,
"HTML::TreeBuilder::LibXML" => 0,
"HTML::TreeBuilder::XPath" => 0,
"HTTP::Request" => 0,
"IPC::Open2" => 0,
Makefile.PL view on Meta::CPAN
"AnyEvent::IRC::Client" => 0,
"AnyEvent::Mattermost" => 0,
"AnyEvent::SlackRTM" => 0,
"App::Sqitch" => 0,
"Clone" => 0,
"Config::Any::Merge" => 0,
"Config::General" => 0,
"DBD::Pg" => 0,
"DBIx::DataStore" => 0,
"Data::Dumper" => 0,
"DateTime" => 0,
"DateTime::Format::Pg" => 0,
"EV" => 0,
"Exporter::Easy" => 0,
"ExtUtils::MakeMaker" => 0,
"File::HomeDir" => 0,
"File::ShareDir" => 0,
"File::Spec" => 0,
"FileHandle" => 0,
"Getopt::Long::Descriptive" => 0,
"HTML::TreeBuilder::LibXML" => 0,
"HTML::TreeBuilder::XPath" => 0,
lib/App/RoboBot/Macro.pm view on Meta::CPAN
use Moose;
use MooseX::ClassAttribute;
use MooseX::SetOnce;
use App::RoboBot::Nick;
use App::RoboBot::Parser;
use Clone qw( clone );
use Data::Dumper;
use DateTime;
use DateTime::Format::Pg;
use JSON;
use Scalar::Util qw( blessed );
has 'bot' => (
is => 'ro',
isa => 'App::RoboBot',
required => 1,
);
has 'id' => (
lib/App/RoboBot/Macro.pm view on Meta::CPAN
);
has 'definer' => (
is => 'rw',
isa => 'App::RoboBot::Nick',
predicate => 'has_definer',
);
has 'timestamp' => (
is => 'rw',
isa => 'DateTime',
traits => [qw( SetOnce )],
default => sub { DateTime->now() },
required => 1,
);
has 'is_locked' => (
is => 'rw',
isa => 'Bool',
default => 0,
);
has 'valid' => (
lib/App/RoboBot/Macro.pm view on Meta::CPAN
$macros{$network->id} = {} unless exists $macros{$network->id};
$macros{$network->id}{$res->{'name'}} = $class->new(
bot => $bot,
id => $res->{'macro_id'},
network => $network,
name => $res->{'name'},
arguments => decode_json($res->{'arguments'}),
definition => $res->{'definition'},
definer => App::RoboBot::Nick->new( config => $bot->config, name => $res->{'nick'} ),
timestamp => DateTime::Format::Pg->parse_datetime($res->{'defined_at'}),
is_locked => $res->{'is_locked'},
);
}
$logger->debug('All macros loaded. Returning collection.');
return %macros;
}
sub save {
lib/App/RoboBot/Message.pm view on Meta::CPAN
package App::RoboBot::Message;
$App::RoboBot::Message::VERSION = '4.004';
use v5.20;
use namespace::autoclean;
use Moose;
use MooseX::ClassAttribute;
use MooseX::SetOnce;
use DateTime;
use App::RoboBot::Parser;
use App::RoboBot::Response;
has 'raw' => (
is => 'rw',
isa => 'Str',
required => 1,
);
lib/App/RoboBot/Message.pm view on Meta::CPAN
has 'network' => (
is => 'rw',
isa => 'Object',
traits => [qw( SetOnce )],
required => 1,
);
has 'timestamp' => (
is => 'ro',
isa => 'DateTime',
default => sub { DateTime->now },
required => 1,
);
has 'response' => (
is => 'rw',
isa => 'App::RoboBot::Response',
predicate => 'has_response',
);
has 'vars' => (
lib/App/RoboBot/Plugin/API/Kegerator.pm view on Meta::CPAN
default => sub {
my $ua = LWP::UserAgent->new;
$ua->agent('App::RoboBot');
$ua->timeout(5);
return $ua;
},
);
has 'last_check' => (
is => 'rw',
isa => 'DateTime',
default => sub { DateTime->now },
);
has 'beer_cache' => (
is => 'rw',
isa => 'HashRef',
default => sub { {} },
);
has 'valid_config' => (
is => 'rw',
lib/App/RoboBot/Plugin/API/PagerDuty.pm view on Meta::CPAN
$App::RoboBot::Plugin::API::PagerDuty::VERSION = '4.004';
use v5.20;
use namespace::autoclean;
use Moose;
use MooseX::SetOnce;
use AnyEvent;
use Data::Dumper;
use DateTime;
use HTTP::Request;
use JSON;
use LWP::UserAgent;
use LWP::Protocol::https;
use URI;
use App::RoboBot::Channel;
use App::RoboBot::Response;
extends 'App::RoboBot::Plugin';
lib/App/RoboBot/Plugin/API/PagerDuty.pm view on Meta::CPAN
eval {
$json = decode_json($response->decoded_content);
};
return if $@;
return $json;
}
sub now {
my ($self) = @_;
return DateTime->now->iso8601 . 'Z';
}
sub _validate_config {
my ($self, $message) = @_;
unless (exists $self->bot->config->plugins->{'pagerduty'}
&& exists $self->bot->config->plugins->{'pagerduty'}{'group'}
&& ref($self->bot->config->plugins->{'pagerduty'}{'group'}) eq 'HASH')
{
$message->response->raise('PagerDuty groups not properly configured. Please contact bot administrator.');
t/00-report-prereqs.dd view on Meta::CPAN
'AnyEvent::IRC::Client' => '0',
'AnyEvent::Mattermost' => '0',
'AnyEvent::SlackRTM' => '0',
'App::Sqitch' => '0',
'Clone' => '0',
'Config::Any::Merge' => '0',
'Config::General' => '0',
'DBD::Pg' => '0',
'DBIx::DataStore' => '0',
'Data::Dumper' => '0',
'DateTime' => '0',
'DateTime::Format::Pg' => '0',
'EV' => '0',
'Exporter::Easy' => '0',
'File::HomeDir' => '0',
'File::ShareDir' => '0',
'FileHandle' => '0',
'Getopt::Long::Descriptive' => '0',
'HTML::TreeBuilder::LibXML' => '0',
'HTML::TreeBuilder::XPath' => '0',
'HTTP::Request' => '0',
'IPC::Open2' => '0',