na verdade, o nome da tag é CODE. :blush: Ainda bem que tem alguém que sabe o nome das tags para fazer estas importantíssimas, urgentíssimas e muito relevantes correções. Olá amigos.Sou novo no fórum e também resolvi estudar programação sem fazer nenhum curso. Durante algumas pesquisas que fiz resolvi comprar o livro "USE A CABEÇA - PROGRAMAÇÃO". Este livro ensina de forma bem didática os princípios da programação e utiliza como linguagem padrão o Python. Sei um pouco da situação que o colega nos mostrou no início deste tópico, pois eu também estou passando pela mesma. Ainda não sabemos exatamente usar os termos corretos da programação, mas a dúvida é a seguinte: Foi gerada uma situação onde nós precisamos enviar o valor do grão de café para o diretor de uma empresa que compra café via twitter já que ele está sempre viajando. Após toda a contrução, finalizamos o código da seguinte forma: import urllib.request import time def send_to_twitter(msg): password_manager = urllib.request.HTTPPasswordMgr() password_manager.add_password("Twitter API","http://twitter.com/statuses","roddrigolago","230420389") http_handler = urllib.request.HTTPBasicAuthHandler(password_manager) page_opener = urllib.request.build_opener(http_handler) urllib.request.install_opener(page_opener) params = urllib.parse.urlencode({'status': msg}) resp = urllib.request.urlopen("http://twitter.com/statuses/update.json", params) resp.read() def get_price(): page = urllib.request.urlopen("http://www.beans-r-us.biz/prices.html") text = page.read().decode("utf8") where = text.find('>$') start_of_price = where + 2 end_of_price = start_of_price + 4 return float(text[start_of_price:end_of_price]) price_now = input("Do you want to see the price now(y/n)?") if price_now == "y": send_to_twitter(get_price()) else: price = 99.99 while price > 4.74: time.sleep(900) price = get_price() send_to_twitter("Buy!") Feito isso, nós processamos o código para saber se estar tudo correto onde irá aparecer a seguinte pergunta: Do you want to see the price now? Quando respondemos "y" uma mensagem deve ser enviada automaticamente para o twitter do diretor da empresa informando o valor atual do grão, mas na verdade está aparecendo o seguinte erro: Traceback (most recent call last): File "C:\Documents and Settings\Rodrigo\Desktop\Exercícios de programação Python\Capítulo 3\Enviando o preço através de mensagem via twitter", line 26, in <module> send_to_twitter(get_price()) File "C:\Documents and Settings\Rodrigo\Desktop\Exercícios de programação Python\Capítulo 3\Enviando o preço através de mensagem via twitter", line 11, in send_to_twitter resp = urllib.request.urlopen("http://twitter.com/statuses/update.json", params) File "C:\Python32\lib\urllib\request.py", line 138, in urlopen return opener.open(url, data, timeout) File "C:\Python32\lib\urllib\request.py", line 364, in open req = meth(req) File "C:\Python32\lib\urllib\request.py", line 1052, in do_request_ raise TypeError("POST data should be bytes" TypeError: POST data should be bytes or an iterable of bytes. It cannot be str. A dúvida é saber porque não estamos conseguindo enviar a mensagem para o twitter. Há algum erro no código? Ficarei grato se puderem ajudar. OBS: Eu copiei e colei o código, mas não apareceram as indentações Estou tendo o mesmo problema... não sei o codigo não funciona devido a auterações na estrutura do twitter ou se estamos fazendo algo errado. Seria necessario importar mais alguma lib? ou algum arquivo externo, tipo um plugin? Bom, estamos no aguardo de algum help :blush: