diff --git a/src/xmpp/stanza.go b/src/xmpp/stanza.go
index 93431b7..b26f3f3 100644
--- a/src/xmpp/stanza.go
+++ b/src/xmpp/stanza.go
@@ -67,15 +67,16 @@ func (iq *Iq) Response(type_ string) *Iq {
// XMPP stanza.
type Message struct {
- XMLName xml.Name `xml:"message"`
- Id string `xml:"id,attr,omitempty"`
- Type string `xml:"type,attr,omitempty"`
- To string `xml:"to,attr,omitempty"`
- From string `xml:"from,attr,omitempty"`
- Subject string `xml:"subject,omitempty"`
- Body string `xml:"body,omitempty"`
- Thread string `xml:"thread,omitempty"`
- Error *Error `xml:"error"`
+ XMLName xml.Name `xml:"message"`
+ Id string `xml:"id,attr,omitempty"`
+ Type string `xml:"type,attr,omitempty"`
+ To string `xml:"to,attr,omitempty"`
+ From string `xml:"from,attr,omitempty"`
+ Subject string `xml:"subject,omitempty"`
+ Body []MessageBody `xml:"body,omitempty"`
+ Thread string `xml:"thread,omitempty"`
+ Error *Error `xml:"error"`
+ Lang string `xml:"xml:lang,attr,omitempty"`
Confir *Confirm `xml:"confirm"` // XEP-0070
@@ -86,6 +87,11 @@ type Message struct {
Gone *Gone `xml:"gone"` // XEP-0085
}
+type MessageBody struct {
+ Lang string `xml:"xml:lang,attr,omitempty"`
+ Value string `xml:",innerxml"`
+}
+
// XMPP stanza.
type Presence struct {
XMLName xml.Name `xml:"presence"`