8 print ".:NoPaste:. loading bunch of modules... ";
11 use Locale::TextDomain qw(pci-nopaste);
17 Component::IRC::Plugin::Connector
18 Component::IRC::Plugin::NoPaste
20 use constant ALIAS => 'pci-nopaste';
28 'help|h' => \$opts{help},
30 'config|c=s' => \$opts{config},
34 pod2usage(-verbose => 2);
37 pod2usage(-verbose => 1);
39 if (not $opts{config}) {
40 if (-f '/etc/pci-nopaste.yml') {
41 $opts{config} = '/etc/pci-nopaste.yml';
45 "{process}: option --config=<config-file> is missing.\n",
51 my $config = YAML::LoadFile($opts{config});
52 my $irc = POE::Component::IRC::State->spawn;
56 __PACKAGE__, [ qw(_start _signal_stop) ],
64 $_[KERNEL]->alias_set(ALIAS);
65 #foreach (qw[HUP INT QUIT ABRT TERM]) {
66 # $_[KERNEL]->sig($_ => '_signal_stop');
70 Connector => POE::Component::IRC::Plugin::Connector->new());
73 NoPaste => POE::Component::IRC::Plugin::NoPaste->new($config));
77 $_[KERNEL]->sig_handled;
79 print STDERR __"Shutdown time has arrived. Telling components to stop...\n";
81 $_[KERNEL]->alias_remove(ALIAS);
82 $irc->yield('shutdown');