Sobre o bot em geral


Páginas (6): « Anterior 1 2 3 4 5 6 Próximo »
 
Avaliação do Tópico:
  • 0 Votos - 0 Média
  • 1
  • 2
  • 3
  • 4
  • 5
0 votos
75 respostas neste tópico
 #16
(12/04/2014, 11:13)Felps Escreveu: Por que tem esse check('room')? Se o def já tem o 'room', não é só colocar check()?

vai dar erro...
 #17
@martec, fiz umas mudanças aqui e recebi esse erro:

Citar:same
same
same
same
same
same
same
same
same
same
same
same
same
same
same
same
same
same
same
postando

Traceback (most recent call last):
 File "C:\Users\Felipe\Documents\bot\testbot2.py", line 32, in <module>
   testbot.easy_start(roomList, "teste300194", "fe300194")
 File "C:\Users\Felipe\Documents\bot\ch.py", line 3247, in easy_start
   self.main()
 File "C:\Users\Felipe\Documents\bot\ch.py", line 3226, in main
   self._tick()
 File "C:\Users\Felipe\Documents\bot\ch.py", line 3136, in _tick
   task.func(*task.args, **task.kw)
 File "C:\Users\Felipe\Documents\bot\testbot2.py", line 23, in checkPosts
   room.message(author+" postou no tテウpico "+title+link)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 12: ordinal not in range(128)

O código está assim:
Código PHP:
import ch
import random
import time
threading
import os
import feedparser

class TestBot(ch.RoomManager):
     def checkPosts(selfroom):
                 feed feedparser.parse('http://bakaforum.info/bakanewposts.php?type=atom1.0')
                 for entry in feed.entries:
                     lastupdated entry.get('updated')
                 time.sleep(2)
                 feed feedparser.parse('http://bakaforum.info/bakanewposts.php?type=atom1.0')
                 for entry in feed.entries:
                     updated entry.get('updated')
                     author entry.get('author')
                     title entry.get('title')
                     link entry.get('id'
                 if(lastupdated==updated):
                   print "same"
                 else:
                   print "postando"
                   room.message(author+" postou no tópico "+title+link)

     def onConnect(selfroom):
               self.setInterval(2self.checkPostsroom)
               
testbot 
TestBot()
roomList = ["ugtforumanime"]
usePM False          

testbot
.easy_start(roomList"teste300194""fe300194"
 #18
(12/04/2014, 11:41)Felps Escreveu: @martec, fiz umas mudanças aqui e recebi esse erro:


O código está assim:
Código PHP:
import ch
import random
import time
threading
import os
import feedparser

class TestBot(ch.RoomManager):
     def checkPosts(selfroom):
                 feed feedparser.parse('http://bakaforum.info/bakanewposts.php?type=atom1.0')
                 for entry in feed.entries:
                     lastupdated entry.get('updated')
                 time.sleep(2)
                 feed feedparser.parse('http://bakaforum.info/bakanewposts.php?type=atom1.0')
                 for entry in feed.entries:
                     updated entry.get('updated')
                     author entry.get('author')
                     title entry.get('title')
                     link entry.get('id'
                 if(lastupdated==updated):
                   print "same"
                 else:
                   print "postando"
                   room.message(author+" postou no tópico "+title+link)

     def onConnect(selfroom):
               self.setInterval(2self.checkPostsroom)
               
testbot 
TestBot()
roomList = ["ugtforumanime"]
usePM False          

testbot
.easy_start(roomList"teste300194""fe300194"
é porque no room.message() nao pode ter caracteres especiais, é só substituir o "ó" por "o"
 #19
Código PHP:
import ch
import time
import feedparser

class TestBot(ch.RoomManager):
 
     def check
(selfroom):
                 feed feedparser.parse('http://bakaforum.info/bakanewposts.php?type=atom1.0')
                 xml feed.entries[0
                 lastupdated xml['updated']
                 time.sleep(3)
                 feed feedparser.parse('http://bakaforum.info/bakanewposts.php?type=atom1.0')
                 xml feed.entries[0
                 updated xml['updated']
                 author xml['author']
                 title xml['title']
                 link xml['id'
                 if(lastupdated==updated):
                   print "same"
                 else:
                   print "postando"
                   mesg ' postou no tópico '.decode("utf8")
                   room.message(author+mesg+title+' '+link)
                   
     def onConnect
(selfroom):
              self.setInterval(3self.checkroom)
              
testbot 
TestBot()
roomList = ["ugtforumanime"]
usePM False          

testbot
.easy_start(roomList"teste300194""fe300194"  

código funcional...
e no ch.py todos os lugares que tiver decode() terá que substituir por decode('utf8') e .join(args).encode() por .join(args).encode('utf8') .. se não dá o erro de UnicodeDecodeError

mas não funciona no google app engine... Icon_e_sad

dá seguinte erro:

urlfetch_stub.py:480] Stripped prohibited headers from URLFetch request: ['Host']

pelo que li por ai é limitação de googe app engine...

então teremos que ver outro hospedagem de python...
tava vendo https://www.pythonanywhere.com ...
mas eu nem sei de onde começar... bem diferente com esquema de google app engine..
se alguém quiser testar se dá por esse bot no pythonanywhere fico grato...
 #20
(12/04/2014, 22:58)martec Escreveu:
Código PHP:
import ch
import time
import feedparser

class TestBot(ch.RoomManager):
 
     def check
(selfroom):
                 feed feedparser.parse('http://bakaforum.info/bakanewposts.php?type=atom1.0')
                 xml feed.entries[0
                 lastupdated xml['updated']
                 time.sleep(3)
                 feed feedparser.parse('http://bakaforum.info/bakanewposts.php?type=atom1.0')
                 xml feed.entries[0
                 updated xml['updated']
                 author xml['author']
                 title xml['title']
                 link xml['id'
                 if(lastupdated==updated):
                   print "same"
                 else:
                   print "postando"
                   mesg ' postou no tópico '.decode("utf8")
                   room.message(author+mesg+title+' '+link)
                   
     def onConnect
(selfroom):
              self.setInterval(3self.checkroom)
              
testbot 
TestBot()
roomList = ["ugtforumanime"]
usePM False          

testbot
.easy_start(roomList"teste300194""fe300194"  

código funcional...
e no ch.py todos os lugares que tiver decode() terá que substituir por decode('utf8') e .join(args).encode() por .join(args).encode('utf8') .. se não dá o erro de UnicodeDecodeError

mas não funciona no google app engine... Icon_e_sad

dá seguinte erro:

urlfetch_stub.py:480] Stripped prohibited headers from URLFetch request: ['Host']

pelo que li por ai é limitação de googe app engine...

então teremos que ver outro hospedagem de python...
tava vendo https://www.pythonanywhere.com ...
mas eu nem sei de onde começar... bem diferente com esquema de google app engine..
se alguém quiser testar se dá por esse bot no pythonanywhere fico grato...

Eu vou testar aqui. Aliás, vc disse que preciso editar o ch.py né? Vou fazer isso imediatamente.
 #21
(12/04/2014, 23:03)Felps Escreveu: Eu vou testar aqui. Aliás, vc disse que preciso editar o ch.py né? Vou fazer isso imediatamente.

só tome cuidado com decode() que tem vários se não me engano...
então tem que substituir mais de uma vez...
 #22
@martec Eu editei tudo o que você disse e mesmo assim deu erro =/

[Imagem: 86tds.png]

Talvez eu esteja fazendo algo errado...
 #23
@Felps

caso dê certo...
acho que ficaria melhor mudar nick de bot em Baka Fórum Bot ou algo semelhante...
e tbm cor da fonte do BOT...

só usar enfiar o código abaixo

Código PHP:
def onInit(self):
    
self.setNameColor("F9F")
    
self.setFontColor("F33")
    
self.setFontFace("1")
    
self.setFontSize(10)
    
self.enableBg()
    
self.enableRecording() 

Ps. a cor não precisa ser F9F , F33 etc... apenas copiei o código de "examplebot.py"

(12/04/2014, 23:15)Felps Escreveu: @martec Eu editei tudo o que você disse e mesmo assim deu erro =/

Spoiler: Imagem  
[Imagem: 86tds.png]

Talvez eu esteja fazendo algo errado...

pra mim nunca deu esse erro...

não é firewall ou algo?
 #24
(12/04/2014, 23:16)martec Escreveu: @Felps

caso dê certo...
acho que ficaria melhor mudar nick de bot em Baka Fórum Bot ou algo semelhante...
e tbm cor da fonte do BOT...

só usar enfiar o código abaixo

Código PHP:
 def onInit(self):
   self.setNameColor("F9F")
   self.setFontColor("F33")
   self.setFontFace("1")
   self.setFontSize(10)
   self.enableBg()
   self.enableRecording() 

Ps. a cor não precisa ser F9F , F33 etc... apenas copiei o código de "examplebot.py"


pra mim nunca deu esse erro...

não é firewall ou algo?

N sei. Só se for problema lá no servidor. Eu até dei permissão de execução para os arquivos...bem, vou dar uma pesquisada aqui e ver.

Sobre o nick, depois eu faço um user novo no chatango, mas aí fica a critério do povo: bakabot, botchan ou sei-lá o que quiserem.

@martec, pelo que parece o pythonanywhere n vai dar certo. Parece que é por causa do proxy que tem na conta free ou algo assim, enquanto no pago não tem essa limitação, e antigamente não havia esse problema. Link sobre isso: https://www.pythonanywhere.com/forums/topic/665/

Vou ver se encontro outras opções, mas acho que só vai dar para fazer amanhã, visto que logo logo vou dormir. Tentarei pesquisar um pouco agora.
 #25
(12/04/2014, 23:21)Felps Escreveu: N sei. Só se for problema lá no servidor. Eu até dei permissão de execução para os arquivos...bem, vou dar uma pesquisada aqui e ver.

Sobre o nick, depois eu faço um user novo no chatango, mas aí fica a critério do povo: bakabot, botchan ou sei-lá o que quiserem.

@martec, pelo que parece o pythonanywhere n vai dar certo. Parece que é por causa do proxy que tem na conta free ou algo assim, enquanto no pago não tem essa limitação, e antigamente não havia esse problema. Link sobre isso: https://www.pythonanywhere.com/forums/topic/665/

Vou ver se encontro outras opções, mas acho que só vai dar para fazer amanhã, visto que logo logo vou dormir. Tentarei pesquisar um pouco agora.

talvez isso aqui funcione

https://www.openshift.com/developers/python
 #26
Acho que descobri finalmente o problema. Na versão free, há um proxy usado para limitação e controle. Acontece que o ch.py n está escrito para usar um proxy. Será que é possível mudarmos essa parte da conexão nele?

O erro em questão acontece nessa parte em negrito:

Citar:def _connect(self, idle = False):

self._wbuf = b""

self._sock = socket.socket()

self._sock.connect((self._mgr._PMHost, self._mgr._PMPort))

self._sock.setblocking(False)

self._firstCommand = True

if not self._auth(): return

self._pingTask = self.mgr.setInterval(self._mgr._pingDelay, self.ping)

self._connected = True

if idle: self._idle = True

Mexendo no Bash do pythonanywhere eu descobri o proxy e mais algumas informações que podem ser úteis:
127.0.0.1    localhost
127.0.0.1    mysql.server
10.87.79.224    postgres.server
10.120.61.10    proxy.server

Bem, nesse assunto de rede e internet eu n sei muito então @martec e @Rafael vejam se podem fazer algo ou não. Se não, eu procurarei outro método.
 #27
(12/04/2014, 23:56)Felps Escreveu: Acho que descobri finalmente o problema. Na versão free, há um proxy usado para limitação e controle. Acontece que o ch.py n está escrito para usar um proxy. Será que é possível mudarmos essa parte da conexão nele?

O erro em questão acontece nessa parte em negrito:


Mexendo no Bash do pythonanywhere eu descobri o proxy e mais algumas informações que podem ser úteis:
127.0.0.1    localhost
127.0.0.1    mysql.server
10.87.79.224    postgres.server
10.120.61.10    proxy.server

Bem, nesse assunto de rede e internet eu n sei muito então @martec e @Rafael vejam se podem fazer algo ou não. Se não, eu procurarei outro método.

tbm não faço menor ideia...
 #28
(12/04/2014, 23:54)martec Escreveu: talvez isso aqui funcione

https://www.openshift.com/developers/python

Procurar outro. Esse openshift é bem complicado. É mais para profissionais creio eu, pq tem que criar uma conta no github para upar os arquivos lá e talz. O nosso bot não é um projeto tão audacioso, logo, seria muito problemático ter que ficar criando contas e mais contas.

Vou procurar outro lugar tmb. Sobre editar, não faz mal: eu tmb não faço ideia. Depois tentarei falar com o Rafael para saber se ele sabe de algo.
 #29
(12/04/2014, 23:56)Felps Escreveu: Acho que descobri finalmente o problema. Na versão free, há um proxy usado para limitação e controle. Acontece que o ch.py n está escrito para usar um proxy. Será que é possível mudarmos essa parte da conexão nele?

O erro em questão acontece nessa parte em negrito:


Mexendo no Bash do pythonanywhere eu descobri o proxy e mais algumas informações que podem ser úteis:
127.0.0.1    localhost
127.0.0.1    mysql.server
10.87.79.224    postgres.server
10.120.61.10    proxy.server

Bem, nesse assunto de rede e internet eu n sei muito então @martec e @Rafael vejam se podem fazer algo ou não. Se não, eu procurarei outro método.

nao faço ideia também
 #30
Hum, encontrei esse: https://www.heroku.com/

Vou testar aqui.
Páginas (6): « Anterior 1 2 3 4 5 6 Próximo »
 

Usuários visualizando este tópico: 1 Visitantes