Atualizador Twitter

Publicado por Francisco Souza 07/04/2009

[ Hits: 9.175 ]

Homepage: http://www.franciscosouza.net

Download atualiza-twitter.py




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)

  



Esconder código-fonte

#!/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)

Scripts recomendados

Loga Usuários!

Previsão do Tempo

Script em Python 3.6 conectando em um API real da web

Armazene seus arquivos rapidamente na sua conta GMAIL

Script que obtém informações disponibilizadas a bots pelos sites


  

Comentários
[1] Comentário enviado por franciscosouza em 07/04/2009 - 02:18h

Acabei esquecendo de colocar na descrição: Para uso de script, é necessário o módulo Python Twitter.

O Python Twitter pode ser instalado pelo easy_install, pelo apt-get ou direto do site (http://code.google.com/p/python-twitter/).

Abraços,
Francisco

[2] Comentário enviado por lucassmagal em 25/01/2010 - 21:02h

Oi, amigo,

Tentei executar este codigo em um arquivo .py no meu pc, mas nao funcionou de jeito algum, sabe dizer o que é? http://lsmagalhaes.pastebin.com/f3bf4452

O interessante é que, se eu digitar os mesmos comandos no prompt interativo, eles rodam direto...

Ahh, salvei seu código para teste em um arquivo, e ele rodou sem problema (e o meu bem basicão, só pra testar, não funciona =( ).

Abraços


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts