diff --git a/bin/auto b/bin/auto index d1e5b6e..5cc8cb0 100755 --- a/bin/auto +++ b/bin/auto @@ -481,19 +481,21 @@ if (conf_get('aliases:alias')) { while (1) { # Timer check. foreach my $tk (keys %TIMERS) { - if ($TIMERS{$tk}{time} <= time) { - &{ $TIMERS{$tk}{sub} }(); - if ($TIMERS{$tk}{type} == 1) { - # If it's type 1, delete from memory. - delete $TIMERS{$tk}; - } - elsif ($TIMERS{$tk}{type} == 2) { - # If it's type 2, reset timer. - $TIMERS{$tk}{time} = time + $TIMERS{$tk}{secs}; - } - else { - # This should never happen. - delete $TIMERS{$tk}; + if (exists $TIMERS{$tk}) { + if ($TIMERS{$tk}{time} <= time) { + &{ $TIMERS{$tk}{sub} }(); + if ($TIMERS{$tk}{type} == 1) { + # If it's type 1, delete from memory. + delete $TIMERS{$tk}; + } + elsif ($TIMERS{$tk}{type} == 2) { + # If it's type 2, reset timer. + $TIMERS{$tk}{time} = time + $TIMERS{$tk}{secs}; + } + else { + # This should never happen. + delete $TIMERS{$tk}; + } } } } diff --git a/doc/CHANGELOG b/doc/CHANGELOG index 4eb70e3..645a96c 100644 --- a/doc/CHANGELOG +++ b/doc/CHANGELOG @@ -3,6 +3,7 @@ Auto IRC Bot 3.0: Change Log 3.0 Indev =============================================================================== + * Possibly fixed a rare fatal error. * Werewolf: Rewrote WAIT to be more decent. * Werewolf: Wounded villagers are now excluded from winning villager count. * Werewolf: Dynamic lynch and no victim messages.