Advertisement
Aha2Y

Untitled

Feb 21st, 2012
344
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. use Irssi;
  2. use Irssi::Irc;
  3. use strict;
  4. use vars qw($VERSION %IRSSI);
  5. use IO::Socket;
  6.  
  7. $VERSION = '1.5';
  8. %IRSSI = (
  9.     authors     => 'Aha2Y alias Shiny',
  10.     contact     => 'Aha2Y@Hush.com',
  11.     name        => 'Port checker',
  12.     description => 'Check if a port is open' .
  13.                    'or closed' .
  14.                    'Actualy my first script.',
  15.     license     => 'Aha2Y',
  16. );
  17.  
  18. sub cmd_check {
  19. my ($text) = @_;
  20.         my ($server, $data, $nick, $mask, $target, $channel) =@_;
  21.     if ($data=~/^!check/){
  22.             my ($host, $port) = split(' ', $data);
  23.  
  24. $server->command("/MSG ".$target." Checking host: ".$host." and port ".$port." ");
  25.   my ($sock) = new
  26.   IO::Socket::INET(PeerAddr=>$host,PeerPort=>$port,Proto=>'tcp');
  27.   if($sock)
  28.   {
  29. $server->command("/MSG ".$target." Online!");
  30. }
  31. else {
  32.  
  33. }
  34. $server->command("/MSG ".$target." Offline!");
  35.  }
  36. }
  37. Irssi::signal_add_last('message public', 'cmd_check');
  38.  
  39.  
  40. Irssi::command_bind check => sub {
  41.   my ($text) = @_;
  42.   my ($args, $active_server, $witem) = @_;
  43.   my ($host, $port) = split(' ', $text);
  44.   Irssi::print("Checking host: $host and port: $port");
  45.   my ($sock) = new
  46.   IO::Socket::INET(PeerAddr=>$host,PeerPort=>$port,Proto=>'tcp');
  47.   if($sock)
  48.   {
  49.     Irssi::print("Online");
  50.     }
  51. else
  52. {
  53.   Irssi::print("Offline");
  54.   }
  55. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement