taksan / skype-java-api

Skype API for Java, based on Skype4Java library
128 stars 60 forks source link

Problem with integration of MSN users #31

Closed fabiodepin closed 11 years ago

fabiodepin commented 11 years ago

I'm using it to make the interaction with Skype, but recently with the migration from MSN to Skype, I realized that messages from users migrated from MSN to Skype are not being addressed, or shown by the API. -So, I wonder if now you are aware this problem, and now have a solution, or can help me to do something.

I'll be grateful for any help. Thank you.

taksan commented 11 years ago

Hi,

I still didn't tried to use the API with migrated accounts. Tell me, does skype client show these MSN histories?

Kind regards

fabiodepin commented 11 years ago

Hi,

If you have something that can help me thank you. I can also help in the modification and testing of the API if I drive. Thank you.

fabiodepin commented 11 years ago

Rechecking realized that the contacts migrated to MSN or MSN ancient at the bottom of the window we type the message appears "via messenger" when the contact is already appears Skype "Skype".

Can you imagine some form of contornarmos this?

taksan commented 11 years ago

Por favor, escreva em português o que você tentou traduzir porque essa tradução ficou muito estranha. Grato

fabiodepin commented 11 years ago

ok. Efetuei novos testes sobre o problema e percebi que quando vamos enviar uma mensagem para os contatos migrados para o MSN ou contatos que ainda utilizam MSN, na parte inferior da janela onde escrevemos a mensagem aparece "via messenger" diferente de quando o contato é do Skype, que daí aparece "via Skype".

fabiodepin commented 11 years ago

corrigindo, são contatos migrados do MSN, não "para o MSN como escrevi acima"

fabiodepin commented 11 years ago

Estive olhando a tabela 'Messages' do arquivo main.db do Skype e percebi que quando são enviadas mensagens para usuários do MSN a coluna 'chatname' fica em branco. Com isso o comando 'GET CHAT " + getId() + " CHATMESSAGES' utilizado no método 'getAllChatMessages' e provavelmente em outros da API não consegue trazer os dados destas mensagens enviadas para usuários do MSN.

fabiodepin commented 11 years ago

Opa... Estive fazendo diversos testes e estudos até mesmo sobre o protocolo do Skype, e a conclusão que cheguei é que através da API atual do Skype (skype4com, skype4java) não é possível criar listener ou recuperar dados das mensagens de texto quando estas são enviadas para contatos 'via messenger'.

Porém verificando a base de dados do arquivo '%appdata%/Skype//main.db' percebi que estas mensagens são armazenadas (mas sem o valor do campo 'chatname'). Então, para resolver o problema para ao menos ser possível recuperar estes dados farei um método que execute um select na tabela messages por linhas que tenham o chatname em branco.

No mais, agradeço a atenção de todos.