Bot-IRC
view release on metacpan or search on metacpan
"Date::Format" : "0",
"Date::Parse" : "0",
"DateTime" : "0",
"DateTime::Format::Human::Duration" : "0",
"Email::Mailer" : "0",
"Email::Valid" : "0",
"Encode" : "0",
"Encode::Detect::Detector" : "0",
"File::Grep" : "0",
"IO::Socket::IP" : "0",
"IO::Socket::SSL" : "0",
"JSON::XS" : "0",
"Math::Expression" : "0",
"Math::Units" : "0",
"Time::Crontab" : "0",
"YAML::XS" : "0",
"exact" : "1.14",
"exact::class" : "1.10",
"perl" : "5.014",
"strict" : "0",
"warnings" : "0"
Date::Format: '0'
Date::Parse: '0'
DateTime: '0'
DateTime::Format::Human::Duration: '0'
Email::Mailer: '0'
Email::Valid: '0'
Encode: '0'
Encode::Detect::Detector: '0'
File::Grep: '0'
IO::Socket::IP: '0'
IO::Socket::SSL: '0'
JSON::XS: '0'
Math::Expression: '0'
Math::Units: '0'
Time::Crontab: '0'
YAML::XS: '0'
exact: '1.14'
exact::class: '1.10'
perl: '5.014'
strict: '0'
warnings: '0'
Makefile.PL view on Meta::CPAN
"Date::Format" => 0,
"Date::Parse" => 0,
"DateTime" => 0,
"DateTime::Format::Human::Duration" => 0,
"Email::Mailer" => 0,
"Email::Valid" => 0,
"Encode" => 0,
"Encode::Detect::Detector" => 0,
"File::Grep" => 0,
"IO::Socket::IP" => 0,
"IO::Socket::SSL" => 0,
"JSON::XS" => 0,
"Math::Expression" => 0,
"Math::Units" => 0,
"Time::Crontab" => 0,
"YAML::XS" => 0,
"exact" => "1.14",
"exact::class" => "1.10",
"strict" => 0,
"warnings" => 0
},
Makefile.PL view on Meta::CPAN
"DateTime" => 0,
"DateTime::Format::Human::Duration" => 0,
"Email::Mailer" => 0,
"Email::Valid" => 0,
"Encode" => 0,
"Encode::Detect::Detector" => 0,
"File::Grep" => 0,
"File::Spec" => 0,
"IO::Handle" => 0,
"IO::Socket::IP" => 0,
"IO::Socket::SSL" => 0,
"IPC::Open3" => 0,
"JSON::XS" => 0,
"Math::Expression" => 0,
"Math::Units" => 0,
"Test2::Mock" => 0,
"Test2::V0" => 0,
"Test::Lib" => 0,
"Test::More" => 0,
"Test::Output" => 0,
"Time::Crontab" => 0,
requires "Date::Format" => "0";
requires "Date::Parse" => "0";
requires "DateTime" => "0";
requires "DateTime::Format::Human::Duration" => "0";
requires "Email::Mailer" => "0";
requires "Email::Valid" => "0";
requires "Encode" => "0";
requires "Encode::Detect::Detector" => "0";
requires "File::Grep" => "0";
requires "IO::Socket::IP" => "0";
requires "IO::Socket::SSL" => "0";
requires "JSON::XS" => "0";
requires "Math::Expression" => "0";
requires "Math::Units" => "0";
requires "Time::Crontab" => "0";
requires "YAML::XS" => "0";
requires "exact" => "1.14";
requires "exact::class" => "1.10";
requires "perl" => "5.014";
requires "strict" => "0";
requires "warnings" => "0";
lib/Bot/IRC.pm view on Meta::CPAN
# ABSTRACT: Yet Another IRC Bot
use 5.014;
use exact;
use Daemon::Device;
use Date::Format 'time2str';
use Encode 'decode';
use Encode::Detect::Detector 'detect';
use IO::Socket::IP -register;
use IO::Socket::SSL;
use Time::Crontab;
our $VERSION = '1.42'; # VERSION
sub new {
my $class = shift;
my $self = bless( {@_}, $class );
croak('Odd number of elements passed to new()') if ( @_ % 2 );
croak('connect/server not provided to new()')
lib/Bot/IRC.pm view on Meta::CPAN
( ref $self->{plugins} eq 'ARRAY' ) ? @{ $self->{plugins} } : $self->{plugins}
) if ( $self->{plugins} );
return $self;
}
sub run {
my $self = shift;
my $commands = \@_;
$self->{socket} = ( ( $self->{connect}{ssl} ) ? 'IO::Socket::SSL' : 'IO::Socket::IP' )->new(
PeerAddr => $self->{connect}{server},
PeerPort => $self->{connect}{port},
Proto => 'tcp',
Family => ( $self->{connect}{ipv6} ? AF_INET6 : AF_INET ),
Type => SOCK_STREAM,
SSL_verify_mode => SSL_VERIFY_NONE,
) or die $!;
if ( $self->{encoding} ) {
try {
( run in 0.518 second using v1.01-cache-2.11-cpan-4d50c553e7e )