Tweetin - Poste tweets pelo terminal

Publicado por Danillo Souza (última atualização em 02/09/2010)

[ Hits: 6.322 ]

Download tweetin




Script que te possibilita enviar tweets pelo terminal, oferecendo proteção na hora da digitação da senha (igual a senha do comando 'su' por exemplo).

  



Esconder código-fonte

#!/usr/bin/perl -w

# Author: Danillo Souza
# Email: danillo012@gmail.com
# Version: 0.1
#
# Small quick script to post tweets while working in the terminal
# or for use on systems that do not use graphical user interface (eg servers).
# 
# I hope you use and like ;D

use strict;
use Net::Twitter;
use Term::ReadKey;

# get the password
sub get_pass {
   my($msg, $tmp) = (shift, '');

   print $msg;
   ReadMode 'noecho';
   $tmp = ReadLine 0; chomp $tmp;
   ReadMode 'normal';
   print "\n";
   
   return $tmp;
}

sub tweetin {
   # catch the username, password and the text f tweet
   my($user, $passwd, $tweet) = @_;
   # verifications
   if ($user !~ /^.{1,15}$/) {die "Invalid username.\n";}
   if ($passwd !~ /^.{6,}$/){die "Invalid password.\n";}
   if ($tweet !~ /^.+$/)      {die "Invalid tweet.\n"}
   if ($tweet !~ /^.{1,140}$/){$tweet = substr($tweet, 0, 140);}
   # create the twitter object
   my $twitter = Net::Twitter->new(
         traits   => [qw/API::REST/],
         username => $user,
         password => $passwd
      );
   # try to tweet it
   eval {$twitter->update($tweet)}; die "Autentication failed.\n" if $@;
   # if sucesful..
   print "Tweeted at ".scalar(localtime).":\n";
}

# checking the number of parameters
die "Usage: tweetin.pl <user> <tweet>\n" if (scalar(@ARGV) < 2);
# catching command line arguments
my $user  = shift(@ARGV); 
my $tweet = shift(@ARGV);
my $passwd = get_pass "Password autentication:";

tweetin($user, $passwd, $tweet);

Scripts recomendados

Pesquisar palavras no Diário Oficial da União

Obtendo a temperatura com Perl

Sarg Diario

Baixar o Diário Oficial da União e salvar como um único PDF completo

Script para fazer buscas no arquivo de logs do squid


  

Comentários
[1] Comentário enviado por annakamilla em 08/09/2010 - 15:57h

Can't locate Net/Twitter.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.10.0 /usr/local/share/perl/5.10.0 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl .) at /usr/bin/tweetin line 17.
BEGIN failed--compilation aborted at /usr/bin/tweetin line 17.

[2] Comentário enviado por danltmz em 08/09/2010 - 16:05h

Você precisa ter o módulo Net::Twitter instalado para usar, senão gera erro por não conseguir encontrar o módulo.

Use:

% perl -MCPAN -e "install Net::Twitter"


;)


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts