in reply to Re: Net::OSCAR - a bot that will send and receive?
in thread Net::OSCAR - a bot that will send and receive?

I understand, and have this:
sub im_in { my($oscar, $sender, $message, $is_away) = @_; print "$sender: $message\n"; }
this handles messages received, and of course we use this:
$oscar->set_callback_im_in(\&im_in);
but the problem is, it doesnt do anything if I go inside a loop of sending messages every X amount of seconds like the example above, it never goes into the callback function, because its stuck inside the loop.. thats the problem im having.

Replies are listed 'Best First'.
Re^3: Net::OSCAR - a bot that will send and receive?
by kennethk (Abbot) on Dec 08, 2008 at 02:36 UTC

    I do not see the callback set in the code snippet you've posted. I'm fairly certain you need to call $oscar->set_callback_im_in(\&im_in) before you can expect that to be mapped. If it is called before your loop, then you should post the complete code where it is called (perhaps \&signon_done?). The do_one_loop method should call your im_in method if there's a message on the server (assuming your sleep(5) isn't causing connection problems).