くだらないことを思いついたので、形にしてみた。
Twitter で 11:11、22:22 とかに『11:11 11 時 11 分をおしらせ。』とつぶやくほんとくだらない Bot を作りました。
http://twitter.com/zorome_oshirase
Perl で Net::Twitter。
相変わらず恥ずかしいけど Source 公開しちゃえ!!
スクリプト
[nobuyuki@P2980 oshirase]$ cat oshirase.pl
#!/usr/bin/perl -w
use strict;
#use Warnings;
use Net::Twitter;
#use Encode;
use Jcode;
use DateTime;
my $dt = DateTime->now( time_zone => 'Asia/Tokyo' );
my $time = $dt->strftime('%H:%M');
chomp $time;
my $h = $dt->strftime('%H');
my $m = $dt->strftime('%M');
$h =~ s/^0//g;
$m =~ s/^0//g;
#&post_twitter("testあああああ $time");
my $time_file = '/home/nobuyuki/perl/twitter/oshirase/timelist.txt';
open my $fh, '<', "$time_file" or die $!;
my @time_strings = <$fh>;
foreach my $set_time ( @time_strings ){
chomp $set_time ;
if ( $time eq $set_time ) {
&post_twitter("$h時 $m分をお知らせ。");
}
}
sub post_twitter{
my $strings = $_[0];
my $twit = Net::Twitter->new(
username=>"zorome_oshirase",
password=>"furunob123",
source=>"fuga",
clientname=>"hogee",
);
# my $utf8 = Encode::from_to($strings, 'euc-jp', 'utf8');
my $utf8 = Jcode->new( $strings, 'euc')->utf8;
my $result = $twit->update("$utf8");
# my $result = $twit->update("$strings");
my $result_code = $twit->http_code;
my $result_message = $twit->http_message;
print "$result_code : $result_message\n"
}
時間リスト( timelist.txt )
[nobuyuki@P2980 oshirase]$ cat timelist.txt 00:00 01:01 01:11 01:23 02:02 02:22 03:03 03:21 03:33 04:04 04:44 05:05 05:55 06:06 07:07 08:08 09:09 10:10 11:01 11:11 12:12 12:34 13:13 14:14 15:15 16:16 17:17 18:18 19:19 20:20 21:21 22:22 23:23 24:24
cron で毎分起動( * * * * * )して時間リストにある時間に該当したら時間をつぶやく。いい加減なプログラムです。
ぞろ目以外にも時々つぶやきます。
きっかけは、ラジオ DJ の玉川美沙さんが、よく嬉々とぞろ目時間をお知らせしていたのを思い出したため。『いま、22時22分!!』とか。
時報はあったけどぞろ目はなかったので作ってみました。
仕事で使ってる MacBook で書いたので、この PC が起動している間だけです。
サーバに移すかは未定。(そのまま動かしたら文字コードの問題があるんだよなぁ〜。)
サーバに移した。use Encode; で書こうと思ったけどうまくいかなかったので use Jcode; 使いました誰か使い方をおしえてくだしあ。使えるようにがんばります。
はぁ。くだらないなぁ。
Twitter クライアントだと 1 分おきにしかとりに行けないのでずれます…。とかサーバがしょぼいとかいろいろありますが、まあいいか。
※追記
pit でソースに ID / PW を表記しないようにしました。→ https://www.gimmix.org/trac/zorome_oshirase/browser/trunk