Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Claudio Neto

[Resolvido] Chat com msn

Recommended Posts

O msn disponibiliza um código para colocarmos em nosso site que permite ao usuário conversar comigo sem precisar me adicionar.

Funciona que é uma belezinha, porém eles disponibilizam apenas três leiautes diferentes para o botão, e meu cliente gostaria de usar seu próprio.

 

Alguém sabe se existe alguma outra forma de criar uma conexão com o msn fora as formas que eles disponibilizam para que eu possa usar um botão personalizado?

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Claudio Neto, o botão é de menos.. faça a imagem que você quiser..

 

só aplicando o href que eles informarem.. simples assim.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Rodrigo, já ouviu falar em extrangeirismo? Extrangeirismo é o ato do português "importar" palavras extrangeiras para nosso idioma. Assim como pizza, jíu-jitsu e deletar foram importadas, layout também foi. Mas quando entra em nosso idioma, sofre alterações. Repare que jíu-jitsu em português tem acento. Leiaute também sofreu modificações para se adaptar ao nosso idioma.

 

Tendesti?

 

Então Willian, a coisa não é tão simples assim. O código que eles disponibilizam fica assim:

 

<!--MSN:-->
<script type="text/javascript" src="http://settings.messenger.live.com/controls/1.0/PresenceButton.js"></script>

<div id="Microsoft_Live_Messenger_PresenceButton_5c57a68eccf3417c" msgr:width="100" msgr:backColor="#DBDBDB" msgr:altBackColor="#FFFFFF" msgr:foreColor="#424542" msgr:conversationUrl="http://settings.messenger.live.com/Conversation/IMMe.aspx?invitee=5c57a68eccf3417c@apps.messenger.live.com&mkt=en-US&useTheme=true&themeName=gray&foreColor=676769&backColor=DBDBDB&linkColor=444444&borderColor=8D8D8D&buttonForeColor=99CC33&buttonBackColor=676769&buttonBorderColor=99CC33&buttonDisabledColor=F1F1F1&headerForeColor=729527&headerBackColor=B2B2B2&menuForeColor=676769&menuBackColor=BBBBBB&chatForeColor=99CC33&chatBackColor=EAEAEA&chatDisabledColor=B2B2B2&chatErrorColor=760502&chatLabelColor=6E6C6C"></div>

<script type="text/javascript" src="http://messenger.services.live.com/users/5c57a68eccf3417c@apps.messenger.live.com/presence?dt=&mkt=en-US&cb=Microsoft_Live_Messenger_PresenceButton_onPresence"></script>

Eles já geram o código pronto para copiar no site. E quando estou online o botão indica.

Compartilhar este post


Link para o post
Compartilhar em outros sites

pega o ultimo.. que é apenas o ícone..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você diz apenas trocar o src que está lá pelo endereço da imagem que quero?

 

Vou tentar e depois posto o resultado.

 

Obrigado Bruno...

 

 

Edit: Não deu certo não Bruno. A imagem nem ao menos aparece na tela.

Acho que não rola não, porque aquilo nem é um input, ele está pegando a imagem em um js.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu também já sofri para encontrar esta solução e não encontrei nada Claudio. Meu conselho é que utilize o ícone simples mesmo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

<button id="startMessenger">Verificando status...</button>

 

var config = new Object();
config.messengerUrl = 'http://settings.messenger.live.com/Conversation/IMMe.aspx';
config.invitee = '5c57a68eccf3417c';
config.width = '300px';
config.height = '300px';
config.settings = new Object();
config.settings.mkt = 'en-US';
config.settings.useTheme = 'true';
config.settings.themeName = 'gray';
config.settings.foreColor = '676769';
config.settings.backColor = 'DBDBDB';
config.settings.linkColor = '444444';
config.settings.borderColor = '8D8D8D';
config.settings.buttonForeColor = '99CC33';
config.settings.buttonBackColor = '676769';
config.settings.buttonBorderColor = '99CC33';
config.settings.buttonDisabledColor = 'F1F1F1';
config.settings.headerForeColor = '729527';
config.settings.headerBackColor = 'B2B2B2';
config.settings.menuForeColor = '676769';
config.settings.menuBackColor = 'BBBBBB';
config.settings.chatForeColor = '99CC33';
config.settings.chatBackColor = 'EAEAEA';
config.settings.chatDisabledColor = 'B2B2B2';
config.settings.chatErrorColor = '760502';
config.settings.chatLabelColor = '6E6C6C';
config.statusUrl = 'http://messenger.services.live.com/users/' + config.invitee + '@apps.messenger.live.com/presence';

