Schrift
[thread]4305[/thread]

Net::IRC: Wie Aktionen ausfuehren?

Leser: 1


<< |< 1 2 3 4 >| >> 39 Einträge, 4 Seiten
Dubu
 2005-05-03 21:07
#37706 #37706
User since
2003-08-04
2145 Artikel
ModeratorIn + EditorIn

user image
Kann es sein, dass dir primaer die Lektuere von RFC 1459 bzw. RFC 2812 fehlt?
smp
 2005-05-07 14:00
#37707 #37707
User since
2005-05-03
12 Artikel
BenutzerIn
[default_avatar]
betterworld:
Danke fuer deinen Post. So funktioniert es. Sehr interessant, dass das ein Hack ist und keine besondere Funktion. Vielen Dank :)

J-jayz-Z:
Den ganzen Bot (derzeit noch v.005alpha) werde ich wohl nicht posten, da ich ihn irgendwann mal releasen moechte. Aber werde dir gern helfen. Beschreib doch mal genau, was du nicht hinbekommen hast und/oder zu was du Hilfe suchst.

Schon in die perldocs des Moduls geschaut?
Eingabeaufforderung => perldoc net::irc
J-jayz-Z
 2005-05-12 18:12
#37708 #37708
User since
2005-04-13
625 Artikel
BenutzerIn
[Homepage] [default_avatar]
nein, da wird kein Topic gesetzt. Es sieht zwar so aus, es ist aber nicht so :-(
Kann ich mit dem Bot auch irgendwie Leute kicken lassen?
Wenn ich nur die events abfange, bringt mir das ja eigentlich nur relativ wenig...
Für ne statistik oder so mag das ja recht interessant sein, aber wenn ich den Kerl irgendwelche events machen lassen will, bringt mir sowas ja goar nix...:-(
Hat da jemand Erfahrung und kann mir da helfen? Weil wenn ich ihm sage, dass er zum Beispiel
Code: (dl )
/k user
schreiben soll und den User somit kicken soll, funtzt das net...
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
renee
 2005-05-13 12:29
#37709 #37709
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
thumb_up @J-jayz-Z... Ein Wiki-Artikel wäre super!
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
betterworld
 2005-05-14 17:57
#37710 #37710
User since
2003-08-21
2613 Artikel
ModeratorIn

user image
[quote=J-jayz-Z,13.05.2005, 21:41]Kann ich en Bot irgendwie überprüfen lassen, ob er OP ist? ? ?[/quote]
Im Prinzip bekommt das ein IRC-Client (damit auch ein Bot) automatisch mitgeteilt. Er muss es sich nur noch merken... Soweit ich das sehe, bietet Net::IRC das Feature des Merkens nicht.

Dazu muesstest Du Handler fuer "mode" (Änderungen) und den Numeric 353 (kommt immer beim Joinen mitsamt einer Liste der Anwesenden und ihren Privilegien) erstellen.

Vielleicht hilft es ja, wenn Du in meinem IRC-Client (*werbung* http://pepe.is-a-geek.org/ppircii) ein bisschen vom Code anschaust, insbesondere rctn_MODE in Reactions.pm und adduser, setmode in Channel.pm und set in Mode.pm.

@smp:
Ich habe übrigens herausgefunden, dass man in Net::IRC das "/me" auch etwas eleganter machen kann:
Code: (dl )
$self->ctcp("ACTION", $target, $message);
\n\n

<!--EDIT|betterworld|1116079205-->
smp
 2005-05-03 15:09
#37711 #37711
User since
2005-05-03
12 Artikel
BenutzerIn
[default_avatar]
Hallo.

Ich nutze fuer einen IRC-Bot das Modul 'Net::IRC'. Der laeuft auch eigentlich gut, nur fehlen mir noch Aktionen wie Emotes, Nickchange, Notice usw. Leider findet man nur sehr wenig Hilfe zu diesem Modul.

Ich hoffe es kennt sich jemand mit dem Modul aus und kann mir helfen. Auch allerlei Tests fuehrten nie zum gewuenschten Erfolg.

mfG, smp.


Anhang:
=> Net::IRC (cpan.org)
smp
 2005-05-03 19:55
#37712 #37712
User since
2005-05-03
12 Artikel
BenutzerIn
[default_avatar]
Danke, ich schau nochmal nach.

Ja, mit Emote meine ich '/me'.


Edit:
Hab Nickchange gefunden. Danke nochmal fuer den Tipp, Strat.
smp
 2005-05-03 21:20
#37713 #37713
User since
2005-05-03
12 Artikel
BenutzerIn
[default_avatar]
Ja, sonst haette ich kein Modul gewaehlt. Der Bot ist nur ein kleines Spassprojekt nebenher.

Es fehlt ja jetzt auch nur noch 'Emote', dann hab ich alles was ich brauche. Werde mich irgendwann mal tiefer damit befassen.

Aber vielen Dank fuer die beiden Links.
J-jayz-Z
 2005-05-06 11:58
#37714 #37714
User since
2005-04-13
625 Artikel
BenutzerIn
[Homepage] [default_avatar]
@smp:
Könntest du vielleicht das script posten, das du geschrieben hast? Ich hatte damit auch mal ein Verständnissproblem und hab nichts gescheites darüber gefunden...:-(
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-09 23:58
#37715 #37715
User since
2005-05-03
12 Artikel
BenutzerIn
[default_avatar]
Bei Net::IRC ist ja schon ein Skript dabei, das den Aufbau von so einem Bot zeigt. Schau mal nach irctest.pl.

Oder vielleicht hilft dir das...

Net::IRC - connect & join
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#!/usr/bin/perl -w

use strict;
use Net::IRC;

my $channel = ""; # Der gewuenschte Channel (mit # vorran).
my $server = ""; # ...

my $irc = new Net::IRC;

print "Creating connection to IRC server...\n";

my $conn = $irc->newconn(Server => ($ARGV[0] || $server),
Port => 6667,
Nick => 'botnick',
Ircname => 'irc-name',
Username => 'username')
or die "irctest: Can't connect to IRC server.\n";

# Handler Subs:

sub on_connect {
my $self = shift;

print "Joining $channel...\n";
$self->join($channel);
$self->privmsg($channel, "Hallo Welt!");
}

# ... Weitere Handler-Subs ...

print "Installing handler routines...";

# ... Handler ....

# Globale Handler:

$conn->add_global_handler(376, \&on_connect);

# ... Weitere globale Handler ...

print " done.\n";

print "starting...\n";
$irc->start;


Ist zwar ungetestet, sollte aber funktionieren.\n\n

<!--EDIT|smp|1115670398-->
<< |< 1 2 3 4 >| >> 39 Einträge, 4 Seiten



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