Bot-IRC

 view release on metacpan or  search on metacpan

META.json  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",
            "perl" : "5.014",
            "strict" : "0",
            "warnings" : "0"

META.yml  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'
  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,

cpanfile  view on Meta::CPAN

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 )