Twitter
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
**Twitter bot を作る [#o4bbd142]
***参考サイト [#oaaa53ee]
+[[PerlによるTwitter botの作り方>http://www.fukudat.com/wiki/ja/Perl%E3%81%AB%E3%82%88%E3%82%8BTwitter_bot%E3%81%AE%E4%BD%9C%E3%82%8A%E6%96%B9]]
+[[twitter botをつくってみる。(3) - botのプログラミング>http://cuddlecore.blog.shinobi.jp/Entry/6/]]
+[[PerlでTwitterクライアント製作メモ その1>http://d.hatena.ne.jp/tohky/20100822/1282429132]]
+[[CPAN string-similarity>http://search.cpan.org/~mlehmann/String-Similarity-1.04/Similarity.pm]]
+[[UTF-8のフラグ>http://blog.xaxxi.net/2009/12/04/cannot-decode-string-with-wide-characters-%E3%81%AE%E7%9B%B4%E3%81%97%E6%96%B9/]]
+[[UTF-8のフラグ>http://d.hatena.ne.jp/libkazz/20070605/1181026439]]
***Perl CPAN Net::Twitter を利用する OAuthを利用する [#e089b4fe]
+twitter bot用の(捨て)アカウントを作成する
--https://twitter.com/seana_bot
+OAuth に必要な情報を得る
--https://dev.twitter.com/apps/new
Consumer key
Consumer secret
Access token
Access token secret
+[[参考サイト>http://www.fukudat.com/wiki/ja/Perl%E3%81%AB%E3%82%88%E3%82%8BTwitter_bot%E3%81%AE%E4%BD%9C%E3%82%8A%E6%96%B9]]をコピペして,実行してみる
#!/usr/bin/perl
use strict;
use Net::Twitter;
use utf8;
binmode STDOUT, ":utf8";
my $consumer_key = "<<<YOUR OWN consumer key>>>";
my $consumer_secret = "<<<YOUR OWN consumer secret>>>";
my $access_token = "<<<YOUR OWN access token>>>";
my $access_token_secret = "<<<YOUR OWN access token secret>>>";
my $handle = Net::Twitter->new({
traits => [qw/OAuth API::REST API::Search/],
consumer_key => $consumer_key,
consumer_secret => $consumer_secret,
access_token => $access_token,
access_token_secret => $access_token_secret});
#do_search($_) foreach @ARGV;
my $msg = "てすと投稿です";
my $handle = Net::Twitter->new({
traits => [qw/OAuth API::REST/],
consumer_key => $consumer_key,
consumer_secret => $consumer_secret,
access_token => $access_token,
access_token_secret => $access_token_secret});
my $ret = $handle->update({status=>$msg});
print "Cannot post!!" unless $ret;
sub do_search {
my $term = shift;
my @results;
my $rs = $handle->search({q=>$term, lang=>"ja", page=>1, rpp=>100});
if (ref $rs eq 'HASH' && exists $rs->{results}) {
if (@{$rs->{results}}) {
print_post($_) foreach @{$rs->{results}};
}
}
}
sub print_post {
my $t = shift;
print "$t->{from_user} (on $t->{created_at}) $t->{text}\n";
}
+cron(定期的にコマンドやプログラムを実行する)
--crontab -e
---http://www.express.nec.co.jp/linux/distributions/knowledge/system/crond.html
---http://www.server-memo.net/tips/crontab.html
--例えば ... 1-59/2 * * * * /usr/bin/perl /home/(...)/twitter.pl
--&color(red){注意...Twitterは同じ内容の投稿を続けてできない仕様になっている.};
*** 問題 [#j01e9360]
+Wide character in ...
***自分のボット [#j9b1b5de]
-しいなちゃんぼっと https://twitter.com/seana_bot
今後,まじめに観光案内をする予定
-うらしいなちゃんぼっと https://twitter.com/kmry_bot
卒論のボツになったテーマを実装してみた
ちょっと卑猥な印象を受ける単語に変換して返信するボット
Twitter にもかかわらず,よく聞き取れないという...設定
うらしいなちゃんは,「え,○○って言ったの?」と聞き返す
|しいなちゃん|うらしいなちゃん|
|&ref(seana-chan.png,,20%);|&ref(seana-chan-2.png,,20%);|
***【今後】自分宛のツイートを取得して,解析して,返信ツイートをする [#scd624db]
+自分宛のツイートがあるのか定期的に確認する
--$ ./twitter-search.pl "kmry_bot"
---seana_bot (on Thu, 13 Dec 2012 04:49:00 +0000) @kmry_bot 今日は雪がたくさん積もっていたので雪かきをしてきました。
---kmry_bot (on Thu, 13 Dec 2012 03:48:39 +0000) てすと投稿です
--$ ./twitter-search.pl "@kmry_bot"
---seana_bot (on Thu, 13 Dec 2012 04:49:00 +0000) @kmry_bot 今日は雪がたくさん積もっていたので雪かきをしてきました。
+自分宛のツイートの内容があれば,内容を次のように分ける
--相手のアカウント名
--本文
--URL
--ハッシュタグ
+上記から,本文のみを抽出し,形態素解析,構文解析を行う
+○○手法を用いて,(相手のIDをつけて)返答する
--○○手法は,自分で考える
+得られた情報をログに残す
終了行:
**Twitter bot を作る [#o4bbd142]
***参考サイト [#oaaa53ee]
+[[PerlによるTwitter botの作り方>http://www.fukudat.com/wiki/ja/Perl%E3%81%AB%E3%82%88%E3%82%8BTwitter_bot%E3%81%AE%E4%BD%9C%E3%82%8A%E6%96%B9]]
+[[twitter botをつくってみる。(3) - botのプログラミング>http://cuddlecore.blog.shinobi.jp/Entry/6/]]
+[[PerlでTwitterクライアント製作メモ その1>http://d.hatena.ne.jp/tohky/20100822/1282429132]]
+[[CPAN string-similarity>http://search.cpan.org/~mlehmann/String-Similarity-1.04/Similarity.pm]]
+[[UTF-8のフラグ>http://blog.xaxxi.net/2009/12/04/cannot-decode-string-with-wide-characters-%E3%81%AE%E7%9B%B4%E3%81%97%E6%96%B9/]]
+[[UTF-8のフラグ>http://d.hatena.ne.jp/libkazz/20070605/1181026439]]
***Perl CPAN Net::Twitter を利用する OAuthを利用する [#e089b4fe]
+twitter bot用の(捨て)アカウントを作成する
--https://twitter.com/seana_bot
+OAuth に必要な情報を得る
--https://dev.twitter.com/apps/new
Consumer key
Consumer secret
Access token
Access token secret
+[[参考サイト>http://www.fukudat.com/wiki/ja/Perl%E3%81%AB%E3%82%88%E3%82%8BTwitter_bot%E3%81%AE%E4%BD%9C%E3%82%8A%E6%96%B9]]をコピペして,実行してみる
#!/usr/bin/perl
use strict;
use Net::Twitter;
use utf8;
binmode STDOUT, ":utf8";
my $consumer_key = "<<<YOUR OWN consumer key>>>";
my $consumer_secret = "<<<YOUR OWN consumer secret>>>";
my $access_token = "<<<YOUR OWN access token>>>";
my $access_token_secret = "<<<YOUR OWN access token secret>>>";
my $handle = Net::Twitter->new({
traits => [qw/OAuth API::REST API::Search/],
consumer_key => $consumer_key,
consumer_secret => $consumer_secret,
access_token => $access_token,
access_token_secret => $access_token_secret});
#do_search($_) foreach @ARGV;
my $msg = "てすと投稿です";
my $handle = Net::Twitter->new({
traits => [qw/OAuth API::REST/],
consumer_key => $consumer_key,
consumer_secret => $consumer_secret,
access_token => $access_token,
access_token_secret => $access_token_secret});
my $ret = $handle->update({status=>$msg});
print "Cannot post!!" unless $ret;
sub do_search {
my $term = shift;
my @results;
my $rs = $handle->search({q=>$term, lang=>"ja", page=>1, rpp=>100});
if (ref $rs eq 'HASH' && exists $rs->{results}) {
if (@{$rs->{results}}) {
print_post($_) foreach @{$rs->{results}};
}
}
}
sub print_post {
my $t = shift;
print "$t->{from_user} (on $t->{created_at}) $t->{text}\n";
}
+cron(定期的にコマンドやプログラムを実行する)
--crontab -e
---http://www.express.nec.co.jp/linux/distributions/knowledge/system/crond.html
---http://www.server-memo.net/tips/crontab.html
--例えば ... 1-59/2 * * * * /usr/bin/perl /home/(...)/twitter.pl
--&color(red){注意...Twitterは同じ内容の投稿を続けてできない仕様になっている.};
*** 問題 [#j01e9360]
+Wide character in ...
***自分のボット [#j9b1b5de]
-しいなちゃんぼっと https://twitter.com/seana_bot
今後,まじめに観光案内をする予定
-うらしいなちゃんぼっと https://twitter.com/kmry_bot
卒論のボツになったテーマを実装してみた
ちょっと卑猥な印象を受ける単語に変換して返信するボット
Twitter にもかかわらず,よく聞き取れないという...設定
うらしいなちゃんは,「え,○○って言ったの?」と聞き返す
|しいなちゃん|うらしいなちゃん|
|&ref(seana-chan.png,,20%);|&ref(seana-chan-2.png,,20%);|
***【今後】自分宛のツイートを取得して,解析して,返信ツイートをする [#scd624db]
+自分宛のツイートがあるのか定期的に確認する
--$ ./twitter-search.pl "kmry_bot"
---seana_bot (on Thu, 13 Dec 2012 04:49:00 +0000) @kmry_bot 今日は雪がたくさん積もっていたので雪かきをしてきました。
---kmry_bot (on Thu, 13 Dec 2012 03:48:39 +0000) てすと投稿です
--$ ./twitter-search.pl "@kmry_bot"
---seana_bot (on Thu, 13 Dec 2012 04:49:00 +0000) @kmry_bot 今日は雪がたくさん積もっていたので雪かきをしてきました。
+自分宛のツイートの内容があれば,内容を次のように分ける
--相手のアカウント名
--本文
--URL
--ハッシュタグ
+上記から,本文のみを抽出し,形態素解析,構文解析を行う
+○○手法を用いて,(相手のIDをつけて)返答する
--○○手法は,自分で考える
+得られた情報をログに残す
ページ名: