Advertisement
Yarukinasu

np.pl

Sep 13th, 2014
292
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Perl 4.39 KB | None | 0 0
  1. use strict;
  2. use Irssi;
  3.  
  4. use vars qw($VERSION %IRSSI);
  5.  
  6. $VERSION = '1.14';
  7. %IRSSI = (
  8.   authors     => 'Yarukinasu',
  9.   contact     => 'John.Smith@example.com',
  10.   name        => 'Now Playing',
  11.   description => 'This script will show what is now playing.',
  12.   license     => 'Public Domain'
  13. );
  14.  
  15. sub cmd_np {
  16.   my ($data, $server, $witem) = @_;
  17.  
  18.   open(file, '<', 'np');
  19.  
  20.   my $file = <file>;
  21.  
  22.   close(file);
  23.  
  24.   # Replace some full-width characters to half-width
  25.   if ($data !~ /-long/i) {
  26.     for ($file) {
  27.       s/ / /g;
  28.       s/、/、/g;
  29.       s/。/。/g;
  30.       s/「/「/g;
  31.       s/」/」/g;
  32.       s/ァ/ァ/g;
  33.       s/ア/ア/g;
  34.       s/ィ/ィ/g;
  35.       s/イ/イ/g;
  36.       s/ゥ/ゥ/g;
  37.       s/ウ/ウ/g;
  38.       s/ェ/ェ/g;
  39.       s/エ/エ/g;
  40.       s/ォ/ォ/g;
  41.       s/オ/オ/g;
  42.       s/カ/カ/g;
  43.       s/ガ/ガ/g;
  44.       s/キ/キ/g;
  45.       s/ギ/ギ/g;
  46.       s/ク/ク/g;
  47.       s/グ/グ/g;
  48.       s/ケ/ケ/g;
  49.       s/ゲ/ゲ/g;
  50.       s/コ/コ/g;
  51.       s/ゴ/ゴ/g;
  52.       s/サ/サ/g;
  53.       s/ザ/ザ/g;
  54.       s/シ/シ/g;
  55.       s/ジ/ジ/g;
  56.       s/ス/ス/g;
  57.       s/ズ/ズ/g;
  58.       s/セ/セ/g;
  59.       s/ゼ/ゼ/g;
  60.       s/ソ/ソ/g;
  61.       s/ゾ/ゾ/g;
  62.       s/タ/タ/g;
  63.       s/ダ/ダ/g;
  64.       s/チ/チ/g;
  65.       s/ヂ/ヂ/g;
  66.       s/ッ/ッ/g;
  67.       s/ツ/ツ/g;
  68.       s/ヅ/ヅ/g;
  69.       s/テ/テ/g;
  70.       s/デ/デ/g;
  71.       s/ト/ト/g;
  72.       s/ド/ド/g;
  73.       s/ナ/ナ/g;
  74.       s/ニ/ニ/g;
  75.       s/ヌ/ヌ/g;
  76.       s/ネ/ネ/g;
  77.       s/ノ/ノ/g;
  78.       s/ハ/ハ/g;
  79.       s/バ/バ/g;
  80.       s/パ/パ/g;
  81.       s/ヒ/ヒ/g;
  82.       s/ビ/ビ/g;
  83.       s/ピ/ピ/g;
  84.       s/フ/フ/g;
  85.       s/ブ/ブ/g;
  86.       s/プ/プ/g;
  87.       s/ヘ/ヘ/g;
  88.       s/ベ/ベ/g;
  89.       s/ペ/ペ/g;
  90.       s/ホ/ホ/g;
  91.       s/ボ/ボ/g;
  92.       s/ポ/ポ/g;
  93.       s/マ/マ/g;
  94.       s/ミ/ミ/g;
  95.       s/ム/ム/g;
  96.       s/メ/メ/g;
  97.       s/モ/モ/g;
  98.       s/ャ/ャ/g;
  99.       s/ヤ/ヤ/g;
  100.       s/ュ/ュ/g;
  101.       s/ユ/ユ/g;
  102.       s/ョ/ョ/g;
  103.       s/ヨ/ヨ/g;
  104.       s/ラ/ラ/g;
  105.       s/リ/リ/g;
  106.       s/ル/ル/g;
  107.       s/レ/レ/g;
  108.       s/ロ/ロ/g;
  109. #      s/ヮ/ヮ/g;
  110.       s/ワ/ワ/g;
  111. #      s/ヰ/ヰ/g;
  112. #      s/ヱ/ヱ/g;
  113.       s/ヲ/ヲ/g;
  114.       s/ン/ン/g;
  115.       s/ヴ/ヴ/g;
  116. #      s/ヵ/ヵ/g;
  117. #      s/ヶ/ヶ/g;
  118.       s/ヷ/ヷ/g;
  119. #      s/ヸ/ヸ/g;
  120. #      s/ヹ/ヹ/g;
  121.       s/ヺ/ヺ/g;
  122.       s/・/・/g;
  123.       s/ー/ー/g;
  124.       s/!/!/g;
  125.       s/"/"/g;
  126.       s/#/#/g;
  127.       s/$/\$/g;
  128.       s/%/%/g;
  129.       s/&/&/g;
  130.       s/'/'/g;
  131.       s/(/\(/g;
  132.       s/)/\)/g;
  133.       s/*/\*/g;
  134.       s/+/\+/g;
  135.       s/,/,/g;
  136.       s/-/\-/g;
  137.       s/./\./g;
  138.       s///\//g;
  139.       s/0/0/g;
  140.       s/1/1/g;
  141.       s/2/2/g;
  142.       s/3/3/g;
  143.       s/4/4/g;
  144.       s/5/5/g;
  145.       s/6/6/g;
  146.       s/7/7/g;
  147.       s/8/8/g;
  148.       s/9/9/g;
  149.       s/:/:/g;
  150.       s/;/;/g;
  151.       s/</</g;
  152.       s/=/=/g;
  153.       s/>/>/g;
  154.       s/?/\?/g;
  155.       s/@/@/g;
  156.       s/A/A/g;
  157.       s/B/B/g;
  158.       s/C/C/g;
  159.       s/D/D/g;
  160.       s/E/E/g;
  161.       s/F/F/g;
  162.       s/G/G/g;
  163.       s/H/H/g;
  164.       s/I/I/g;
  165.       s/J/J/g;
  166.       s/K/K/g;
  167.       s/L/L/g;
  168.       s/M/M/g;
  169.       s/N/N/g;
  170.       s/O/O/g;
  171.       s/P/P/g;
  172.       s/Q/Q/g;
  173.       s/R/R/g;
  174.       s/S/S/g;
  175.       s/T/T/g;
  176.       s/U/U/g;
  177.       s/V/V/g;
  178.       s/W/W/g;
  179.       s/X/X/g;
  180.       s/Y/Y/g;
  181.       s/Z/Z/g;
  182.       s/[/\[/g;
  183.       s/\/\\/g;
  184.       s/]/\]/g;
  185.       s/^/\^/g;
  186.       s/_/_/g;
  187.       s/`/`/g;
  188.       s/a/a/g;
  189.       s/b/b/g;
  190.       s/c/c/g;
  191.       s/d/d/g;
  192.       s/e/e/g;
  193.       s/f/f/g;
  194.       s/g/g/g;
  195.       s/h/h/g;
  196.       s/i/i/g;
  197.       s/j/j/g;
  198.       s/k/k/g;
  199.       s/l/l/g;
  200.       s/m/m/g;
  201.       s/n/n/g;
  202.       s/o/o/g;
  203.       s/p/p/g;
  204.       s/q/q/g;
  205.       s/r/r/g;
  206.       s/s/s/g;
  207.       s/t/t/g;
  208.       s/u/u/g;
  209.       s/v/v/g;
  210.       s/w/w/g;
  211.       s/x/x/g;
  212.       s/y/y/g;
  213.       s/z/z/g;
  214.       s/{/\{/g;
  215.       s/|/\|/g;
  216.       s/}/\}/g;
  217.       s/~/~/g;
  218.     }
  219.   }
  220.  
  221.   if ($data =~ /-echo/i) {
  222.     $server->print($witem->{name}, $file, MSGLEVEL_CRAP);
  223.   } else {
  224.     $server->command(join('', 'action ', $witem->{name}, ' ', $file));
  225.   }
  226. }
  227.  
  228. Irssi::command_bind('np', 'cmd_np');
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement