HDDがとうとうダメになってしまった

HDDを若干だましだまし使ってた(ぇ)ら意外に長く持っていたのだけれど、ついにダメになってしまったご様子。
HDD関連(Hardy Heron編)を参考にbadblocksをかけたら280セクタほど不良になってしまったみたい。
とりあえずfsckかけて必要そうなデータをデスクトップPCにコピーしておいて。

実は新しい500GBの2.5inchHDDは買ってあったので、そっちに付け替えてインストールし直し中。
前回からバージョンを最新のUbuntu Server 11.04に変えてみたけど普通にできたw

コンソールでの文字化けはUbuntu 11.04(Server版)のインストール:OSマニアの部屋:So-netブログを参考に。

Twitterlog消しました。

前回のPostの通りTwilogさんがいるのでばっさりTwitterlogの記事消してみた。
ついでにいろいろいじって、WordpressバージョンアップしようとしたらMySQLのバージョン低いって言われた(´・ω・`)
とりあえずtwitter toolsプラグインがバージョンアップしてOAuthに対応したのでサイドバーが更新されるようになったよ!
あとは投稿時にTwitterにPostしてくれれば・・・
(追記:URLながっw bit.lyプラグイン有効にしてみる)

あとはTwitter Botのページをそろそろ書き換えねば・・・
気が向いたらなんとなくUserStreamAPIに対応した記事でも書こうかね。

そういえば。

Twitterのログを引っ張ってくるプラグイン使って、
ログをひたすら更新させていてたわけなんですが、
この前のBasic認証終了とともに動作しなくなってますねw

とりあえずOAuth認証に対応させてまでログをこっちに移動しなくても
Twilog – http://twilog.org/L_tanがあるし。

というわけでまた不定期更新に戻しますー って2ヵ月経ってるけど。

サーバーが(ry (5) TwitterBot – TLと@にreply

というわけでBotの基本、誰かの発言にreplyとか@で送ってもらったメッセージにreply。

前のこれがupdate(発言)。
$twitter->statuses->update("んゅ?");

今回見るのはTLなのでこれで。

<code>
$arg = array("since_id"=>xxxxxx);
$tl = $twitter->statuses->home_timeline($arg);
</code>
xxxxを最後に取得したステータスIDにしておくとそれ以降が取得できる。

とりあえず取得した発言を処理処理。
<code>
foreach($tl as $at){
  // 発言したひとの名前(@~~用)
  $screen_name = $at->user->screen_name;
  // 発言
  $text = $at->text;
  // 発言ID (in_reply_to用)
  $reply_id = $at->id;
  // とりあえずRTには反応しない
  if(strpos($text, "RT") !== false){
    continue;
  }
  // 自分宛を取り除いて、それ以外にも@があったら反応しない
  $raw = str_replace("@Mint_bot", "", $text, $count);
  if(strpos($text, "@") !== false){
    continue;
  }

  // 宛先を作るよ
  $message = "@".$screen_name." ";
  if($count > 0){
    // リプライあり
    if(strpos($raw, "元気?") !== false){
      $message .= "今日も元気にがんばってます~";
    }else{
      continue;
    }
  } else {
    // リプライなし
    if(preg_match("/むくり|おはよう/u", $raw) === 1){
      $message .= "おはようございます♪";
    }else{
      continue;
    }
  }

  // データを設定
  $arg = array("status"=>$message, "in_reply_reply_to_status_id"=>$reply_id);
  // つぶやく
  $twitter->statuses->update($arg);
}
</code>

疲れた・・・実際のソースと違うから即動かないかもしれないけどこんな感じです。

サーバーが(ry (4) – TwitterBotにとりかかる

ようやくサーバーが動き出したのでTwitterBotの@Mint_botを復活させる。
とりあえずOAuthのトークンも消えてしまったので再取得。
PHP+OAuthでTwitter – SDN Project

前はServices_Twitter使ってたけど、
今回はAPIもいろいろ増えてるということでPEAR公式を。
PEAR::Services_Twitterのリスト対応

なんかパッケージのインストールとか全然うまくいってなくてごちゃごちゃ入れてようやく動いた。

<code>
<?php
require_once 'Services/Twitter.php';
require_once 'HTTP/OAuth/Consumer.php';

$consumer_key    = "xxxxx";
$consumer_secret = "xxxxxx";
$auth_token      = "xxxxxx";
$token_secret    = "xxxxxxx";

try {
    $twitter = new Services_Twitter();
    $oauth   = new HTTP_OAuth_Consumer($consumer_key,
                                       $consumer_secret,
                                       $auth_token,
                                       $token_secret);
    $twitter->setOAuth($oauth);

    $msg = $twitter->statuses->update("んゅ?");
    print_r($msg);
} catch (Services_Twitter_Exception $e) {
    echo $e->getMessage();
}
?>

さてさていろいろ機能を実装せねば。。。