function startMessenger(){
	var url = config.url + 'invitee=' + config.invitee + '@apps.messenger.live.com';
	for(var i in config.settings) url += '&' + i + '=' + config.settings[i];
	url += '&buttonhost=' + document.location.hostname;
	window.open(url, '_blank', 'height=' + config.height + ', width=' + config.width);
}

function getStatus(){
	var statInfo = new Array();
	statInfo[0] = 'dt=';
	statInfo[1] = 'mkt=' + config.settings.mkt;
	statInfo[2] = 'cb=setStatus';
	var script = document.createElement('script');
	script.type = 'text/javascript';
	script.src = config.statusUrl + '?' + statInfo.join('&');
	document.getElementsByTagName('head').item(0).appendChild(script);
}

window.onload = function(){
	getStatus();
    document.getElementById('startMessenger').onclick = startMessenger;
}

function setStatus(info){
	var status = info.status;
	document.getElementById('startMessenger').innerHTML = status;
}

Basta adicionar os "efeitos" dentro da função setStatus (que eu coloquei por último).

A lógica a ser aplicada é simples:

 

if(status == 'Offline') { /* estilo do botão offline */ }
else { /* estilo do botão online */ }

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então João, eu por mim deixava, mas não sou eu quem escolho... rs

 

Evandro, sua dica parece ser muito legal. Testarei a noite e posto aqui.

 

Sabe como eu faço para adquirir o invitee caso queira trocar? O msn mudou todo o site, da forma como eu tinha pego o codigo do botão antes não existe mais.

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então João, eu por mim deixava, mas não sou eu quem escolho... rs

 

Evandro, sua dica parece ser muito legal. Testarei a noite e posto aqui.

 

Sabe como eu faço para adquirir o invitee caso queira trocar? O msn mudou todo o site, da forma como eu tinha pego o codigo do botão antes não existe mais.

 

Obrigado.

 

Na verdade, nunca trabalhei com essa ferramenta. Bolei os códigos processando os arquivos .js do seu código. Não vou poder te ajudar neste sentido.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Entendi.

 

Na verdade, não consegui fazer dar certo não. Não falei com o cliente para pedir que ele ficasse online e testar, então essa parte não testei.

Mas quando clico no botão, estando offline o popup que abre não encontra a página correta. Não sei se é pelo fato de estar offline ou se realmente está com erro. Perguntei se sabia como alterar porque ai testava com o meu.

 

Mas vejo se consigo falar com ele ainda hoje para testar.

 

Valeu.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mil perdões, falha primária minha.

 

Essa linha

var url = config.url + 'invitee=' + config.invitee + '@apps.messenger.live.com';

troca por isso

var url = config.messengerUrl + '?invitee=' + config.invitee + '@apps.messenger.live.com';

Agora eu testei e deu certo (mas deu contato offline).

 

Só uma sugestão: Verifique se invitee não é o PID do usuário @live

Compartilhar este post


Link para o post
Compartilhar em outros sites

Maravilha Evandro, agora realmente funcionou direitinho.

 

A correção do url pelo messengerUrl eu tinha feito, mas não tinha colocado o "?".

 

Cara, show de bola, parabéns mesmo. Não achei isso em lugar nenhum.

 

'Brigadão heim...

 

Abraços, fique com Deus.

 

Evandro, o chat abre, mas não consegue identificar o estado quando está online. Sabe o que posso alterar?

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Quem não consegue? O botão ou a janela externa do bate-papo? Se for o bate-papo deveremos recorrer à documentação do mesmo. Que eu desconheço onde esteja, como disse, nunca tinha utilizado essa ferramenta antes.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Depure a função setStatus

 

function setStatus(info){
        var status = info.status;
        document.getElementById('startMessenger').innerHTML = status;
}

Se ela retornar sempre offline, o problema pode ser o código do invitee

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.