asklife

IT&Life

Tag: twitter (page 1 of 2)

素人でもたぶん5分で完成するツイッターボットの作り方|asklife

素人だけどツイッターボットを作ってみたいという人向け

この記事は

①超簡単に作りたい人用ツイッターボットの作り方
②簡単だけどちょっと自由に作りたい人用ツイッターボットの作り方

という構成になっています。

超簡単に作りたい人用ツイッターボットの作り方



twitterボットジェネレーター
というサービスにツイッターでログインするだけでボットが作れます。

手順①ツイッターでログイン認証をします。

トップページの画面でログインボタンをクリック→もう一度ログインボタンが出るのでクリック

ボットにしたいアカウントかを確認して許可するをクリック

ログインが完了しました。

手順②つぶやかせたい内容を入力

つぶやきをクリック→つぶやきを記入します

ボットにつぶやかせる間隔を決める。最高で30分間隔につぶやかせることが可能です。

その他、返信設定(おはようとリプライされたらおはよーと返す等)等も設定可能です。

簡単だけどちょっと自由に作りたい人用ツイッターボットの作り方

EasyBotterというプログラミングパッケージを使います。

まずはトップページ中盤にあるバージョン2.05というzipファイルをダウンロード・解凍します。

書き換える必要があるファイルはdata.txt と setting.php と bot.phpの三つです。

data.txtを設定する

data.txtに記述する内容がつぶやきになります。

つぶやきごとに改行して登録します。

いろはにほへと ちりぬるを
わかよたれそ つねならむ
うゐのおくやま けふこえて
あさきゆめみし ゑひもせす
ん

最初はいろは歌が入っています。
「いろはにほへと ちりぬるを」で一つのつぶやき
「わかよたれそ つねならむ」で一つのつぶやき
というようになっています。

setting.phpを設定する

ステップ①

まずこちらでツイッターにログインして許可するをクリックします。

するとAccess TokenとAccess Token Secretが手に入るのでコピペしておきます。

ステップ②

setting.phpで変える必要があるところは

①screen_nameの"と"の間にbotのアカウント名を入れます。
②access_tokenの"と"の間にAccess Tokenの値を入れます。
③access_token_secretの"と"の間にAccess Token Secretの値を入れます。

の三つです。
①はボットのツイッターアカウント
②③はステップ①でメモした長い文字です。

consumer_keyとconsumer_secretは変える必要はありません。

consumer_key = "WtNt5W6js77cFHvKyVgf6Q"; // Consumer keyの値
consumer_secret = "h3In28YiiRxtg4PTpkhPmrlJSGOCTG2oh3hslQ"; // Consumer secretの値

bot.phpを設定する

//$response = $eb->postRandom("data.txt"); 
//$response = $eb->postRotation("data.txt");

難しいことは考えずに上記の//を消していきましょう。そうすると自動でつぶやく機能がONになります。
返信等の詳しい機能がありますが興味がある方は挑戦してみてください。基本的には同じ考え方です。

設定完了、フォルダごとサーバーにアップロードします。

http://○○.com/EasyBotter2.05/bot.php
↑○○には自分のHPのアドレスが入ります。

bot.phpにアクセスするたびにボットがつぶやきます。

せっかくだから自動化させたい人はcronを使おう

さくらのサーバーを想定します。
この辺りの記事を参考にして下さい。

①さくらのサーバーコントロールパネルにログイン→アプリケーションの設定→cronの設定

②cron設定一覧→新規項目の追加→cronスケジュール設定

実行コマンドに

cd /home/ドメイン名/www/cronで実行するphpを入れてあるフォルダ名/;
半角スペース/usr/local/bin/php -f /home/ドメイン名/www/
cronで実行するphpを入れてあるフォルダ名/cronで実行するphp 1> /dev/null

と記入し、cronで実行する(phpページに訪れる)時間を決める。

画像のように * * * 10と記入すると10分おきの更新となる。

送信を押して、完了。

