Eu sei, eu sei, isso é ser extremamente nerd. Mas é isso aí o objetivo :)
Fiz um scriptzinho ainda noob que serve para atualizar o Twitter via linha de comando! Ele também tem alguns outros recursos, que não valem nada. Mas é legal de vez em quando atualizar o Twitter pelo modo texto :O
Enfim, segue o código:
[cc lang=”python”]#! /usr/bin/python
coding: utf-8
”’Este script tem por intenção fazer um pequeno gerenciador de linha de comando para o twitter.
A principal intenção é conseguir atualizar o status, mas existem ainda outras funções.
O script é novo, fiz rapidamente, numa brincadeira. A ideia é ir incrementando ele COM O TEMPO.
Modos de uso:
python atualiza-twitter.py <usuário>
<opção> (Modo não-interativo) python atualiza-twitter.py (Modo interativo)
Autor: Francisco Antônio da Silva Souza Versão: 0.1 Versão do Python: 2.6.x Data da última atualização: 06 de abril de 2009
Copyleft - Nenhum direito reservado.”’
import twitter import sys
Tentando otimizar o programa com um JIT Compilertry:import psycopsyco.full()except:pass
class TwitterError(Exception):
'''Classe que representa erros ocorridos.'''
def __init__(self, message=None):
self.message = message
def determinar_acao(codigo):
'''Método que determina, dado um código inteiro, qual ação deve ser executada.'''
if codigo == 1:
msg = 'atualizar'
elif codigo == 3:
msg = 'amigos'
elif codigo == 4:
msg = 'seguidores'
elif codigo == 5:
msg = 'atualizacoes_amigos'
else:
msg = 'timeline'return msg
def main(lista):
'''Método principal, onde a coisa realmente acontece.
O método recebe uma tupla com os argumentos.'''
if len(lista) < 4:
raise TwitterError(message='''Verifique se você utilizou corretamente o script.\n
Modo de uso: atualiza-twitter.py <usuario> <senha> <opcao>
Opções possíveis:
atualizar - Atualiza seu status, presente no quarto parâmetro;
timeline - Visualizar timeline pública;
amigos - Obter lista de amigos do usuário (pessoas que o usuário segue);
seguidores - Obter lista de pessoas que estão seguindo o usuário;
atualizacoes_amigos - Obter timeline dos seus amigos;''')
api = twitter.Api(lista[1], lista[2])
api.SetUserAgent('Chico Twitter Updater')
opcao = lista[3]
if opcao == 'atualizar':
texto = raw_input('Digite o texto do status: ')
tamanho = len(texto)
if tamanho > 1 and tamanho <= 140:
status = api.PostUpdate(texto.decode('utf-8'))
print 'Status postado com sucesso!nTexto do Status: '%s'.' %(texto)
else:
raise TwitterError(message='Seu texto deve ter entre 2 e 140 caracteres!')
elif opcao == 'timeline':
sts = api.GetPublicTimeline()
print 'TIMELINE'
for s in sts:
print '%s: '%s'' %(s.user.name, s.text)
print
elif opcao == 'amigos':
amigos = api.GetFriends()
print 'LISTA DE AMIGOS DO USUÁRIO:'
for amigo in amigos:
print ' * %s' %amigo.name
elif opcao == 'seguidores':
seguidores = api.GetFollowers()
print 'LISTA DE SEGUIDORES DO USUÁRIO:'
for seguidor in seguidores:
print ' * %s' %seguidor.nome
elif opcao == 'atualizacoes_amigos':
atualizacoes = api.GetFriendsTimeline()
print 'LISTA DE ATUALIZAÇÕES DOS AMIGOS DO USUÁRIO:'
for st in atualizacoes:
print ' %s: '%s'' %(st.user.name, st.text)
else:
raise TwitterError('Opção inválida!')
Execução principal
if name == ’main’:
try:
if len(sys.argv) == 1:
print 'Para utilizar este script, você precisa estar autenticado.'
login = raw_input('Digite seu login: ')
senha = raw_input('Digite sua senha: ')
opcao = input('''Selecione no menu abaixo sua opção:
1 - Atualizar meu status
2 - Visualizar timeline pública
3 - Pessoas que estou seguindo
4 - Pessoas que me seguem
5 - Atualizações dos meus amigos
Digite sua opção: ”’)
nome_opcao = determinar_acao(opcao)
lista = [sys.argv[0], login, senha, nome_opcao]
main(lista)
else:
main(sys.argv)
except TwitterError as e:
print e.message
except:sys.exit(1)[/cc]
Dependências: Para usar este script você vai precisar do Python Twitter.
Publicação: Este script (para Python 2.5) também está disponível no Viva o Linux.