新・元地方の中規模印刷会社で苦悩するWebデザイナー改めWebディレクターの日記

自由な20代、窮屈な30代を経て、遂に40代になっちまったWebディレクター&パソコン講師の覚書と思う言(こと)。略称【ちほちゅう】

*

ツイッター(twitter)botを「さくらインターネット」に設置

      2014/11/09

  • このエントリーをはてなブックマークに追加

1年以上前の記事です。内容が古い可能性があります。

熊谷市のツイッターポータルサイト「つぶくま」のマスコット「つぶくま」くんのアカウントをbot化しました。
以下手順を説明します。

つぶくまチラシ#1 A4版
■ 埼玉県熊谷市のtwitter(ツイッター)ポータル 【つぶくま】
■ つぶくま (tubu_kuma) on Twitter

スポンサーリンク
 

まずはスクリプトを用意します。
こちらに日本で一番有名なニートphaさんの作ったスクリプトがありますのでこれを使わせていただきます。
プログラミングができなくても作れるTwitter botの作り方
 「ダウンロード」から「バージョン2.04betaをダウンロード」してください。

以下、phaさんの解説通りに「秀丸」でも使って、

  1. data.txtの編集
  2. reply_pattern.phpの編集
  3. bot.phpの編集
  4. setting.phpの編集
  5. 試しにbotを動かしてみる
  6. cronの設定をする

と進めていけばOK。

途中注意すべき点は

  • ユニコードが扱えるテキストエディタで編集する(「メモ帳」不可、「秀丸」でしたらOK)
  • 「data.txt」と「reply_pattern.php」はリプライやツイートのパターンによって複数作ったほうが管理しやすい。
  • 最終的に「bot.php」を動かすのでこちらに「data.txt」や「reply_pattern.php」をどう使うか書き込む。
  • 「setting.php」に使う「$consumer_key」「$consumer_secret」「$access_token」「$access_token_secret」の取得方法(後述します)
  • アップロード後のパーミッション設定を忘れずに。「data.txt(誤記?)」と「reply_pattern.php」と「log.dat」を666に。
  • cronの設定方法(後述します)

まずは「setting.php」に使う「$consumer_key」「$consumer_secret」「$access_token」「$access_token_secret」の取得方法から。
phaさんのところにも簡単に取得できる方法が書いてありますが、僕は「API」とかじゃなくて下のように「つぶくま」からの投稿にしたかったのでちょっと手をかけてあげました。

  1. まずはbotにしたいツイッターアカウントでツイッターにログインしておく。
  2. 次に「Twitter Applications | dev.twitter.com」へアクセス。
  3. 「新しいアプリケーションを追加 ≫」をクリック
  4. 「アプリケーション登録申請」となりますので以下の項目を入力します。
    アプリケーション名 : ここで設定したものが「~から」に表示されます。ここでは「つぶくま」
    アプリケーションの説明 : 10文字以上の文字列。この場合どんなbotか書いておくと便利。
    アプリケーションのウェブサイトURL : 特に必要ないが必須。つぶくまのサイトURLを入れておいた
    アプリケーションの種類 : 「クライアントアプリケーション」に設定
    Default Access type : 「Read & Write」に設定
    アプリケーションのアイコン : あとでも変えられるそうですがとりあえずつぶくまくんにしておいた。
  5. 入力が済んだら「アプリケーションを登録する」をクリック→「I Accept」をクリック
  6. 「つぶくま(任意) Settings」という画面になったら成功。
    下の方にある「Consumer key」が「$consumer_key」。
    「Consumer secret」が「$consumer_secret」になる。
  7. 右にある「My Access Token」ボタンを押すと「Access Token (oauth_token)」と「Access Token Secret (oauth_token_secret)」を確認するとこができる。
    それぞれ「Access Token (oauth_token)」が「$access_token」。
    「Access Token Secret (oauth_token_secret)」が「$access_token_secret」になる。

次にcronの設定方法。さくらインターネットを使う理由はここにあります。
さくらインターネットでcronを設定するのは以下の記事を参考に。
□ mixiとブログのアンオフィシャルな連携方法
□ 「twitter2mixivoice」を「さくらインターネット」に導入

ただし、今回は実行コマンドの記述が少々特殊です。
それに関しては以下の記事が参考になりました。
WOMO :: さくらのレンタルサーバで Twitter bot を動かす :: 2010/04/14

Cron の設定では実行コマンドで、bot.php を設置したフォルダに移動してから php で実行しているところがポイント。cd での移動がないとライブラリが読み込めず、Bot が動作しない模様です。

PHP TIPS Vol.6

コマンドラインで実行するときはHTTPヘッダは不要な場合が多いので”-q”又は”-f”を 付けて実行することが多いと思います。ここでは”-q”を付けることにします。

さらにphaさんの解説にあるpost_random.php か post_rotation.php か reply_random.phpってのはおそらくVer.1.4以前の事だと思います。
Ver.2.0になってすべて「bot.php」で動かせるようになっているみたいです。

したがって実行コマンドは以下のとおり。

cd /home/plotfactory/EasyBotter2.04beta/ ; /usr/local/bin/php -q bot.php 1> /dev/null

これを僕の場合5分おきに動かしています。
つぶくまcron

 - ツイッター(Twitter), プログラミング, 覚え書き ,

アドセンス広告メイン

Message

メールアドレスが公開されることはありません。

  関連記事

社内ネットワークのパソコンでパスワードを変えたら確認して置きたい唯一の設定

1年以上前の記事です。内容が古い可能性があります。Windowsマシンを社内ネッ …

カーナビの地図更新サービスの無料期間が終わりそうなので地図データをアップデートしてみた(データ更新編)

1年以上前の記事です。内容が古い可能性があります。1. ID取得編 | …

Twitter(ツイッター)「フォローミー祭り」終了か?

1年以上前の記事です。内容が古い可能性があります。ツイッターの@followme …

no image
移転初日

1年以上前の記事です。内容が古い可能性があります。移転初日です。 Webの仕事ど …

ツイッターに何でも連携。「twitterfeed」でYahoo!ブログも

1年以上前の記事です。内容が古い可能性があります。ライブドアブログ(livedo …

水濡れ故障のタブレット、復活の可能性はカメラの曇りにあり

水濡れタブレット復活日記、続いては復活の可能性に関してです。 諦めた頃に復活した …

Facebook(フェイスブック)に同期された連絡先(電話帳)情報を削除する方法

1年以上前の記事です。内容が古い可能性があります。なんかね。 おそらくiPhon …

ツイッター(Twitter)が有料化【今週のトピック】

1年以上前の記事です。内容が古い可能性があります。というデマが広がっていたそうで …

ミュージシャン「鬼塚ちひろ」、ツイッターでタレント「和田アキ子」への殺人願望を明らかに

1年以上前の記事です。内容が古い可能性があります。これは新しいツイッター(Twi …

ワードプレス(WordPress)にRSSを読み込ませる方法 #wp

1年以上前の記事です。内容が古い可能性があります。ワードプレスにはRSSを読み込 …

血液型オヤジ