Sobre o bot em geral


Páginas (6): 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
 #1
Hum...e se fazer o bot analisar um feed rss em xml? Só não sei se tem como ativar essa opção de RSS no myBB.

Olha aqui:
Spoiler:  
[Imagem: Rss_choose.png]

Se colocar 1 por vez e fazer o bot ler o xml gerado de tempos em tempos, talvez dê para fazer ele postar no chat
 #2
(10/04/2014, 14:01)Felps Escreveu: Hum...e se fazer o bot analisar um feed rss em xml? Só não sei se tem como ativar essa opção de RSS no myBB.

Olha aqui:
Spoiler:  
Spoiler: Imagem  
[Imagem: Rss_choose.png]

???
http://balau82.wordpress.com/2009/05/16/...wordpress/
não entendi nada... o que eu propôs é ler feed rss diretamente...

(10/04/2014, 14:01)Felps Escreveu: Se colocar 1 por vez e fazer o bot ler o xml gerado de tempos em tempos, talvez dê para fazer ele postar no chat

mas não é isso que estou falando?
bot checar a mudança no RSS feed de novos posts a cada 3 segundos?
 #3
(11/04/2014, 11:33)martec Escreveu: ???
http://balau82.wordpress.com/2009/05/16/...wordpress/
não entendi nada... o que eu propôs é ler feed rss diretamente...


mas não é isso que estou falando?
bot checar a mudança no RSS feed de novos posts a cada 3 segundos?

Mals kkkk acho que não tinha entendido o que você tinha dito então
 #4
para quem ta mexendo com bot a função abaixo deve ser útil

Código PHP:
def f():
   # do something here ...
   # call f() again in 60 seconds
   threading.Timer(60f).start()

# start calling f now and every 60 sec thereafter
f() 

Código PHP:
import feedparser
feed 
feedparser.parse('some_url')
for 
entry in feed.entries:
 print entry.get('title'
 #5
@martec , fiz script em python pra shout.
só que só fiz pra tópicos pq nao consigo achar o rss de ultimos posts, só de topicos que tem
se quiser o codigo:
http://pastebin.com/VdC7ZZiY
lembrando que precisa dessa library: https://github.com/Nullspeaker/ch.py/blob/master/ch.py
e precisa criar o arquivo lastpost.txt
 #6
(12/04/2014, 00:46)Rafael Escreveu: @martec , fiz script em python pra shout.
só que só fiz pra tópicos pq nao consigo achar o rss de ultimos posts, só de topicos que tem
se quiser o codigo:
http://pastebin.com/VdC7ZZiY
lembrando que precisa dessa library: https://github.com/Nullspeaker/ch.py/blob/master/ch.py
e precisa criar o arquivo lastpost.txt

vlw... but...
google app engine roda python 2.7...
então ta dando vários erros...
 #7
@rafael

link para rss feed de novos posts

http://bakaforum.info/bakanewposts.php?type=atom1.0 (com tag "author")
ou
http://bakaforum.info/bakanewposts.php (RSS 2.00) (com tag "dc:creator")
 #8
@rafael

não dá para usar o método de lastpost.txt

http://stackoverflow.com/questions/15699...ers-or-not

vai ter que achar outra maneira para saber se tem novos posts....

talvez algo como de baixo seja útil

http://stackoverflow.com/questions/22211...w-rss-data
http://stackoverflow.com/questions/16745...-and-etags
http://stackoverflow.com/questions/14256...-in-python
 #9
Então vamos ter que mudar do 3.3 para o 2.7?

Lembro da época que brincava com Python, isso era um saco. Ficam deixando dois branchs só para ferrar conosco =/

Eu estava vendo aqui @martec, o Google Appengine tem suporte a MySQL. MySQL não tem relação com banco de dados? Pesquisando um pouco descobri que tem como programar MySQL com Python. Isso não resolve o problema do txt? Tipo, usar uma database ao invés de um txt?
 #10
(12/04/2014, 08:04)Felps Escreveu: Então vamos ter que mudar do 3.3 para o 2.7?

Lembro da época que brincava com Python, isso era um saco. Ficam deixando dois branchs só para ferrar conosco =/

ch.py funciona com algumas modificações...
mas não dá para usar "lastpost.txt" devido a...
"Appengine does not support any write operations to the filesystem"

sobre mysql... sei lá como funciona esquema de mysql no google appengine...
então vamos ter que pesquisar ou ver alternativas...
 #11
Li os erros que davam com o Python 2.7 e já arrumei (pequenos problemas com as aspas e inicialização do programa.)

Agora estou tentando ver se modifico para postar os posts não os tópicos e logo em seguida vou ver se consigo usar MySQL para guardar os dados.

Esquece sobre o MySQL. Pelo que vi em um vídeo da Google na própria página é pago =/

hum...Encontrei isso: http://www.db4free.net/port_portal.php

Será que serve/funciona?
 #12
pelo jeito não precisa de banco de dados não...

Código PHP:
import ch
import random
import time
threading
import os
import feedparser

class TestBot(ch.RoomManager):
 
     def check
():
                 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)

     while True:
       check()

