Schrift
[thread]4305[/thread]

Net::IRC: Wie Aktionen ausfuehren? (Seite 2)

Leser: 1


<< |< 1 2 3 4 >| >> 39 Einträge, 4 Seiten
J-jayz-Z
 2005-05-11 23:12
#37716 #37716
User since
2005-04-13
625 Artikel
BenutzerIn
[Homepage] [default_avatar]
Kann mir vielleicht jemand helfen, ich bekomm es mit Farbe nicht hin...
perl -Mstrict -Mwarnings -e 'package blub; sub new { bless {} } sub bar {my $self=shift; $self->{bla}="5065726c2d436f6d6d756e697479"; return $self->{bla};} my $foo=blub->new();print "Hallo ";print pack("H*",$foo->bar()); print "\n"'

http://perl-tutor.de
smp
 2005-05-13 11:13
#37717 #37717
User since
2005-05-03
12 Artikel
BenutzerIn
[default_avatar]
Zu den Farben:
Nehm einfach einen Client, bei dem es eine Farben-Funktion gibt und kopier dir die Sondertags.

Beispiel:
Code: (dl )
[sondertag]8Text[sondertag]
[Farbe Gelb.] [Edit: Sondertags koennen im Forum leider nicht angezeigt werden.]

Das gleiche gilt auch fuer fettgedruckten, kursiven und unterstrichenen Text.


Zu Topic:
Code: (dl )
$self->topic($channel, $topic);

(Siehe auch Handler 'on_join' in 'irctest.pl'.)


Zur Event- bzw. Kick-Sache:
Aktionen wie '/k user' oder '/kick user' funktionieren so nicht, da dies ja nur Clientseitige Aliases sind.

Das sollte dir helfen:
Code: (dl )
$self->kick($channel, $user, $kick_msg);



Einfach nochmal nachfragen, falls etwas unklar ist.\n\n

<!--EDIT|smp|1115968929-->
J-jayz-Z
 2005-05-13 12:27
#37718 #37718
User since
2005-04-13
625 Artikel
BenutzerIn
[Homepage] [default_avatar]
Nein, nicht mIRC. Das ist ja Windows ;)
Ich werde es überleben *gg* Danke auf jeden Fall ! ! !
Ich denke aber mal, ich werde mal ne kleinigkeit zu dem Modul schreiben...
Wenn ich es ne Zeit lang nicht nutze, hab ich dann zumindest was zum nachlesen.
Aber ein Eintrag im Wiki wäre doch auch mal was, oder nicht?
perl -Mstrict -Mwarnings -e 'package blub; sub new { bless {} } sub bar {my $self=shift; $self->{bla}="5065726c2d436f6d6d756e697479"; return $self->{bla};} my $foo=blub->new();print "Hallo ";print pack("H*",$foo->bar()); print "\n"'

http://perl-tutor.de
Strat
 2005-05-13 15:33
#37719 #37719
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
zum topic: funktioniert vielleicht:
Code: (dl )
$self->topic($channel, $topic);
\n\n

<!--EDIT|Strat|1115984090-->
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
Strat
 2005-05-14 02:36
#37720 #37720
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
Code: (dl )
$self->mode($channel, '+o', $nick);

gibt jemanden einen op (wieder mal irctest...)

ueberpruefen, ob er op ist, das ist, wenn ich mich recht erinnere, nicht so einfach; ich glaube, da muss er ein $self->who($self->nick) oder whois absetzen, und eventuell 'o' als zweiten parameter uebergeben...
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
Strat
 2005-05-03 15:30
#37721 #37721
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
wenn du dir dieses Modul von CPAN downloadest und entpackst, gibt es dafuer ein testscript (weiss jetzt den namen nicht auswendig), in dem eine menge an infos drinnen steht. das hat mir damals sehr viel geholfen...
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
Strat
 2005-05-03 20:01
#37722 #37722
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
ich glaube, da reicht eine normale public nachricht, bei der ein /me am ende steht... aber meine irc-zeiten waren so vor 8-10 jahren...
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
betterworld
 2005-05-04 21:57
#37723 #37723
User since
2003-08-21
2613 Artikel
ModeratorIn

user image
"/me" ist ein ganz fuerchterlicher Hack, das steht nicht einmal im RFC:
Code: (dl )
$self->privmsg($target, "\001ACTION ". $msg . "\001");


(Ich kenne das Modul nicht... daher kann es sein, dass es dafuer auch noch eine Extra-Funktion gibt. Aber im Prinzip hat Strat recht: Intern wuerde es eh ueber privmsg laufen.)

Edit: Leerzeichen vergessen gehabt\n\n

<!--EDIT|betterworld|1115229523-->
coax
 2005-05-08 16:36
#37724 #37724
User since
2003-08-11
457 Artikel
BenutzerIn
[default_avatar]
Das kann so auch noch nicht laufen, jetzt ist dein Client wahrscheinlich mit den Server connected, tut aber nicht viel mehr als
nur Ressourcen zu verschleudern.

Net::IRC ist Event-basierend, wie Tk.
Fuer jeden IRC-Event (join, msg, public, etc.) musst du einen Handler schreiben, der auf den Event reagiert.
Um nach den Connect etwas zu machen schreibst du einen Handler wie
Code: (dl )
1
2
3
4
5
6
sub on_connect {
   my $self = shift;

   print "Joining Channel: $channel\n";
   $self->join($channel);
}

und machst ihn dann als Handler fuer diesen Event bekannt
Code: (dl )
$irc->add_global_handler('376' => \&on_connect);

376 ist die Nummer fuer "End of MOTD", ein Event der gleich nach einen erfolgreichen Connect auftritt.
Das nur als Beispiel, besser du liest dir ausfuehrlich die perldoc zu Net::IRC durch und nicht zu vergessen die RFCs die Dubu oben schon einmal gepostet hat.
Als vollstaendiges Beispiel kannst du dir das Beispielscript (irctest), dass mit dem Net::IRC-Modul ausgeliefert wird, anschauen.

Und Channel ist keine Option fuer newconn().\n\n

<!--EDIT|coax|1115556034-->
,,Das perlt aber heute wieder...'' -- Dittsche
J-jayz-Z
 2005-05-11 11:59
#37725 #37725
User since
2005-04-13
625 Artikel
BenutzerIn
[Homepage] [default_avatar]
Okay, das hab ich jetzt auch hin bekommen.
anstatt
Code: (dl )
$self->privmsg($channel, "Hallo");

einfach
Code: (dl )
$self->privmsg($nick, "Hallo");

Aber eine andere Frage. Wie stelle ich mit dem Modul Farben dar? ? ?
perl -Mstrict -Mwarnings -e 'package blub; sub new { bless {} } sub bar {my $self=shift; $self->{bla}="5065726c2d436f6d6d756e697479"; return $self->{bla};} my $foo=blub->new();print "Hallo ";print pack("H*",$foo->bar()); print "\n"'

http://perl-tutor.de
<< |< 1 2 3 4 >| >> 39 Einträge, 4 Seiten



View all threads created 2005-05-03 21:07.