新・元地方の中規模印刷会社で苦悩する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

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

  関連記事

iPhoneでYouTubeをBGMに使う方法

1年以上前の記事です。内容が古い可能性があります。iPhone(アイフォーン)で …

大地震で死なないために持っておきたい3つのアイテム

1年以上前の記事です。内容が古い可能性があります。画像転載系ブログ「あごひげ海賊 …

no image
他サービスとの連携を止める方法 【Google編】

1年以上前の記事です。内容が古い可能性があります。SNSだったら分かりやすいので …

YouTube動画とtwitter(ツイッター)の連動の仕方 (10/26追記)

1年以上前の記事です。内容が古い可能性があります。キースへリング美術館に行ってき …

「livedoor Blog(ライブドアブログ)」から「WordPress(ワードプレス)」へ全記事をインポートする方法【ブログのお引越し】

1年以上前の記事です。内容が古い可能性があります。ブログ移転後にした作業を少しず …

セールを逃したくなければギフトを送れ【iPhoneアプリ】

1年以上前の記事です。内容が古い可能性があります。これには目からウロコ。実際は会 …

水筒の水漏れ防止のポイント。キャップを締めた際の違和感に注意

1年以上前の記事です。内容が古い可能性があります。水濡れタブレット復活日記。 前 …

no image
バグを逆手にプログラミング(CSSハック)

1年以上前の記事です。内容が古い可能性があります。livedoor ニュース & …

「New Header Daily」でヘッダー画像を毎日素敵な画像に自動更新【ツイッター】

1年以上前の記事です。内容が古い可能性があります。なんだかんだ言って一番長続きし …

WordPress3.4にアップデートしたらカスタムフィールドで入力した項目が表示されなくなった

1年以上前の記事です。内容が古い可能性があります。つい先日、WordPress( …

血液型オヤジ