if 
__name__ == "__main__":
         TestBot.easy_startrooms=['ugtforumanime'], name='teste300194'password='fe300194'                   

único problema é que não estou conseguindo enfiar "room" no def
dá erro... no mais a checagem se tem nova postagem ta perfeito
 #13
(12/04/2014, 10:58)martec Escreveu: pelo jeito não precisa de banco de dados não...

Código PHP:
import ch
import random
import time
threading
import os
import feedparser

class TestBot(ch.RoomManager):
 
     def check
():
                 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)

     while True:
       check()

if 
__name__ == "__main__":
         TestBot.easy_startrooms=['ugtforumanime'], name='teste300194'password='fe300194'                   

único problema é que não estou conseguindo enfiar "room" no def
dá erro... no mais a checagem se tem nova postagem ta perfeito

@martec, n inicia assim. Coloca desse jeito:

Código:
testbot = TestBot()
roomList = ["ugtforumanime"]
usePM = False          

testbot.easy_start(roomList, "teste300194", "fe300194")
 #14
ta qse lá...

Código PHP:
import ch
import random
import time
threading
import os
import feedparser

class TestBot(ch.RoomManager):
  
      
def check(room):
                  
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)

      while 
True:
        
check('room')

if 
__name__ == "__main__":
          
TestBot.easy_startrooms=['ugtforumanime'], name='teste300194'password='fe300194' 

o erro agora é apenas


same
same
same
same
same
same
same
postando

Traceback (most recent call last):
File "C:\bakafrm\baka.py", line 7, in <module>
class TestBot(ch.RoomManager):
File "C:\bakafrm\baka.py", line 27, in TestBot
check('room')
File "C:\bakafrm\baka.py", line 24, in check
room.message(author+" postou no tテウpico "+title+link)
AttributeError: 'str' object has no attribute 'message'
>>>
 #15
(12/04/2014, 11:08)martec Escreveu: ta qse lá...

Código PHP:
import ch
import random
import time
threading
import os
import feedparser

class TestBot(ch.RoomManager):
 
     def check
(room):
                 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)

     while True:
       check('room')

if 
__name__ == "__main__":
         TestBot.easy_startrooms=['ugtforumanime'], name='teste300194'password='fe300194'                   

o erro agora é apenas


same
same
same
same
same
same
same
postando

Traceback (most recent call last):
 File "C:\bakafrm\baka.py", line 7, in <module>
   class TestBot(ch.RoomManager):
 File "C:\bakafrm\baka.py", line 27, in TestBot
   check('room')
 File "C:\bakafrm\baka.py", line 24, in check
   room.message(author+" postou no tテウpico "+title+link)
AttributeError: 'str' object has no attribute 'message'
>>>

Por que tem esse check('room')? Se o def já tem o 'room', não é só colocar check()?
Páginas (6): 1 2 3 4 5 6 Próximo »
 

Usuários visualizando este tópico: 1 Visitantes