Month: 1月 2012

いまさら「金平糖ロマネスク」を買ったよ

Posted on Updated on

gfpetret

 

中恵光城さんのシングルCDを買った。曲全体として(見れば分かるかもしれないが)近代をイメージされた感じがする。てか光城さんの声のバリエーションが半端ないですまじで。

とりあえず曲を聞いてみての感想を書いてみた。

Read the rest of this entry »

「Winキー+R→tweet 内容」でツイートできるPerlスクリプト群

Posted on Updated on

qfolrovr

今回は、TweetするPerlスクリプトをちょっと改良して、ツイートしてくれるだけのしょっぱい機能をつくってみた。

 

かなりこちらのページのものを参考にしました。

Perl製Twitter BotにOAuth認証で投稿させる/楽:技林ブログ

導入

こちらのページのようにNet:Twitter:Liteを導入する。Windows環境の場合は

ppm install Net::Twitter::Lite

こちらのほうが簡単みたい。

次に、先ほどのページのポイント2と同様にhttp://dev.twitter.com/こちらのページにアクセスし、Consumer_key, Consumer_secret, ACCESS_TOKEN, ACCESS_TOKEN_SECRETを取得。このとき、ACCESS TOKENの設定においてRead and writeの権限をきちんと選択しておくこと。

以下Perlファイル(.pl)(参考:Perl製Twitter BotにOAuth認証で投稿させる

#!/usr/bin/perl

use strict;
use warnings;
use utf8;
use Encode;

use Net::Twitter::Lite;

my $defa;

 

if(!defined($ARGV[0])) {
    print "No Status Message\n";
    exit 1;
}

foreach(@ARGV) {
    if(!defined($defa)) {$defa=$_;}
    else {$defa.=" $_";}
}

# http://dev.twitter.com/apps/XXXXXX で取得できるやつ

my %CONSUMER_TOKENS = (
    consumer_key    => ‘—consumer_key—‘,
    consumer_secret => ‘—consumer_secret—‘,
);

# http://dev.twitter.com/apps/XXXXXX/my_token で取得できるやつ
my $ACCESS_TOKEN        = ‘—access_token—‘;
my $ACCESS_TOKEN_SECRET = ‘—access_token_secret—‘;

# constructs a "Net::Twitter::Lite" object
my $t = Net::Twitter::Lite->new(%CONSUMER_TOKENS);

# トークンをセットする
$t->access_token($ACCESS_TOKEN);
$t->access_token_secret($ACCESS_TOKEN_SECRET);

#$encoder->decode($defa);
#$encoder->encode($defa);

# 投稿
$t->update({ status => decode ‘sjis’, $defa });

また、実際にこれを実行する場合にはActive PerlCygwinのパッケージなどに同梱されてあるPerl.exeと、このスクリプト自体のパスが通っていなければなりません。

パスの設定を汚くするのは個人的に好きではなかったので、別途バッチファイルを作ってパスを手動で通した後に上記スクリプトを実行するようにしました。以下はその一例です。

以下Batchファイル(.cmd)

ただし、
Perl.exeのあるフォルダがC:\Perl64\bin,
上記PerlファイルがC:\Software\upd_tweet.pl

@echo off

set path=%path%;C:\Perl64\bin

perl C:\Software\upd_tweet.pl %*

これをWindowsフォルダ等にtweet.cmdなどのファイル名で置くとこの機能が利用できるようになります。

 

使用例:

tweet ハラショーテスト

結果→ハラショーテスト

注意:tweetの次には半角スペースにしてください。