最近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 'エロス カワユス'
とかで投稿できます。

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



Leave a comment