Debug_.Printf("handleEventsforXMPP<-jabber_events: %T %+v", je, je)
simple_jid := removeJIDResource(je.JID)
jid_data, jid_in_map := botdata.realraum_jids_[simple_jid]
Debug_.Printf("handleEventsforXMPP<-jabber_events: %T %+v", je, je)
simple_jid := removeJIDResource(je.JID)
jid_data, jid_in_map := botdata.realraum_jids_[simple_jid]
//send status if requested, even if user never changed any settings and thus is not in map
if last_status_msg != nil && je.StatusNow {
xmppout <- botdata.makeXMPPMessage(je.JID, last_status_msg, nil)
}
//send status if requested, even if user never changed any settings and thus is not in map
if last_status_msg != nil && je.StatusNow {
xmppout <- botdata.makeXMPPMessage(je.JID, last_status_msg, nil)
}
if jid_in_map {
//if R3OnlineOnlyWithRecapInfo, we want a status update when coming online
if last_status_msg != nil && ! jid_data.Online && je.Online && jid_data.Wants == R3OnlineOnlyWithRecapInfo {
if jid_in_map {
//if R3OnlineOnlyWithRecapInfo, we want a status update when coming online
if last_status_msg != nil && ! jid_data.Online && je.Online && jid_data.Wants == R3OnlineOnlyWithRecapInfo {
- if stanza.GetHeader() == nil {
- continue
+ if stanza.GetHeader() == nil { continue }
+ if stanza.GetHeader().Error != nil {
+ Syslog_.Printf("XMPP Presence Error: %s", stanza.GetHeader().Error.Error())
jabber_events <- JabberEvent{stanza.GetHeader().From, true, R3NoChange, false}
}
case *xmpp.Iq:
jabber_events <- JabberEvent{stanza.GetHeader().From, true, R3NoChange, false}
}
case *xmpp.Iq:
- if stanza.GetHeader() == nil {
- continue
+ if stanza.GetHeader() == nil { continue }
+ if stanza.GetHeader().Error != nil {
+ Syslog_.Printf("XMPP Iq Error: %s", stanza.GetHeader().Error.Error())
botdata.my_jid_ = loginjid
botdata.my_login_password_ = loginpwd
botdata.auth_timeout_ = 3600*2
botdata.my_jid_ = loginjid
botdata.my_login_password_ = loginpwd
botdata.auth_timeout_ = 3600*2