July 8th, 2010
script pa twittear desde Irssi
Ayer @informatux mejor conocido como el kawame dijo que quería twittear desde el canal #linux_mx@freenode, y pos está relativamente sencillo con Irssi (que es el cliente de elección para todos aquellos que gustan de chatear en el canal, o no ?), hay un módulito de perl llamado Net::Twitter que hace la vida muy sencilla, y pos nomas hace falta meterlo en una rutina pa crear un nuevo comando.
Aqui está el script en su primera versión estable 😛
[codesyntax lang=”perl”]
use Irssi;
use Irssi::Irc;
use Net::Twitter;
# Script para twittear un canal o ventana chat en Irssi
#
# pon el script en ~/.irssi/scripts/
# ejecuta en irssi:
# /load twitt.pl
# /set twitter_user tuusuario
# /set twitter_pass tupassword
# /save
#
# Puedes agregar una liga suave a ~/.irssi/scripts/autorun para que se cargue automaticamente.
# Solo necesitas configurar una vez tu usuario y clave, “/save” guarda la configuracion permanentemente
Irssi::settings_add_str(“twitt”, “twitter_user”, “”);
Irssi::settings_add_str(“twitt”, “twitter_pass”, “”);
sub cmd_twitt{
my ($data, $server, $witem) = @_;
my $user=Irssi::settings_get_str(‘twitter_user’);
my $password=Irssi::settings_get_str(‘twitter_pass’);
my $nt = Net::Twitter->new(
traits => [qw/API::REST/],
username => $user,
password => $password
);
if (!$server || !$server->{connected}) {
Irssi::print(“No estas conectado wey”);
return;
}
if ($witem && ($witem->{type} eq “CHANNEL” || $witem->{type} eq “QUERY”)) {
$witem->command(“MSG “.$witem->{name}.” $data”);
my $result = $nt->update(“$data”);
} else {
Irssi::print(“Y si te metes a un canal ?”);
}
}
Irssi::command_bind(‘twitt’, ‘cmd_twitt’);
[/codesyntax]
sugerencias y peticiones a /dev/null o [email protected] dependiendo de qué tanto quieran que se cumplan.