sub tick { my $self=shift; my %wake_interval; $wake_interval{seconds} = $config->{wake_interval} * 60; my $now = Time::Piece->localtime(); return 60 if ( $now < $hush ); my @events = ( { name => \&cfbot::atom_feed, arg => [{ 'feed' => "$config->{bug_feed}" }] }, { name => \&cfbot::git_feed, arg => [{ 'feed' => $config->{git_feed}, 'owner' => 'cfengine', 'repo' => 'core', }] }, { name => \&cfbot::git_feed, arg => [{ 'feed' => $config->{git_feed}, 'owner' => 'cfengine', 'repo' => 'masterfiles', }] }, { name => \&cfbot::git_feed, arg => [{ 'feed' => $config->{git_feed}, 'owner' => 'neilhwatson', 'repo' => 'evolve_cfengine_freelib', }] }, { name => \&cfbot::git_feed, arg => [{ 'feed' => $config->{git_feed}, 'owner' => 'neilhwatson', 'repo' => 'delta_reporting', }] }, { name => \&cfbot::git_feed, arg => [{ 'feed' => $config->{git_feed}, 'owner' => 'neilhwatson', 'repo' => 'vim_cf3', }] }, { name => \&cfbot::git_feed, arg => [{ 'feed' => $config->{git_feed}, 'owner' => 'neilhwatson', 'repo' => 'cfbot', }] }, { name => \&cfbot::say_words_of_wisdom, arg => [ '' ], }, { name => \&cfbot::index_cfe_functions, arg => [ '' ], }, ); for my $e ( @events ) { $self->forkit({ run => $e->{name}, arguments => $e->{arg}, channel => $config->{irc}{channels}[0], handler => '_fork_notice', }); } return $wake_interval{seconds}; }