Hatena::Grouptwitter

結城浩のTwitter日記 RSSフィード

2009-11-26

テキストファイルからランダムな一行を抜き出してTwitterにつぶやくbot

テキストファイルからランダムな一行を抜き出してTwitterにつぶやくbot - 結城浩のTwitter日記 を含むブックマーク はてなブックマーク - テキストファイルからランダムな一行を抜き出してTwitterにつぶやくbot - 結城浩のTwitter日記

「テキストファイルからランダムな一行を抜き出してTwitterにつぶやくbot」のPerlスクリプトです。

bot.plはスクリプト本体です。

#!/usr/bin/perl
use strict;
use warnings;
use Encode;
use YAML::Syck;
use Net::Twitter::Lite;

my $datafile = 'datafile.utf';
my $yaml = 'bot.yaml';
my $conf = YAML::Syck::LoadFile($yaml) or die "$yaml: $!\n";

open my $fh, "<:encoding(utf8)", $datafile or die "$datafile: $!";
my @data = <$fh>;
close $fh;

my $status = $data[int(rand(@data))];

my $twitter = Net::Twitter::Lite->new(
    username => $conf->{username},
    password => $conf->{password}
);
$twitter->update($status);

bot.yamlは設定ファイルです。あなたのメールアドレスとパスワードを指定します。

username: yourmail@example.com
password: yourpassword

datafile.utfはテキストファイルです。一行につぶやきを一つ。UTF-8で書きます。

以上の三ファイル、

を一つのディレクトリに入れてbot.plを動かします。すると、一つつぶやいて終了します。

cronなどを使って定期的に動かすと定期的にランダムなつぶやきをするbotになります。

メモ

2009-10-11

bot作ろうかな

bot作ろうかな - 結城浩のTwitter日記 を含むブックマーク はてなブックマーク - bot作ろうかな - 結城浩のTwitter日記

bot作ろうかなと思ったけれど、ちょこちょこAPIいじっているうちに飽きて来ちゃった。ふむう。