Desarollo de cliente de twitter

Deoxys

Todos los clientes de twitter para linux que he probado me han parecido un truño, así que había pensado en hacer uno con unas funciones básicas que se pueda usar en CLI.

–Escrito en python usando curses. Cliente para CLI, en principio nada de GUI.
–Una instancia del programa, una cuenta. En principio nada de multicuentas
–tweets y menciones, submenú para DMs.
–Filtro básico de palabras y tags.

Algo extremadamente sencillo y ligero, no quiero hacer virguerías. Busco a alguien que:

-Pueda enseñarme algo sobre curses y oauth y pueda colaborar un poco con el código
-Pueda crear él la cuenta para la API de twitter (Porque pide número de móvil y yo ni tengo ni quiero dar uno)

Preferiría hacerlo solo pero sin un teléfono no puedes habilitar la escritura en un programa que use la API de twitter, así que no puedo hacerlo por mi cuenta.

Un resumen de lo que he hecho hoy, más o menos este es el aspecto que tendría.

El manejo sería algo así, había pensado en usar sólo zxcv para que sea compatible con todas las distribuciones de teclado. Con kirino la gente se quejaba que los controles por defecto no teníán sentido en qwerty (Como si qwerty tuviera sentido, pero bueno):

F1: abre las opciones en la columna derecha, como si fuera el about:config de firefox
F2: permite cambiar de cuenta o conectarse a una
F3: abre los DMs en la columna derecha
F10: Limpiar las dos columnas. Los tweets se quedan en la columna y se van almacenando. Al pulsar F10 los tweets viejos se borran y se empieza otra lista desde 0
F11: Salir

Controles en modo normal (Dos columnas con tweets, opciones o DMs)
x/c: desplazarse por elementos arriba/abajo
z: desplazarse por columnas (Altirna entre columna izquierda y derecha)
v: seleccionar tweet
V: seleccionar usuario

Controles con tweet seleccionado:
x: responder
c: RT
v:fav
z: atrás

Controles con usuario seleccionado:
x: mención
c: mandar dm
v: opciones (ventana para bloquear, seguir/dejar de seguir, mutear, etc)
z: atrás

Para abrir enlaces con imágenes habría que habilitar/deshabilitar algo en las opciones para abrirlas con algún programa externo, pero eso ya se verá en un futuro. De momento sólo con texto vale. Lo mismo para abrir enlaces, supongo que habría que tirar de w3m para lo que necesite navegador web, ya pensaré en algo.

Si a alguien le interesa que me diga y miramos a ver qué se puede hacer.

2
herre

Oh, perfect.

Tengo acabado en ruby el prototipo de un cliente minimalista para soundcloud (que también usa OAuth) totalmente funcional al que le falta una interfaz curses-like (iba a usar vedeu).

Estaba preparado para ponerlo en github e ir puliendolo cuando veo en los Terms of Use de la API que hago cosas que estan prohibidas (basicamente tengo un cache permanente de todo lo que reproduce para evitar descargar absolutamente nada más de una vez; estaba pensado para funcionar en un notebook antiguo y 4G) y se me quitan las ganas. Total, a mi me vale tal como está.

(Puedo mandarle el programita a quien quiera por mp.)

Anyway, que tengo ganas de acabar algo, de volver a ponerme al día en python y un cliente de twitter ligero le vendría bien a mi notebook, que tampoco me convencen mucho los que hay (t, rainbowstream... )

Ahora tengo que salir corriendo pero cuando vuelva miro lo de la API y hablamos por mp.

PD: i3 :clint:

1 respuesta
Nucklear

#1 Te ayudaría, pero realmente odio con todo mi alma el API de Twitter y sus limitaciones estúpidas :/

1 respuesta
Kaiserlau

#1 No soy tu hombre pero me interesa xD

Me parece la ostia de raro q te pidan el movil para hacer algo mas q leer, si no he entendido mal. De todas formas te recomiendo q le eches un ojo a Mechanize para rodear ese shit, si sq te vale de algo asi xD
Luego aparte puedes usar unicurses en vez de curses(son practicamente gemelos)
http://sourceforge.net/projects/pyunicurses/

Pls, q el cliente tenga colores(fondo negro claro)

Con la terminal 256colores es mas wapens todavia, pero bien echo claro xd

pd: lo q llevas echo mola

1 respuesta
Deoxys

#2 Guay, ya me contarás (i3 r00lz)

#3 Tú y todos, la API de twitter es un truño pero es lo que hay.

#4 El problema que he visto es que para usar colores con ncurses tienes que definir los pares (Texto, fondo) de antemano. Podría poner colores pero sería un poco complicado hacer que el usuario los defina. Se puede ojo pero vamos, creo que primero habría que hacer algo que funcione y luego meterle colores y cosas.

2 respuestas
Kaiserlau

#5 bueno, no me referia a darle esa opcion de cambio de themes, sino dejar unos standard y luego ya pues mira si quieres le haces ese modulo. Aunque yo les meteria desde el principio, tal vez haciendo una clase aparte sencilla con los colores predefinidos y meterselo al template de las capas y tal (aunque solo sea blanco al texto y el fondo..), xq luego va a ser peor xD

herre

#5

Sí que posible crear cuenta de una app sin móvil eh xD. Acabo de hacerlo. Por si quieres ir tirando adelante.

1 respuesta
Deoxys

#7 Crear cuenta sí, pero no puedes poner la aplicación en modo escritura. Prueba a ver de todas formas, a lo mejor estaba haciendo algo mal.

1 respuesta
Kaiserlau

#8 nose si te servira

http://www.dototot.com/reply-tweets-python-tweepy-twitter-bot/

1 respuesta
Deoxys

#9 No sé de cuándo es ese artículo xD

1 respuesta
Kaiserlau

#10 Pues vaya nerf. Como te decia el rodeo a esas caracteristicas q te tocan es posible pero tiene sus contras

10 días después
Deoxys

Bueno, aún no tengo acceso a la API pero he estado haciendo un prototipo de la interfaz. Aún no está puesta la navegación por tweets, pero sirve para que os hagáis una idea.

https://github.com/Achifaifa/NSTC

Usuarios habituales

  • Deoxys
  • Kaiserlau
  • herre
  • Nucklear