Advertisement
Guest User

Untitled

a guest
Jun 11th, 2017
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Perl 1.79 KB | None | 0 0
  1. #!usr/bin/perl
  2.  
  3. use strict;
  4. use warnings;
  5. use IO::Socket::INET;
  6. use IPC::Open2;
  7. ###########ConFigurazione############
  8. my $server="irc.evolutioniRc.net";
  9. my $porta="6667";
  10. my $nick="Prova|BoT";
  11. my $canale="#Programmazione";
  12. ##########FiNE######################
  13. my $sk = IO::Socket::INET->new(PeerAddr=>"$server",PeerPort=>"$porta",Proto=>"tcp") or die "Can not connect on server!\n";
  14. $sk->autoflush(1);
  15.  
  16. print $sk "NICK $nick\r\n";
  17. print $sk "USER Bot Bot Bot Perl Bot\r\n";
  18. print $sk "JOIN $canale\r\n";
  19. while (my $line = <$sk>){
  20. ###### $line CONTIENE TUTTI I MESSAGGI DEL SERVER IN PROTOCOLLO IRC. USARLO DI CONSEGUENZA
  21.  
  22. if ($line =~ /^PING (:[^ ]+)$/i) {
  23. print $sk "PONG :$1\r\n";
  24. }
  25. ###############################LOGIN##############################
  26.  
  27. if($line =~ /\!login\s+(.*)/){
  28. my $login = $1;
  29. $login =~ s/[\r\n]//g;
  30. my $password =~ s/[\r\n]//g;
  31. &login($login);
  32. }
  33.  
  34. if($line =~ /\!join\s+(.*)/){
  35. my $login = $1;
  36. $login =~ s/[\r\n]//g;
  37. my @array = split(" ", $line);
  38. print "PRIVMSG #programmazione :USERNAME: ".$array[4];
  39. print "PRIVMSG #programmazione :PASSWORD: ".$array[5];
  40. }
  41. }
  42.  
  43. sub join() {
  44.   my $join = <$sk>;
  45.   my ($login) = @_;
  46.   my $i=1;
  47.   open(FILE,'<',"login.txt");
  48.   while(my $riga = <FILE>) {
  49.     $riga =~ s/[\r\n]//g;
  50.     print "$i) $riga";
  51.     if ($join == /$riga/) {
  52.     &privmsg($canale,"  15Ok..Login Accettato"); 
  53.     }
  54.     elsif ($join =~ /$riga/) {
  55.       &privmsg($canale,"  15Login Non Accettato!");
  56.     }
  57. }
  58.  
  59. sub login()
  60. {
  61. my $login = $_[0];
  62. open(FILE,'>>',"login.txt");
  63. print FILE $login."\n";
  64. close (FILE);
  65. print $sk "PRIVMSG $canale :15Aggiunto L'user: 9$login\r\n";
  66. }
  67.  
  68. sub privmsg()
  69. {
  70.         my ($chi,$cosa)=@_;
  71.         print $sk "PRIVMSG ".$chi." :".$cosa."\r\n";
  72. }
  73.  
  74. ############### INSERIRE CONSECUTIVAMENTE LE NUOVE SUBROUTINES
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement