Well, what I would do is use a prebuilt module such as Net::IRC or better yet, POE::Component::IRC to handle the service setup and event model. After that I would place my code in the on_join event, and do something like the following psudo code:
if ( exists $seenusers{"$nick"} ) { # I have seen the user
my $epochnow = time();
#check to see if enough time has gone by to say hello again.
+..
say_hello("$nick") if ($seenuser{"$nick"} - $epchnow >= $HiT
+imeDly );
# if that fails then we have said hello recently, don't do
+again...
} else {
#First time $nick has been seen...
say_hello("$nick");
}
sub say_hello {
my ($nick) = @_;
privmsg($nick, "hey there bud, welcome to $channel...\n");
$seenusers=time();
}
Now you will want to write it whithout using globals, and put more tests in there, and make a cleanup loop to clean the hash as the time to live is past so you dont get a huge hash after time. thats all up to you, that is just psudo code -- you will have to write your own app.
| [reply] [d/l] |
Yes, that would work nicely if it were a bot, however if you see the sample code this is not a bot it uses IO::Socket and it connects as a service...in reality its a ircd services server. Just stuck on sending a greeting to the user enterting a channel the rest I get..LOL one of them days I guess.
| [reply] |