• ベストアンサー

質問は以下のURLと同じなのですが・・・

質問は以下のURLと同じなのですが・・・ http://soudan1.biglobe.ne.jp/qa5450733.html サーバーはhttp://ktkr.net/index.phpを使っており、cronは使えるようです。 twitterのbotのPHPファイルを定期的に実行させるということはわかりましたが、どんな拡張子のファイルやフォルダを作り、どう記述し、どうアップロードしたらいいか、検索をかけてみてもなかなか出てきません。 初心者で申し訳ありません。

質問者が選んだベストアンサー

  • ベストアンサー
  • liv2007
  • ベストアンサー率81% (378/464)
回答No.1

質問内容は以下の通りという事ですね。 『twitterでbotを使い、1時間ごとにランダム発言をさせたい のですが、cronというものの使い方がわかりません。』 Ktkr Serverでのcronの利用方法は公開されていないようです。 コントロールパネルから設定する事だけは分かりましたので、 実際にログインして確認してみてください。 設定方法や設定例が記述されているかもしれません。 分からない場合は、コントロールパネルのcron設定画面がどの ようになっていたか、入力欄の項目名や注意書き等があれば それらも返信で教えてください。 twitterへのbotスクリプトは既に用意してあるのでしょうか? 次のサイトで配布されているスクリプトを使用する場合は、 アップロードするファイルは以下のようになります。 http://pha22.net/twitterbot/ ・1.42(安定版)を使用する場合 ※6月から認証方式が変わるそうですので、2.04betaを使用 した方が良さそうです。 1.「post_random.php」(※要設定) 2.投稿用のデータを書き込んだテキストファイル(※要編集) 3.「Services」フォルダ丸ごと 上記のフォルダとファイルをアップロードします。 ・2.04beta(最新のベータ版)を使用する場合 1.「bot.php」(※要設定) 2.投稿用のデータを書き込んだファイル(※要編集) 3.「setting.php」(※要設定) 4.「EasyBotter.php」 5.「PEAR」フォルダ丸ごと 上記のフォルダとファイルをアップロードします。 設定方法は、サイトで「Ver.2.0 基本の設定」のメニューを 順番に確認してください。 http://pha22.net/twitterbot/2.0/start.php ちなみに、おそらくcronの実行パスは、以下のようになると思います。 「/usr/bin/php /home/ユーザ名/public_html/設置したディレクトリ名/bot.php」 以下、cronの設定(時間指定方法など)の参考にしてください。 http://www.express.nec.co.jp/linux/distributions/knowledge/system/crond.html http://www.japan9.com/cgi/cron.cgi ※1時間に1回程度なら大丈夫だと思いますが、サーバーに負荷の 掛かる事は禁止されていますので、あまり短時間で実行しないよう にしてください。

その他の回答 (1)

  • liv2007
  • ベストアンサー率81% (378/464)
回答No.2

2.04betaですが、アップロードするファイルに「log.dat」を 追加してください。 ただ、こちらの環境では以下のエラーが出て、結果的には 何回試しても動作しませんでした。 http://wiki.livedoor.jp/easybotter_wiki/d/ver.2.0*%A4%E8%A4%AF%A4%A2%A4%EB%BC%C1%CC%E4*PHP%A5%A8%A5%E9%A1%BC#content_2 動作しなかった場合は、EasyBotterからもリンクされていますが、 以下のページで紹介されている方法を試してみてください。 http://www.sdn-project.net/labo/oauth.html 1.「TwitterへOAuthクライアントの登録」で紹介されている手順に 従って、登録を完了してから「"Access Token"と"Access Token Secret"の取得」に従って、"Access Token"と"Access Token Secret"を 取得するか、あるいは、以下のページのリンク先にアクセスして、 "Access Token"と"Access Token Secret"を取得します。 http://pha22.net/twitterbot/oauth/link.php ※こちらで取得されるのは、EasyBotterの"Access Token"と"Access Token Secret"です。 ※"Consumer key"と"Consumer secret"は、EasyBotterの物(「setting.php」 に記述されている)をそのまま使用します。) 2.「PHPでOAuthを使う準備」の解説を読んで、「twitteroauth」を 使用する準備をします。 (※GitHubからファイルをダウンロードして解凍し、必要なファイル のみアップロード) 3.ブラウザでアクセスして、「実際にPHP+OAuthでTwitterにPOSTする」の コードが正常に動作するか確認します。(※ファイル名は任意) ※4種類のキーをそれぞれ設定します。 4.コピーしたコードが問題なく動作したら、ランダムに投稿できるよう に若干修正します。 次の手順で修正する箇所よりも前に、以下のコードを追加します。 $mytxt = file("data.txt"); // 投稿するテキストを書いたファイル $n = array_rand($mytxt); $random_txt = $mytxt["$n"]; 5.コードの修正 $req = $to->OAuthRequest("https://twitter.com/statuses/update.xml","POST",array("status"=>"Test OAuth update.")); 上記の行を以下のように修正します。 $req = $to->OAuthRequest("https://twitter.com/statuses/update.xml","POST",array("status"=>$random_txt)); 正常に動作する事を確認してから、cronでの実行を試してください。 ※cronの実行パスは、おそらく以下のようになります。 「/usr/bin/php /home/ユーザ名/public_html/設置したディレクトリ名/任意のファイル名.php」

psyche_m
質問者

お礼

初心者質問に丁寧に答えてくださってありがとうございます。 botは既に用意してありましたが、わざわざ判りやすく説明していただけて嬉しいです。 サーバー側にはcronの仕様を質問してみます。 本当にありがとうございます。

関連するQ&A