schwarzewaldやっぱりある程度は勉強しておいた方が出来る事も増えるわけで。言っても自分もPHPやxmlに関してはまだほんの一端を齧っただけなのでまだまだ勉強中ではありますが、目下参考にしている書籍やらサイトやらを自分用のメモ兼ねて纏めておきます。多少なりともbotの作り方の参考になれば幸い。・サイトPHPの公式マニュアル日本語版。解説サイトや書籍はあれど、正確さの上では本家本元が一番との定評アリ。PHPマニュアルでも多少分かりにくいところはあったり、そもそも基本的な事を勉強するにはどこから手をつけたらいいか分からなかったりするので、ある程度分かりやすく噛み砕いて解説しているサイトや本と併用するのがいいかもしれない。phpspot基本的な事を分かりやすく解説しているサイト。正規表現やPHP5、MySQLに関するtipsもあり。・書籍[tmkm-amazon]4774125024[/tmkm-amazon]持ってる本の中でも使用頻度が格段に高いのがこれ。自分が持っているのは改定前のバージョンですが、常に手元に置いて「こういう処理やるのにどんな関数があるかなー?」ということを調べたい時に目次を探したりする時に重宝しています。版が小さくて取り回しがしやすいのもよく使う理由の一つかと思われます。[tmkm-amazon]479733245X[/tmkm-amazon]「PHPポケットリファレンス」は逆引き事典として使うにはいいけど、基本的な事を一から勉強するには少々使いにくいかもしれない。分かりやすさの上で言ったらこっちの方が優しいかな。TwitterのAPIの仕様を調べるにはここが一番正確で情報も早いかと思われます。Documentation(英語)日本語訳もあります。日本語訳仕様書サイトの中の人が書いた書籍。多少情報は古いけど、基本的な事は変わっていないので日本語訳のサイトと併せて読むと分かりやすいかも。問題は絶版になってて入手が困難になってるということ。唯一あったamazonじゃ結構なぼったくり価格になってるし。加筆修正版が再販されたりしないだろうか。APIに使われるxmlというものが一体どういうもんなのかを理解しておけば色々と便利。分で学ぶphpによるxmlデータの処理の仕方について。変換する・書籍...実はまだ持ってない。お勧めの本とかあったら教えてください。cron関連これも知らない。いうか本はもとより解説サイトも見つからねぇ!(涙ぐぐって出てくるのはUNIX関連のサイトばっかりで親切な初心者向けリファレンスというのが見つからないし、本もこれまた見つからない。使うとしたらターミナルから直接コマンド打ち込んで使うcrontabよりはレンタルサーバーのコントロールパネルから操作する方だろうけど、うちで借りてる鯖についてたマニュアルはこれまた不親切極まりなくて全く分からなかった(笑ちなみにMacOSXには最初からapacheもPHPもバンドルされているので、Macユーザーであればレン鯖借りなくても自分のマシンだけでbotを動かす事も可能だったりする。crontabの設定もCronnixという専用のソフトがあったりするし。その代わりMac立ち上げていない時は動かせないけど。apacheを動かすにはシステム環境設定の共有メニューで「Web共有」にチェック入れるだけでいいんだけど、PHPを動かすにはrootログインしてhttpd.confを弄ったりしないといけないので、そこがちと面倒で敷居が高いかもしれない。textエラーが出るという規制が導入されたようなので(Twitter、重複つぶやきをブロック開始)、その対策バージョンです。例によって同時にソースコードも公開しております。最近投稿された10件分のpostを記録し、それと同じ内容のpostをしない仕様になっております。よってその性質上、botの発言内容ファイルには11件以上のpost内容が入っている必要があるので、それより少ない場合は増やしてからお使いください。新たに追加されたlastlog.txtが最新10件分を記録するファイルになっています。本体と同じディレクトリにアップロードした後、パーミッションを666に変更してください。ver.1.0を使っている人はlastlog.txtファイルに最近のbotの発言10件分をコピーして格納しておくといいと思います。その場合は文字コードをUTF-8に変更するのをお忘れなく。記録しておくpostの数を適宜調整すれば、同じ内容を短期間の間に繰り返すということを阻止できるかもしれません。10;のところの数字を変更してください。postさせる文章は".$lastmax."件以上記録してください。schwarzewaldTwitterのジョセフbotにreply機能を付けてみました。twitter上で@joseph_jobsonで話しかけると、ランダムで何か返信します。例によってソースコードを公開しているので、ご自由にお使いください。前回の実行時のbot宛のreplyの記録を残し、新着replyがあった時にはそれ以降のreplyに対してのみ返信します。プログラム実行時にbot宛のreplyが無い時には処理をスキップするので安心。in_reply_status_idを指定する事により、返信先のpostに対して「○○宛」というリンクが貼られる為、元発言が参照しやすくなっております。pear等のライブラリの類は一切未使用で分かりやすくなっております。いや自分がpearのインストールが上手く行かなくて躓いたので、そういうの使ってないスクリプトが欲しかっただけです。PHP4以下の環境では作動しません。使い方zipファイルを解凍。twitter_reply.php、reply.txt、tmp.txtの3つのファイルが出てくる。twitter_reply.phpのユーザー名とパスワードを変更し、reply.txtに返信させたい内容を一行ずつ記入する。返信内容の本文中に$nameと入れると、投稿時にその部分が相手の名前に置き換わる。アップロードしたら以下のファイルのパーミッションを変更する。...666あとは前の記事と同じようにcronを設定する。今回はreplyに特定の語句が含まれていると専用の台詞を返す機能を試験的に実装しています。真ん中のあたりにこんな感じのソースがあるので、適宜変更して使ってください。$lines[0];}1行目〜3行目、4行目〜6行目、7行目〜9行目でそれぞれ一セットになっています。最初の一塊の場合はbot宛のreplyの中に「おやす」「お休」という文字が含まれていた場合、「......zzz」というreplyを返します。パターンを増やしたい場合は4行目〜6行目のelseifから}までをコピーして次の行に貼り付けてください。当該機能を使わない場合は上記の部分のコードを削除し、代わりに以下の一行を入れてください。$lines[0];ちなみにcron経由で動かした時に上手く行かなかった原因としては、コマンドが宜しくなかった模様。前の記事に書いたコマンドでも動く事は動きますが、あれだけではサーバーのデフォルトであるPHP4として実行してしまっていた模様。その結果としてPHP5から実装された関数であるsimplexml_load_fileが上手く作動せず、エラーを起こしてしまっていたらしいです。代わりに以下のコマンドを使うといいようです。twitter_reply.phpcdはUNIXコマンドでディレクトリを指定するという意味で、その次の青文字が異動先であるスクリプトの入ったディレクトリの絶対パス、その次の赤文字がphp5のパス、そして最後の緑文字が動かしたいスクリプトになる。色の違う文字の間には半角スペースを入れること。赤文字と青文字の部分はサーバーによって設定が違うので、そこらへんは使う環境に合わせて調べていただきたい。