Net::XMPP::Message.3pm

Langue: en

Version: 2008-11-06 (ubuntu - 08/07/09)

Section: 3 (Bibliothèques de fonctions)

NAME

Net::XMPP::Message - XMPP Message Module

SYNOPSIS

   Net::XMPP::Message is a companion to the Net::XMPP module.
   It provides the user a simple interface to set and retrieve all
   parts of an XMPP Message.
 
 

DESCRIPTION

   A Net::XMPP::Message object is passed to the callback function for
   the message.  Also, the first argument to the callback functions is
   the session ID from XML::Stream.  There are some cases where you
   might want thisinformation, like if you created a Client that
   connects to two servers at once, or for writing a mini server.
 
     use Net::XMPP;
 
     sub message {
       my ($sid,$Mess) = @_;
       .
       .
       .
     }
 
   You now have access to all of the retrieval functions available.
 
   To create a new message to send to the server:
 
     use Net::XMPP;
 
     $Mess = new Net::XMPP::Message();
 
   Now you can call the creation functions below to populate the tag
   before sending it.
 
 

METHODS

Retrieval functions

   GetTo()      - returns the value in the to='' attribute for the
   GetTo("jid")   <message/>.  If you specify "jid" as an argument
                  then a Net::XMPP::JID object is returned and
                  you can easily parse the parts of the JID.
 
                  $to    = $Mess->GetTo();
                  $toJID = $Mess->GetTo("jid");
 
   GetFrom()      - returns the value in the from='' attribute for the
   GetFrom("jid")   <message/>.  If you specify "jid" as an argument
                    then a Net::XMPP::JID object is returned and
                    you can easily parse the parts of the JID.
 
                    $from    = $Mess->GetFrom();
                    $fromJID = $Mess->GetFrom("jid");
 
   GetType() - returns the type='' attribute of the <message/>.  Each
               message is one of four types:
 
                 normal        regular message (default if type is blank)
                 chat          one on one chat
                 groupchat     multi-person chat
                 headline      headline
                 error         error message
 
               $type = $Mess->GetType();
 
   GetSubject() - returns the data in the <subject/> tag.
 
                  $subject = $Mess->GetSubject();
 
   GetBody() - returns the data in the <body/> tag.
 
               $body = $Mess->GetBody();
 
   GetThread() - returns the data in the <thread/> tag.
 
                 $thread = $Mess->GetThread();
 
   GetError() - returns a string with the data of the <error/> tag.
 
                $error = $Mess->GetError();
 
   GetErrorCode() - returns a string with the code='' attribute of the
                    <error/> tag.
 
                    $errCode = $Mess->GetErrorCode();
 
   GetTimeStamp() - returns a string that represents the time this
                    message object was created (and probably received)
                    for sending to the client.  If there is a
                    jabber:x:delay tag then that time is used to show
                    when the message was sent.
 
                    $date = $Mess->GetTimeStamp();
 
 

