実用! PerlでコマンドラインからTwitter投稿

| 0 Comments | 0 TrackBacks | このエントリーをはてなブックマークに追加 このエントリーのはてなブックマーク件数

最近WindowsからLinuxへログインして作業していることが多いんですけれども、なんかつぶやきたくなったときにこんなの。Twitterにポスト。Net::Twitterモジュールを使います。

今回の流れは、

  • とりあえず投稿できるスクリプトを作ってみる
  • コマンドラインから投稿できるものにグレードアップ

となっています。

とりあえず投稿できるスクリプトを作ってみる

まず、固定文字列だったらこんな感じで。「もへもへ」という文字列を投げます。username、passwordは自分のを使おう。

Filename:twit_test.pl (UTF-8で)

#!/usr/bin/perl
use strict;
use warnings;
use Net::Twitter;
my $twit = Net::Twitter->new(
  username => 'username',  #ユーザー名
  password => 'password',  #パスワード
);
$twit->update('もへもへ');

実行すると、Twitterに投稿されるはずです。文字化けしてたら、おそらく文字エンコーディングがUTF-8以外です。UTF-8で保存し直すか、Encodeモジュールで適切に変換してあげましょう。

コマンドラインから投稿できるものにグレードアップ

上のスクリプトを生かして、コマンドラインからの文字列を投稿するスクリプトに改造します。今回はタイプ量減らしたいので、コンソールがUTF-8の場合に限定。他の環境の場合、Encodeモジュールやらなにやら使用のこと。

Filename: twitter

#!/usr/bin/perl
use strict;
use warnings;
use Net::Twitter;
my $twit = Net::Twitter->new(
  username => 'username',  #ユーザー名
  password => 'password',  #パスワード
);
$twit->update($_) for @ARGV;

上記twitterというファイルに実行権限を与えておいて、個人用実行ファイルを置くディレクトリ($HOME/bin とかにpath通しておくと便利)に入れるとかしておくと、

$ twitter エロス

とか

$ twitter 'エロス カワユス'

とかで投稿できます。

net-twitter-post.jpg

今回のスクリプトを改造して、定期的にビーコン打ち出すとか、作業が終わったらnotify出すとか応用できます。ちょっと考えたら、うちの業界のサーバには、製版が終わったらメールを送信する機能が付き始めていますが、こういうのもついていてもいいかとも思いました。

※調子こいて投稿しまくっていると連投制限に引っかかるみたいなので注意しましょう。

No TrackBacks

TrackBack URL: http://perl-mongers.org/MT/mt-tb.cgi/65

Leave a comment

About this Entry

This page contains a single entry by CL published on June 28, 2008 9:09 AM.

codereposのコミット数ランキングページを作る was the previous entry in this blog.

デフォルト値のperlらしい指定法 is the next entry in this blog.

Find recent content on the main index or look in the archives to find all content.

Categories

Pages

Creative Commons License
This blog is licensed under a Creative Commons License.
Powered by Movable Type 4.21-en