追記

勝手にファンな @fta7 さんがtwitterでbotを作ろうとしていたのでまとめ記事を作ってみました。本当に5分で出来んのかって感じですが参考になればと思います。

参考書籍

twitterで特定のキーワードをつぶやいた人を自動でフォローする設定にしたので解説

twitterで特定のつぶやきをした人を自動でフォローするスクリプト

※この情報は2011/1/4のものです。現在(2013年)では古いので使えません。
※また、当時はTwitterが初期の頃でこんなこともありでしたが、今(2013年)Twitterはマナーを大事にするポリシーに変わっています。自己責任でどうぞ。

<?php
define("CONSUMER_KEY" , "");
define("CONSUMER_SECRET" , "");
define("OAUTH_TOKEN" , "");
define("OAUTH_TOKEN_SECRET" , "");
define("KEYWORD" , "特定のキーワード");
define("SEARCH_COUNT" , 10);
require_once("twitteroauth/twitteroauth.php");


// search 
function search() {
	$ch = curl_init("http://search.twitter.com/search.json?q=
" . urlencode(KEYWORD) . "&rpp=" . SEARCH_COUNT . "&lang=ja");
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
	$res = curl_exec($ch);
	curl_close($ch);
	$ret = array();
	if (!$res) {
		fputs(STDERR , "Failed to get response\n");
		return $ret;
	}
	$json = json_decode($res);
	if (!$json) {
		fputs(STDERR , "Failed to get json\n");
		return $ret;
	}
	foreach ($json->results as $r) {
		if (isset($r->from_user)) {
			$ret[] = $r->from_user;	
		}
	}
	return $ret;
}

$connection = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET, 
OAUTH_TOKEN , OAUTH_TOKEN_SECRET);
// get friends
$friends_data = $connection->get("statuses/friends");
$friends = array();
foreach ($friends_data as $f) {
	if (isset($f->screen_name)) {
		$friends[] = $f->screen_name;	
	}
}

// search
$result = search();

foreach ($result as $r) {
	if (!in_array($r , $friends)) {
		// follow
		$connection->post("friendships/create", array("id" => $r));
		fputs(STDOUT , "Follow {$r}\n");
		$friends[] = $r;
		sleep(5);
	}
}
?>

keyword_follow_oauth.php で保存してください。

こちらでzipをダウンロードしてtwitteroauthフォルダをkeyword_follow_oauth.phpと同じディレクトリにおいて下さい。

参考
Twitterで特定のキーワードをつぶやいたユーザーを自動でフォローするPHPスクリプト (OAuth版)

おすすめ関連記事
twitterで特定のキーワードをつぶやいた人を自動でフォローする設定にしたので解説
twitter自動リムーブ(オートアンフォロー)機能を追加したので解説
5分で出来るさくらサーバーでcronの設定をする方法

参考書籍

twitter自動リムーブ(オートアンフォロー)機能を追加したので解説

EasyBotterを使って自動リムーブ

参考サイト
EasyBotter
自動リムーブスクリプト

ステップ①
EasyBotterを設定します。
以下参考

大まかな流れ
①ファイルをダウンロードする
②エディタを使って、ダウンロードしたファイルにbotのユーザー名、
パスワードなどの設定や、botに発言させたい内容を書き込む
③編集したファイルをサーバーにアップロードする
④アップロードしたプログラムを定期的に実行する

ステップ②
壊れたカメラと壊れたボクも、トコシエに。さんが作った自動リムーブスクリプトを使います。

○EasyBotter.phpに追加するスクリプト

// 片思い自動リムーブ
function autoRemove() {
//フォロワーのidを全取得
$response = $this->getfollowerids();
$followList = array();
foreach($response as $id){$followList[] = $id;}

//フォローのidを全取得
$response = $this->getfriendsids();
$friendsList = array();
foreach($response as $id){$friendsList[] = $id;}

//片想いの人を$removeへ
$remove = array_diff($friendsList, $followList);
$remove_count = "0"; //おまじない

if ( !empty($remove) ) {
foreach($remove as $id){
$remove_count++;
//リムーブします。
$removereq = $this->consumer
->sendRequest("http://twitter.com/friendships/destroy/$id.json",array(),"POST");
}
}
echo $remove_count."人をリムーブしました。";
}

function getfollowerids() {
$url = "http://api.twitter.com/1/followers/ids/[あなたのBOTのTwitterのID].xml";
return $this->_getData($url);
}

function getfriendsids() {
$url = "http://api.twitter.com/1/friends/ids/[あなたのBOTのTwitterのID].xml";
return $this->_getData($url);
}

○新規ファイル制作。(remove.php)

?php
//=============================
//EasyBotterを呼び出します
//=============================
require_once("EasyBotter.php");
$eb = new EasyBotter();
$response = $eb->autoRemove();
?>

ステップ③
自動リムーブを実行する。

サーバー上のEasyBotter.phpと同じ場所に「remove.php」をアップロードし、ブラウザからremove.phpにアクセスしてください。
「〇〇人をリムーブしました。」と表示されれば成功です。

OAuthに関してはこのあたりを参考にして下さい。

おすすめ関連記事
twitterで特定のキーワードをつぶやいた人を自動でフォローする設定にしたので解説
twitter自動リムーブ(オートアンフォロー)機能を追加したので解説
5分で出来るさくらサーバーでcronの設定をする方法

参考書籍

5分で出来るブログ更新をtwitterに連携させる方法

ブログとtwitterの連携

ブログの更新をtwitterでつぶやくことはもはや常識のようになってきていますが
自動で出来ないものかと思い探したところfriendfeedというサービスがありました。

用意するものは自分のブログとtwitterです。

friendfeedに登録します。

②右上の設定→サービス追加編集→ブログ・RSSを登録をクリックします。
自分のブログ・サイトのRSSを記載してください。

③次にtwitterに連携させるためにここでtwitterにログインして、以下のようにチェックをつけていってください。

これで完了です。
かなり楽なので是非お試しあれ。

ソーシャルボタンを設置する方法

ソーシャルボタンを設置する方法をまとめ

ソースコードは以下を参照してください。


【twitter】
a href="http://twitter.com/share" class="twitter-share-button"
data-url="http://asklife.info/coupon" 
data-text="."
data-count="horizontal" 
data-via="asklife_jp" data-lang="ja">
Tweet

script type="text/javascript" src="http://platform.twitter.com/widgets.js">




【facebook】
iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fasklife.info%2Fcoupon&
layout=button_count&show_faces=true&
width=450&
action=like&
colorscheme=light&
height=80" scrolling="no" frameborder="0" style="border:none;
overflow:hidden;
width:450px;
height:80px;"
allowTransparency="true">


【GoogleBuzz】
a href="http://www.google.com/buzz/post"
  class="google-buzz-button" title="Google Buzz"
  data-message="Here’s Buzz!"
  data-url="http://www.google.com/buzz"
  data-locale="en"
  data-button-style="small-count">

script type="text/javascript" src="http://www.google.com/buzz/api/button.js">


【GREE】
iframe src="http://share.gree.jp/share?
url=
&type=0&height=20" 
scrolling="no" frameborder="0" marginwidth="0" marginheight="0" style="border:none; 
overflow:hidden; width:100px; height:20px;" allowTransparency="true">


【はてな】
a href="http://b.hatena.ne.jp/entry/
http://asklife.info" 
class="hatena-bookmark-button" 
data-hatena-bookmark-title="アスクライフ" 
data-hatena-bookmark-layout="standard" title="このエントリーをはてなブックマークに追加">
このエントリーをはてなブックマークに追加

script type="text/javascript" src="http://b.st-hatena.com/js/bookmark_button.js" charset="utf-8" async="async">

Older posts

© 2019 asklife

Theme by Anders NorenUp ↑