新・元地方の中規模印刷会社で苦悩する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の連絡先をAndroidの連絡先に転送する方法(GmailにCSVをインポート)

1年以上前の記事です。内容が古い可能性があります。ケータイ(スマートフォン)の機 …

no image
最近のフォント事情

1年以上前の記事です。内容が古い可能性があります。かつて、フォントというとビット …

つぶくま新年会@秀萬(熊谷市のツイッターポータル)

1年以上前の記事です。内容が古い可能性があります。先日、「秀萬」でつぶくま新年会 …

no image
エレベーターで間違って押してしまった階をキャンセル(取消)するのは2度押し

1年以上前の記事です。内容が古い可能性があります。エレベーターで下りる階とは違う …

iPhone(アイフォーン)で「Eメール(i)」の受信通知を非表示にする(表示させない)方法

1年以上前の記事です。内容が古い可能性があります。以前、書いたと思っていたのです …

上野始発限定「高崎線」&「宇都宮線」時刻表

1年以上前の記事です。内容が古い可能性があります。熊谷(以北)に住んでいる通勤族 …

WebのデータをZIP圧縮して受け取ったら注意すること

1年以上前の記事です。内容が古い可能性があります。「つぶくま」オープンしました。 …

Facebook(フェイスブック)はおじさん。ツイッターは中高生。インスタグラムは女子に人気

1年以上前の記事です。内容が古い可能性があります。なんでも、「Facebook( …

気をつけよう!口に出して言えない職場での迷惑行為ランキング

1年以上前の記事です。内容が古い可能性があります。あるある~。サラリーマンやめち …

no image
McAfeeその後

1年以上前の記事です。内容が古い可能性があります。さっそくMcAfeeからメール …

血液型オヤジ