1Net::XMPP::Message(3) User Contributed Perl DocumentationNet::XMPP::Message(3)
2
3
4

NAME

6       Net::XMPP::Message - XMPP Message Module
7

SYNOPSIS

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

DESCRIPTION

14         A Net::XMPP::Message object is passed to the callback function for
15         the message.  Also, the first argument to the callback functions is
16         the session ID from XML::Stream.  There are some cases where you
17         might want thisinformation, like if you created a Client that
18         connects to two servers at once, or for writing a mini server.
19
20           use Net::XMPP;
21
22           sub message {
23             my ($sid,$Mess) = @_;
24             .
25             .
26             .
27           }
28
29         You now have access to all of the retrieval functions available.
30
31         To create a new message to send to the server:
32
33           use Net::XMPP;
34
35           $Mess = new Net::XMPP::Message();
36
37         Now you can call the creation functions below to populate the tag
38         before sending it.
39

METHODS

41   Retrieval functions
42         GetTo()      - returns the value in the to='' attribute for the
43         GetTo("jid")   <message/>.  If you specify "jid" as an argument
44                        then a Net::XMPP::JID object is returned and
45                        you can easily parse the parts of the JID.
46
47                        $to    = $Mess->GetTo();
48                        $toJID = $Mess->GetTo("jid");
49
50         GetFrom()      - returns the value in the from='' attribute for the
51         GetFrom("jid")   <message/>.  If you specify "jid" as an argument
52                          then a Net::XMPP::JID object is returned and
53                          you can easily parse the parts of the JID.
54
55                          $from    = $Mess->GetFrom();
56                          $fromJID = $Mess->GetFrom("jid");
57
58         GetType() - returns the type='' attribute of the <message/>.  Each
59                     message is one of four types:
60
61                       normal        regular message (default if type is blank)
62                       chat          one on one chat
63                       groupchat     multi-person chat
64                       headline      headline
65                       error         error message
66
67                     $type = $Mess->GetType();
68
69         GetSubject() - returns the data in the <subject/> tag.
70
71                        $subject = $Mess->GetSubject();
72
73         GetBody() - returns the data in the <body/> tag.
74
75                     $body = $Mess->GetBody();
76
77         GetThread() - returns the data in the <thread/> tag.
78
79                       $thread = $Mess->GetThread();
80
81         GetError() - returns a string with the data of the <error/> tag.
82
83                      $error = $Mess->GetError();
84
85         GetErrorCode() - returns a string with the code='' attribute of the
86                          <error/> tag.
87
88                          $errCode = $Mess->GetErrorCode();
89
90         GetTimeStamp() - returns a string that represents the time this
91                          message object was created (and probably received)
92                          for sending to the client.  If there is a
93                          jabber:x:delay tag then that time is used to show
94                          when the message was sent.
95
96                          $date = $Mess->GetTimeStamp();
97
98   Creation functions
99         SetMessage(to=>string|JID,    - set multiple fields in the <message/>
100                    from=>string|JID,    at one time.  This is a cumulative
101                    type=>string,        and over writing action.  If you set
102                    subject=>string,     the "to" attribute twice, the second
103                    body=>string,        setting is what is used.  If you set
104                    thread=>string,      the subject, and then set the body
105                    errorcode=>string,   then both will be in the <message/>
106                    error=>string)       tag.  For valid settings read the
107                                         specific Set functions below.
108
109                                   $Mess->SetMessage(TO=>"bob\@jabber.org",
110                                                     Subject=>"Lunch",
111                                                     BoDy=>"Let's do lunch!");
112                                   $Mess->SetMessage(to=>"bob\@jabber.org",
113                                                     from=>"jabber.org",
114                                                     errorcode=>404,
115                                                     error=>"Not found");
116
117         SetTo(string) - sets the to='' attribute.  You can either pass
118         SetTo(JID)      a string or a JID object.  They must be valid JIDs
119                         or the server will return an error message.
120                         (ie.  bob@jabber.org/Work)
121
122                         $Mess->SetTo("test\@jabber.org");
123
124         SetFrom(string) - sets the from='' attribute.  You can either pass
125         SetFrom(JID)      a string or a JID object.  They must be valid JIDs
126                           or the server will return an error message. (ie.
127                           jabber:bob@jabber.org/Work) This field is not
128                           required if you are writing a Client since the
129                           server will put the JID of your connection in
130                           there to prevent spamming.
131
132                           $Mess->SetFrom("me\@jabber.org");
133
134         SetType(string) - sets the type attribute.  Valid settings are:
135
136                             normal         regular message (default if blank)
137                             chat           one one one chat style message
138                             groupchat      multi-person chatroom message
139                             headline       news headline, stock ticker, etc...
140                             error          error message
141
142                           $Mess->SetType("groupchat");
143
144         SetSubject(string) - sets the subject of the <message/>.
145
146                              $Mess->SetSubject("This is a test");
147
148         SetBody(string) - sets the body of the <message/>.
149
150                           $Mess->SetBody("To be or not to be...");
151
152         SetThread(string) - sets the thread of the <message/>.  You should
153                             copy this out of the message being replied to so
154                             that the thread is maintained.
155
156                             $Mess->SetThread("AE912B3");
157
158         SetErrorCode(string) - sets the error code of the <message/>.
159
160                                $Mess->SetErrorCode(403);
161
162         SetError(string) - sets the error string of the <message/>.
163
164                            $Mess->SetError("Permission Denied");
165
166         Reply(hash) - creates a new Message object and populates the
167                       to/from, and the subject by putting "re: " in
168                       front.  If you specify a hash the same as with
169                       SetMessage then those values will override the
170                       Reply values.
171
172                       $Reply = $Mess->Reply();
173                       $Reply = $Mess->Reply(type=>"chat");
174
175   Removal functions
176         RemoveTo() - removes the to attribute from the <message/>.
177
178                      $Mess->RemoveTo();
179
180         RemoveFrom() - removes the from attribute from the <message/>.
181
182                        $Mess->RemoveFrom();
183
184         RemoveType() - removes the type attribute from the <message/>.
185
186                        $Mess->RemoveType();
187
188         RemoveSubject() - removes the <subject/> element from the
189                           <message/>.
190
191                           $Mess->RemoveSubject();
192
193         RemoveBody() - removes the <body/> element from the
194                        <message/>.
195
196                        $Mess->RemoveBody();
197
198         RemoveThread() - removes the <thread/> element from the <message/>.
199
200                          $Mess->RemoveThread();
201
202         RemoveError() - removes the <error/> element from the <message/>.
203
204                         $Mess->RemoveError();
205
206         RemoveErrorCode() - removes the code attribute from the <error/>
207                             element in the <message/>.
208
209                             $Mess->RemoveErrorCode();
210
211   Test functions
212         DefinedTo() - returns 1 if the to attribute is defined in the
213                       <message/>, 0 otherwise.
214
215                       $test = $Mess->DefinedTo();
216
217         DefinedFrom() - returns 1 if the from attribute is defined in the
218                         <message/>, 0 otherwise.
219
220                         $test = $Mess->DefinedFrom();
221
222         DefinedType() - returns 1 if the type attribute is defined in the
223                         <message/>, 0 otherwise.
224
225                         $test = $Mess->DefinedType();
226
227         DefinedSubject() - returns 1 if <subject/> is defined in the
228                            <message/>, 0 otherwise.
229
230                            $test = $Mess->DefinedSubject();
231
232         DefinedBody() - returns 1 if <body/> is defined in the <message/>,
233                         0 otherwise.
234
235                         $test = $Mess->DefinedBody();
236
237         DefinedThread() - returns 1 if <thread/> is defined in the <message/>,
238                           0 otherwise.
239
240                           $test = $Mess->DefinedThread();
241
242         DefinedErrorCode() - returns 1 if <error/> is defined in the
243                              <message/>, 0 otherwise.
244
245                              $test = $Mess->DefinedErrorCode();
246
247         DefinedError() - returns 1 if the code attribute is defined in the
248                          <error/>, 0 otherwise.
249
250                          $test = $Mess->DefinedError();
251

AUTHOR

253       Ryan Eatmon
254
256       This module is free software, you can redistribute it and/or modify it
257       under the LGPL.
258
259
260
261perl v5.10.1                      2010-11-12             Net::XMPP::Message(3)
Impressum