Beefy Boxes and Bandwidth Generously Provided by pair Networks
No such thing as a small change
 
PerlMonks  

Re: Re: Need more help with aimbot =)

by Sleepaholic88 (Novice)
on Mar 11, 2003 at 00:48 UTC ( [id://241894]=note: print w/replies, xml ) Need Help??


in reply to Re: Need more help with aimbot =)
in thread Need more help with aimbot =)

Thanks, but actually, I just needed this part:
if($msg =~ /so?r?ry/) { # Increase and save the count. writecount($filename, ++$count); }
but i replace $filename with $screenname.emo, or whatever variable the for the screenname is, right? Thanks.

Replies are listed 'Best First'.
Re: Re: Re: Need more help with aimbot =)
by DarknessX (Scribe) on Mar 11, 2003 at 01:39 UTC
    Do you have to write this to a file? It would make more sense to me to store it in a hash with the screen name, i.e.
    my %sorry; if ($msg=~/so?r?ry/){ ++$sorry{"$screenname"}; }
    but of course, you may need the file for something else, in which case I'd just store it in a hash anyway and replace the number in the file when you got a 'sry' in a message.
Re3: Need more help with aimbot =)
by bbfu (Curate) on Mar 11, 2003 at 02:18 UTC

    but i replace $filename with $screenname.emo, or whatever variable the for the screenname is, right?

    Assuming you are certain $screenname doesn't contain anything except alpha-numeric characters (for instance, the character '/' could cause some havoc, though don't assume that's the only character to watch out for), then yes. You can replace $filename with something like "$screenname.emo"

    DarknessX has a good point, though. If you don't need the count to be persistent across invocations of your bot (and you don't need the file for some other process), you would be better off just storing the count in a hash, as this would save a lot of (unnecessary) file I/O.

    bbfu
    Black flowers blossum
    Fearless on my breath

      Actualy, the security issues here are easy to deal with. Use the normalized screenname, not the formatted screenname. A little bit of background: In AIM scrennnames, only alphnumerics are significant, and those are case-insignificant. You can change the case and spacing, and add extra chacaters, to scrennnames at any time (there's somthing under file/preferences to do it in WinAIM, IIRC, or under tools/protocol actions in GAIAM). Thus, when comparing or storing scrennames for long terms, you should use the normalized name, which is defined as $sn=lc $sn; s/[^a-z0-9]//g, more or less. Naturaly falling out of this is that normalized screen names are always valid filenames on any reasonable platform (which doesn't include plain old DOS, in which filenames are too short -- IIRC SNs now have a limit of 18 or so chars in normal form.)


      Warning: Unless otherwise stated, code is untested. Do not use without understanding. Code is posted in the hopes it is useful, but without warranty. All copyrights are relinquished into the public domain unless otherwise stated. I am not an angel. I am capable of error, and err on a fairly regular basis. If I made a mistake, please let me know (such as by replying to this node).

      Well, actually, i will be using it for other things. For example, in the near future, I hope to have the bot have different replies to certain phrases depending on how the person had talked to it before. For example:

      <screenname was nice in the past:>
      Screenname: $^%# you!!
      TestAIMBot: What happened? You used to be nice to me before!

      <Screenname was not nice to it in the past:>
      Screenname: $^%# you!!
      TestAIMBot: Well, that's normal of $RealName. Why don't you just warn me so I can block you?

      But I am glad to say that the "sorry" thing was tested and works perfectly! mowgli, Nkuvu, bbfu (of course!), and DarknessX THANKS VERY MUCH!
      Feel free to talk to my bot (TestAIMBot), or me (Sleepaholic88).
      I know that my bot is very stupid right now, but sooner or later, it will be better!

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://241894]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others learning in the Monastery: (3)
As of 2024-04-25 06:18 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found