Bruno, estou tentando seguir suas dicas, mas uma pergunta, não entendi direito 
o que seria o passo 3.

3) Crie um construtor decente para sua classe usando uma sub BUILD [1]....


From: [email protected]
Date: Sat, 7 Jul 2012 11:27:20 -0300
To: [email protected]
Subject: Re: [Rio-pm] Tk travando, devo usar threads?

2012/7/7 Aureliano Guedes <[email protected]>






Entendi, mas o que acontece é o seguinte, as paginas do vbshout.php apesar de 
não terem o SECURITYTOKEN elas precisam dele, então acredito que há alguma 
verificação nos cookies, tanto que que se não estiver logado o que verei nessa 
pagina 
http://www.forum-invaders.com.br/vb/vbshout.php?type=activeusers&do=ajax&action=fetch&instanceid=2
 será isso:


{"ajax":"fetch","content":"There are currently no users 
chatting.","activeusers":"0"}

e não isso:

{um monte de coisa}



Exato Aureliano, leia o que eu escrevi com calma...O que eu disse fui 
justamente que esse {um monte de coisa} não contem nem o SECURITYTOKEN, nem 
nenhum "Bem-vindo"... logo sua função send_msg está *ERRADA*, pois ela espera 
que o $url esteja em um estado, porém em alguns (vários?) casos ela não estará.


Além disso, esse "if($content =~ /Bem-vindo/gi)" não garante que você está 
logado ou não... eu como guest consigo ver a página inicial do fórum com isso.
Minha sugestão para o Shoutbox.pm:

1) Crie um método de login, e tire do "código global" do pacote Shoutbox.pm.2) 
Crie um método para verificar se está logado, creio que fazendo do método 
atual, verificando o SECURITYTOKEN, deve funcionar de boa.

3) Crie um construtor decente para sua classe usando uma sub BUILD [1] (pessoal 
mais experiente com Moose, se eu estiver falando besteira me corrija por 
favor). Nela você já pode tentar fazer um login inicial usando a função criada 
em (1) e já guardar o seu SECURITYTOKEN.

4) Modifique a sua send_msg para fazer exatamente o seguinte: - Verifique se 
está logado (2). Se não, logue (1). (Talvez você queira fazer umas 3 tentativas 
antes de desistir, retornando algum erro.)

 - Envie a mensagem.5) Faça a mesma coisa do passo anterior para sua função 
get_msg.6) Adicione alguns testes na sua classe :D


[ ]'s


[1] https://metacpan.org/module/Moose::Manual::Construction#BUILD
-- 
Bruno C. Buss
http://www.brunobuss.net




_______________________________________________
Rio-pm mailing list
[email protected]
http://mail.pm.org/mailman/listinfo/rio-pm                                      
  
_______________________________________________
Rio-pm mailing list
[email protected]
http://mail.pm.org/mailman/listinfo/rio-pm

Responder a