Webstatt.org - Community seit 2006 - 2012 (2024?)

[PERL + IRC] IRC Bot Connected nicht richtig (Probleme mitm IDENT?)

Avatar user-146
01.10.2006 17:30

N'abend.
Ich bin vor paar Tagen durch zufall auf Perl gestoßen und bin gleich auch ein wenig begeistert, und hab mich nun drangesetzt einen kleinen IRC Bot damit zu schreiben.
In erster Linie soll er erstmal nur zum Server connecten, einen Channel joinen und da idlen ^^

Hier mein bisheriger Code:

#!/usr/bin/perl
use IO::Socket;
use Switch;
use Digest::MD5 qw(md5_hex);

$server = 'irc.chaoz-irc.org';
$port = '6667';
$user = 'wangbot wangbot wangbot wangbot';
$nick = 'wangbot';

$channel = '#wang';
$channelpasswd = 'china';

$owner = 'Wang';
$passwd = '';



$conn = IO::Socket::INET->new(PeerAddr=>$server, PeerPort=>$port, Proto=>'tcp', Timeout=>'30'zwinkern || print 'ERROR: Couldn\'t establish a connection to '.$server.".\n";

print $conn 'USER '.$user.'\r\n';
print $conn 'NICK '.$nick.'\r\n';
print $conn 'JOIN '.$channel.' '.$channelpasswd.'\r\n';

while ($datain = <$conn>zwinkern {

## show data in the cmd
print $datain;

# log Data
if ($datain =~ m/\privmsg $channel/) {
open(CHANLOG,'>>'.$channel.'.log'zwinkern;
print CHANLOG "$datain";
close (CHANLOG);
} else {
open(CHANLOG,'>>'.$server.'.log'zwinkern;
print CHANLOG "$datain";
close (CHANLOG);
}

# ping.... pong!
if ($datain =~ m/^PING (.*?)$/gi) {
print $conn 'PONG '.$1.'\n';
}
}


So..
Also eigentlich sollte er nun Connecten => Channel joinen..
Aber iwie klappt das net:

C:\Documents and Settings\Test\Desktop>perl ircbot1.pl
:Ascofun.Chaoz-IRC.org NOTICE AUTH :*** Looking up your hostname...
:Ascofun.Chaoz-IRC.org NOTICE AUTH :*** Found your hostname (cached)
:Ascofun.Chaoz-IRC.org NOTICE AUTH :*** Checking ident...
:Ascofun.Chaoz-IRC.org NOTICE AUTH :*** No ident response; username prefixed wit
h ~
ERROR :Closing Link: [85.181.77.137] (Ping timeout)


Er hängt bei "No ident response; username prefixed with ~"
und nach ner Zeit kommt der Error traurig
Weiß jemand Rat?

Edit:

Hab den Fehler: '\r\n' => "\r\n"

Avatar user-255
01.10.2006 18:16

Solltest dich mal bei O'Reilly umsehn :]

Those who can, do. Those who can't, teach. # Musik gehört dem Volk! # last.fm
Avatar user-271
01.10.2006 18:59

ich weise nur auf:
http://search.cpan.org/~jmuhlich/Net-IRC-0.75/IRC.pm

warum etwas neu coden, wenn es schon gibt ;D also das modul *g* dass finde ich an perl so toll...es gibt fast für alles ein modul

#!/bin/bash
traurig){ neutral:& };: