Atualizador Twitter
Publicado por Francisco Souza 07/04/2009
[ Hits: 9.243 ]
Homepage: http://www.franciscosouza.net
Script de atualização do Twitter e gerenciamento simples. Versão inicial.
Simples de usar, o código explica como deve ser o uso.
$ python atualiza-twitter.py <usuário> <senha> <opção> (modo pouco interativo)
OU
$ python atualiza-twitter.py (modo 100% interativo)
#!/usr/bin/env 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 idéia é ir incrementando ele COM O TEMPO.
Modos de uso:
> python atualiza-twitter.py <usuário> <senha> <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.5.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 Compiler
try:
    import psyco
    psyco.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(*args):
    '''Método principal, onde a coisa realmente acontece.
    
    O método recebe uma tupla com os argumentos.
    '''
    lista = args[0]
    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])
    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)
# 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, e:
        print e.message
    except:
        sys.exit(1)
Tradutor on-line versão Web!!!
Descubra seu IP através do MeuIP
Conversor de String em Hex para String plana
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
Como descobrir se a sua senha já foi vazada na internet?
Problemas com Driver NVIDIA (5)
Warcraft II Remastered no Linux? (8)
Instalação dualboot Windows 11 e Debian 13 (7)