Creation functions

   SetMessage(to=>string|JID,    - set multiple fields in the <message/>
              from=>string|JID,    at one time.  This is a cumulative
              type=>string,        and over writing action.  If you set
              subject=>string,     the "to" attribute twice, the second
              body=>string,        setting is what is used.  If you set
              thread=>string,      the subject, and then set the body
              errorcode=>string,   then both will be in the <message/>
              error=>string)       tag.  For valid settings read the
                                   specific Set functions below.
 
                             $Mess->SetMessage(TO=>"bob\@jabber.org",
                                               Subject=>"Lunch",
                                               BoDy=>"Let's do lunch!");
                             $Mess->SetMessage(to=>"bob\@jabber.org",
                                               from=>"jabber.org",
                                               errorcode=>404,
                                               error=>"Not found");
 
   SetTo(string) - sets the to='' attribute.  You can either pass
   SetTo(JID)      a string or a JID object.  They must be valid JIDs
                   or the server will return an error message.
                   (ie.  bob@jabber.org/Work)
 
                   $Mess->SetTo("test\@jabber.org");
 
   SetFrom(string) - sets the from='' attribute.  You can either pass
   SetFrom(JID)      a string or a JID object.  They must be valid JIDs
                     or the server will return an error message. (ie.
                     jabber:bob@jabber.org/Work) This field is not
                     required if you are writing a Client since the
                     server will put the JID of your connection in
                     there to prevent spamming.
 
                     $Mess->SetFrom("me\@jabber.org");
 
   SetType(string) - sets the type attribute.  Valid settings are:
 
                       normal         regular message (default if blank)
                       chat           one one one chat style message
                       groupchat      multi-person chatroom message
                       headline       news headline, stock ticker, etc...
                       error          error message
 
                     $Mess->SetType("groupchat");
 
   SetSubject(string) - sets the subject of the <message/>.
 
                        $Mess->SetSubject("This is a test");
 
   SetBody(string) - sets the body of the <message/>.
 
                     $Mess->SetBody("To be or not to be...");
 
   SetThread(string) - sets the thread of the <message/>.  You should
                       copy this out of the message being replied to so
                       that the thread is maintained.
 
                       $Mess->SetThread("AE912B3");
 
   SetErrorCode(string) - sets the error code of the <message/>.
 
                          $Mess->SetErrorCode(403);
 
   SetError(string) - sets the error string of the <message/>.
 
                      $Mess->SetError("Permission Denied");
 
   Reply(hash) - creates a new Message object and populates the
                 to/from, and the subject by putting "re: " in
                 front.  If you specify a hash the same as with
                 SetMessage then those values will override the
                 Reply values.
 
                 $Reply = $Mess->Reply();
                 $Reply = $Mess->Reply(type=>"chat");
 
 

Removal functions

   RemoveTo() - removes the to attribute from the <message/>.
 
                $Mess->RemoveTo();
 
   RemoveFrom() - removes the from attribute from the <message/>.
 
                  $Mess->RemoveFrom();
 
   RemoveType() - removes the type attribute from the <message/>.
 
                  $Mess->RemoveType();
 
   RemoveSubject() - removes the <subject/> element from the
                     <message/>.
 
                     $Mess->RemoveSubject();
 
   RemoveBody() - removes the <body/> element from the
                  <message/>.
 
                  $Mess->RemoveBody();
 
   RemoveThread() - removes the <thread/> element from the <message/>.
 
                    $Mess->RemoveThread();
 
   RemoveError() - removes the <error/> element from the <message/>.
 
                   $Mess->RemoveError();
 
   RemoveErrorCode() - removes the code attribute from the <error/>
                       element in the <message/>.
 
                       $Mess->RemoveErrorCode();
 
 

Test functions

   DefinedTo() - returns 1 if the to attribute is defined in the
                 <message/>, 0 otherwise.
 
                 $test = $Mess->DefinedTo();
 
   DefinedFrom() - returns 1 if the from attribute is defined in the
                   <message/>, 0 otherwise.
 
                   $test = $Mess->DefinedFrom();
 
   DefinedType() - returns 1 if the type attribute is defined in the
                   <message/>, 0 otherwise.
 
                   $test = $Mess->DefinedType();
 
   DefinedSubject() - returns 1 if <subject/> is defined in the
                      <message/>, 0 otherwise.
 
                      $test = $Mess->DefinedSubject();
 
   DefinedBody() - returns 1 if <body/> is defined in the <message/>,
                   0 otherwise.
 
                   $test = $Mess->DefinedBody();
 
   DefinedThread() - returns 1 if <thread/> is defined in the <message/>,
                     0 otherwise.
 
                     $test = $Mess->DefinedThread();
 
   DefinedErrorCode() - returns 1 if <error/> is defined in the
                        <message/>, 0 otherwise.
 
                        $test = $Mess->DefinedErrorCode();
 
   DefinedError() - returns 1 if the code attribute is defined in the
                    <error/>, 0 otherwise.
 
                    $test = $Mess->DefinedError();
 
 

AUTHOR

Ryan Eatmon This module is free software, you can redistribute it and/or modify it under the LGPL.