in reply to persistant IM

I don't know anything about the "Big Brother monitor suite", but I imagine there might be a way to provide initialization code that's run when your module is loaded? If so, connect in there and have the message handler use the Net::AIM object you created in the init. Or, have the message handler connect if there isn't a Net::AIM object already, and then pass that object around where/when-ever you need it.

Anyway, seeing some code or a better description of how the process works for Big Brother might make for better answers.

Replies are listed 'Best First'.
Re: Re: persistant IM
by solitaryrpr (Acolyte) on Jan 16, 2004 at 06:04 UTC
    Big Brother (bb4.com) utilizes a pager script which can be user-defined. The script itself can be found at http://www.deadcat.net/3/aim. The script is essentially stand-alone and was based on the perldocs for Net::AIM and several AIMbots to see what was involved (it's not exactly the prettiest code I admit). It already has to initialize a connection but I'm unsure how to go about having it utilize an existing connection since the script is essentially run from scratch each time it's called.
      If your script gets run from scratch on every call, and you can't change that, it looks like you're going to have to split it into a client-server architechture. That means, have one piece (the server) that runs all the time, holding the AIM connection open, and listening for things to do from the other piece (the client), which gets rerun every time, and contacts the server script with whatever it has to send.

      There are several ways to communicate between client and server, try reading up on sockets and IPC in the perlipc manpage.

      C.

        Thanks, I was afraid it may require that. Ah well, at least I get to learn something new.