[FIX] fixed code/password forever waiting
[UPD] now completely removing session (from fs too) when /logout
[UPD] most of log messages moved to debug
[UPD] updated help message
query=(delete)?"DELETE FROM users where jid = '%s';"%jid.to_s:"INSERT OR REPLACE INTO users(jid, tg_login) VALUES('%s', '%s');"%[jid.to_s,@sessions[jid].tg_login.to_s]
# @@transport.add_iq_callback do |iq| self.iq_handler(iq) end
@logger.info"Connection established"
self.load_db()
@logger.info'Found %s sessions in database.'%@sessions.count
@sessions.eachdo|jid,session|
@logger.info"Sending presence to %s"%jid
@logger.debug"Sending presence to %s"%jid
p=Jabber::Presence.new()
p.to=jid
p.from=@@transport.jid
@ -64,7 +84,7 @@ class XMPPComponent
end
Thread.stop()
rescueException=>e
@logger.info'Connection failed: %s'%e
@logger.error'Connection failed: %s'%e
@db.close
exit1
end
@ -82,7 +102,7 @@ class XMPPComponent
end
defpresence_handler(presence)
@logger.info"New presence iq received"
@logger.debug"New presence iq received"
@logger.debug(presence)
ifpresence.type==:subscribethenreply=presence.answer(false);reply.type=:subscribed;@@transport.send(reply);end# send "subscribed" reply to "subscribe" presence
ifpresence.to==@@transport.jidand@sessions.key?presence.from.bare.to_sandpresence.type==:unavailablethen@sessions[presence.from.bare.to_s].offline!;return;end# go offline when received offline presence from jabber user
@ -192,13 +214,13 @@ class XMPPSession < XMPPComponent
# queue message (we will share this queue within :message_queue to Telegram client thread) #
defqueue_message(to,text='')
@logger.info"Queuing message to be sent to Telegram network user -> "%to
@logger.debug"Queuing message to be sent to Telegram network user -> "%to
@message_queue<<{to:to.split('@')[0],text:text}
end
# enter auth data (we will share this data within :tg_auth_data to Telegram client thread ) #
defenter_auth_data(typ,data)
@logger.info"Authorizing in Telegram network with :%s"%typ
@logger.info"Authenticating in Telegram network with :%s"%typ
@tg_auth_data[typ.to_sym]=data
end
@ -206,6 +228,6 @@ class XMPPSession < XMPPComponent
# session status #
defonline?()@onlineend
defonline!()@online =true;@tg_auth={};self.subscription_req(nil);self.presence_update(nil,nil,"Logged in as "+@tg_login.to_s)end
defonline!()@logger.info"Connection established";@online=true;self.subscription_req(nil);self.presence_update(nil,nil,"Logged in as "+@tg_login.to_s)end