NAME

Net::ICQ - Communicate with a ICQ server

SYNOPSIS

use Net::ICQ;
  
$ICQ = Net::ICQ->new();
$ICQ->signon();

DESCRIPTION

Net::ICQ is a class implementing a simple ICQ client in Perl.

CONSTRUCTOR

new ( [ USERNAME, PASSWORD [, STATUS [, HOST [, PORT ] ] ] ])

Opens a connection to the ICQ server. Note this does not automatially log you into the server, you'll need to call login().

USERNAME defaults, in order, to the environment variables ICQUSER, USER then LOGNAME.

PASSWORD defaults to the contents of the file $HOME/.icqpw.

STATUS defaults to ONLINE.

HOST and PORT refer to the remote host to which a ICQ connection is required. Leave them blank unless you want to connect to a server other than Mirabilis.

The constructor returns the open socket, or undef if an error has been encountered.

OUTGOING - HIGH LEVEL FUNCTIONS

These are correspond with things you might want to do, rather than the actual packets in the protocol.

login ( UINs );

Logs you into the ICQ server, set contact list to UINs (reference to a hash keyed on number, values are names, requests saved messages) and other standard login-type things.

Search for a user. You can search by UIN, email, nickname or realname.

INCOMING - HIGH LEVEL FUNCTIONS

Copes with responses from the ICQ server.

incoming_packet_waiting ( TIMEOUT );

Check if there's something from the server waiting to be processed.

To have it block waiting for input, call it with no argument. Otherwise the argument is the number of seconds before it times out.

Do stuff.

OUTGOING - LOW LEVEL FUNCTIONS

These correspond directly with the packets available in the ICQ protocol.

send_ack ( SEQUENCE_NUMBER );

Send an ACK to the server, confirming we got packet SEQUENCE_NUMBER.

Just tells the server this connection's still alive. Send it every 2 minutes or so.

Tell the server who we're watching for, by UIN.

Send a message through the server to user UIN.

Send a message through the server to user UIN.

Search for a user by UIN.

Search for a user by UIN.

Request basic information about user UIN.

Request extended information about user UIN.

Update your ICQ status.

Update your ICQ password? What does this do?

INCOMING - LOW LEVEL FUNCTIONS

Copes with responses from the ICQ server at packet level.

receive_login_reply ( );

Receive the login packet from the ICQ socket and respond to it appropriately.

MISC FUNCTIONS

These don't correspond with anything much.

version ( );

Returns version information for this module.

dword_to_chars ( DWORD )

Returns the passed DWORD converted to Intel endian character sequence.

decimal_to_hex ( NUMBER )

Returns the passed NUMBER in hex representation as a string.

AUTHOR

Bek Oberin <gossamer@tertius.net.au>

COPYRIGHT

Copyright (c) 1998 Bek Oberin. All rights reserved.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

24 POD Errors

The following errors were encountered while parsing the POD:

Around line 143:

'=item' outside of any '=over'

Around line 217:

You forgot a '=back' before '=head1'

Around line 222:

'=item' outside of any '=over'

Around line 258:

=pod directives shouldn't be over one line long! Ignoring all 2 lines of content

Around line 297:

You forgot a '=back' before '=head1'

Around line 301:

'=item' outside of any '=over'

Around line 317:

=pod directives shouldn't be over one line long! Ignoring all 2 lines of content

Around line 378:

You forgot a '=back' before '=head1'

Around line 383:

'=item' outside of any '=over'

Around line 398:

=pod directives shouldn't be over one line long! Ignoring all 2 lines of content

Around line 414:

=pod directives shouldn't be over one line long! Ignoring all 2 lines of content

Around line 435:

=pod directives shouldn't be over one line long! Ignoring all 2 lines of content

Around line 454:

=pod directives shouldn't be over one line long! Ignoring all 2 lines of content

Around line 472:

=pod directives shouldn't be over one line long! Ignoring all 2 lines of content

Around line 487:

=pod directives shouldn't be over one line long! Ignoring all 2 lines of content

Around line 514:

=pod directives shouldn't be over one line long! Ignoring all 2 lines of content

Around line 531:

=pod directives shouldn't be over one line long! Ignoring all 2 lines of content

Around line 548:

=pod directives shouldn't be over one line long! Ignoring all 2 lines of content

Around line 568:

=pod directives shouldn't be over one line long! Ignoring all 2 lines of content

Around line 587:

You forgot a '=back' before '=head1'

Around line 591:

'=item' outside of any '=over'

Around line 744:

You forgot a '=back' before '=head1'

Around line 748:

'=item' outside of any '=over'

Around line 841:

You forgot a '=back' before '=head1'