mkv

edzilla reminders

mkv
Oct 2nd, 2013
222
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Perl 1.66 KB | None | 0 0
  1. if ($do_r == 1 || $do_h == 1) #in
  2. {
  3.     $dur = 0;
  4.     while (1==1)
  5.     {
  6. #       print $do_a;
  7. #       print " -!- args: '$do_a'";
  8.         if ($do_a =~ /^[ ;:\.,]*and /)
  9.         {
  10.             $do_a =~ s/^[ ;:\.,]*and //;
  11.             next;
  12.         }
  13.         last if $do_a !~ /^[ ;:\.,]*([a0-9][0-9]*) ([a-z][^ ;:\.,]*)/;
  14.         $num = $1;
  15.         $den = $2;
  16.         $num = 1 if ($num eq 'a');
  17.         $do_a =~ s/^[ ;:\.,]*//;
  18.         $do_a = substr $do_a, length($num) + length($den) + 1;
  19.         $den =~ s/,$//;
  20.         $den =~ s/s$//;
  21.         $mul = 0;
  22.         if ($den eq 'second') { $mul = 1; }
  23.         if ($den eq 'minute') { $mul = 60; }
  24.         if ($den eq 'hour')   { $mul = 60*60; }
  25.         if ($den eq 'day')    { $mul = 60*60*24; }
  26.         if ($den eq 'week')   { $mul = 60*60*24*4; }
  27.         if ($den eq 'month')  { $mul = 60*60*24*30.43685; }
  28.         if ($den eq 'year')   { $mul = 60*60*24*365.2422; }
  29.         if ($mul == 0)
  30.         {
  31.             $err = "bad denominator: $den";
  32.             print " -!- REMINDER -!- $err";
  33.             $server->command("msg $target Ouch, looks like that was a $err");
  34.             return;
  35.         }
  36.         $dur += $mul * $num;
  37.     }
  38.     $dur = int($dur);
  39.     $abs = $time + $dur;
  40.     ins(($abs, $do_h, $nick, $do_t, $target, $do_a));
  41.     state_save();
  42.  
  43.     @weekday = ("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday");
  44.     ($gsec,$gmin,$ghour,$gday,$gmon,$gyear,$gwday,$gyday,$gdst) = gmtime($abs);
  45.     $human = sprintf("%d-%02d-%02d (%s) %02d:%02d:%02d",
  46.         $gyear + 1900, $gmon+1, $gday, $weekday[$gwday], $ghour, $gmin, $gsec
  47.     );
  48.     $prt = "よし! I'll remind ";
  49.     $prt .= 'you' if ($do_t eq $nock);
  50.     $prt .= $do_t if ($do_t ne $nock);
  51.     $prt .= " about that on $human - in $dur seconds (☞゚∀゚)☞";
  52.     $server->command("msg $target $prt");
  53.     print " -!- REMINDER -!- $text";
  54.     return;
  55. }
Advertisement
Add Comment
Please, Sign In to add comment