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.
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.
|