Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env perl
- use strict;
- use warnings;
- use utf8;
- use Net::Twitter;
- use DateTime;
- use DateTime::Format::HTTP;
- # 設定
- my $term_min = 10; # 対象にする時間の範囲(分)
- my $username = 'bot_kareshi'; # twitterのユーザー
- my $password = 'password'; # twitterのパスワード
- my $keyword = '彼氏ほしい'; # 検索するキーワード
- # 現在時刻
- my $now = DateTime->now(time_zone => 'Asia/Tokyo');
- # twitterオブジェクトつくる
- my $twitter = Net::Twitter->new(
- traits => [qw/API::REST API::Search API::Lists/],
- username => $username,
- password => $password,
- );
- # キーワードからつぶやきの一覧を取得
- my $tweets = $twitter->search($keyword);
- my $results = $tweets->{results};
- # 取得した一覧をぶんまわす
- for my $tweet (@$results) {
- # 指定時間内かどうか
- my $dt = DateTime::Format::HTTP
- ->parse_datetime($tweet->{created_at})
- ->set_time_zone('Asia/Tokyo');
- next if $now->delta_ms($dt)->in_units('minutes') > $term_min;
- # RT以降の文字は除く
- my $text = $tweet->{text};
- $text =~ s/RT.*//;
- next if $text !~ m/$keyword/;
- # ポスト
- my $msg = sprintf('@%s 付き合って下さい!', $tweet->{from_user});
- $twitter->update($msg);
- # リストに追加(動かない)
- #$twitter->add_list_member(
- # $username,
- # 'want_kareshi',
- # { id => $tweet->{from_user_id} }
- #);
- }
Add Comment
Please, Sign In to add comment