Posts Tagged ‘Twitter’

命名屋が出張する Twitter の bot @meimeibot を公開

@meimeibot

Twitter API の勉強や bot への憧れから作ってみました。
以下の記事が制作の過程のメモですねー。命名のロジック以外は、この記事そのままです。
CakePHP で PEAR (Services_Twitter) を使う方法 | ウェブル

今後はもう少しリアルタイムに対応できるような bot を制作したいところです。今回の bot 制作にあたって、CakePHP と PHP や Twitter や cron や PEAR の勉強になりました。bot 作るのでここまで力付くとは思わなかったです。凄いね bot。そんな僕は自給900円アルバイト。手取りは想像してね!

今後はキャラクター bot とか作ったりして、この本当に惨めで情けない人生を忘れたいところです!

CakePHP で PEAR (Services_Twitter) を使う方法

Pear は PHP で利用できる便利なライブラリです。今回は Services_Twitter というものを CakePHP で利用しようとしたところで、ちょぴーり躓いたので、メモしておきます。

今回は簡単に Twitter API を操作できる PEAR パッケージ Services_Twitter を導入することを仮定して話を進めていきます。

Services_Twitter をダウンロードする

こちらから Services_Twitter をダウンロードできます。

Windows でダウンロードすると Services_Twitter-0.4.0.tgz.tar というアーカイブファイルになってしまいまして、解凍しても中身空で、なんか解凍できなかったので Linux を起動してそこから作業をするという荒業に出ました。

PAER を配置する

/app/vendors にファイルを置きます。今回の場合ですと Services ディレクトリをそのままここにコピーしてこれば良いですね。

inclide_path.php を作成する

/app/vendors に inclide_path.php を作成します。内容は以下になります。定数に PEAR_PATH と入っていますが、他の名称に変更してもらって構いませんです。

1
2
3
<?php
define('PEAR_PATH', dirname(__FILE__));
set_include_path(PEAR_PATH . "/");

dirname(__FILE__)) ですが、dirname() は親ディレクトリを求め、__FILE__ は現在のファイルのフルパスを表す定数文字列が入ります。以下が参考になりました。
tips – 汎用インクルード用ファイルでの include, require では dirname(__FILE__) を使う

この inclide_path.php は“vendorsにpear::soapを組み込んでSOAPを使いたい” フォーラム – CakePHP Users in Japan を参考に作りました。

PEAR を読み込む

先ほどの include_path.php がここで役に立ちます。
ファイルが一つなら直接 path を指定しても良かったのかもしれませんが、複数ファイルがあるなら断然 include_path を設定した方が楽ですねー。

2行目は適宜変更してください。第2引数と第3引数注目です。

1
2
App::import('Vendor', 'include_path');
App::import('Vendor', 'Services', array('file'=>'Twitter.php'));

Twitter でつぶやく

以下のようにコントローラー内に書けば動きます。
Services_Twitter のページに詳しい使い方がのっていますので、一度目を通したいところですね。

1
2
3
4
$user = 'twitterのユーザ名';
$pass = 'twitterのパスワード';
$st =& new Services_Twitter($user, $pass);
$st->setUpdate('テスト投稿');

string(xx) “HTTP/1.1 302 Found” で投稿できない

完璧なプログラムなのに、このエラーで投稿できない場合は、Twitter.php の 501行 の var_dump をコメントアウトすれば上手く動きます。
PHP::Services_Twitter のTwitter.phpでvar_dumpの消し忘れ? | 生涯一馬鹿で行こう!

bot を作るのに参考になるサイト

私自身 Web サービスを使うのに向いてなくて、どうせなら提供する側に回りたい今日この頃。bot を作ろうと思っていますので、参考になりそうなサイトを探して、以下が秀逸でした。
キャラクタ系Twitterbotをつくってみた初心者向けまとめ そのいち – ものおき@はてな

heteml の作業員のミスで MySQL が吹っ飛んでいたことに気付き Twitter で呟いたら土日なのに一瞬で直して無償で契約期間を3ヶ月伸ばしてくれた件

paperboy&co. の社長がクワガタになったらしい。paperboy&co って面白いですね。

heteml を利用しているんですが、先日データベースが無制限に作れるような感じになっており、データベースをいくつか作成できてしまったんですが、削除することができなかったので、試しに作ったデータベースを削除してもらえないかと問い合わせたところ、そのアカウントの全てのデータベースが削除されており、4日間サイトが稼動していないことが明らかになりました。
早く自分で気づけばよかったのですが、デスマーチで忙しくて見る暇がありませんでした。

それについて Twitter でいくつか叫んでました。一部抜粋です。

今までいろんなサーバーを利用してきたけど、どこも土日は営業していなくて、月曜日になってもなんか対応しなくて火曜日くらいに、復旧はできません的な返答があって終わるんだろうな、ああっ!なんて思ってたら Twitter で以下の呟きが。

ええ、休日なのに申し訳ない!ってか凄い。
その後、以下のメールが来ました。

【xx xx】様

お問い合わせいただき、誠にありがとうございます。
この度はご迷惑をお掛けして誠に申し訳ございません。

メインDBが削除されてしまっている件につきまして、
弊社にて調査させていただきましたところ、
先日、xx様より「test_db」の削除依頼を頂きまして、
削除の作業を行わせていただいた際に、
作業員のミスにより「main_db」の方も削除されてしまっていたことがわかりました。
弊社側の完全なミスでございます。誠に申し訳ございませんでした。

「main_db」のデータベースにつきましては、
復旧が可能でしたので、先ほど復旧させていただきました。
お手数をお掛けいたしますが、ご確認いただければ幸いです。

今回、弊社側のミスにより、
xx様に多大なご迷惑をお掛けしてしまいましたこと心よりお詫び申し上げます。
今後はこのような事が二度と起こらないよう、管理体制の徹底を強化してまいります。

また、今回ご迷惑をお掛けしたお詫びといたしまして、
ささやかではございますが、契約期間を3ヶ月分無償で延長させていただきました。
引き続き heteml をご利用いただければ幸いでございます。

重ね重ねとはなりますが、この度は誠に申し訳ございませんでした。

ささやかどころじゃないよ!やり過ぎですよ…(笑)
ああっ!なんだこの会社!他のサーバー会社と比べ物にならないくらい良いじゃないか。hetemul は値段のわりにかなり高機能で、コストパフォーマンス最高だけど、サポートは駄目なんだろうなーとか思ってたら、サポートも最高です。

契約延長の手続きしなきゃいけないなぁと思ってたけど、無償で伸ばしてくれるとか。凄い会社です。

これからもこのサーバー会社と契約しようと思えました。MySQL 吹っ飛んで良かったー。

ドメイン取得は今 VALUEDOMAIN 使ってるけど、ムームードメイン利用してみようかな。10個くらいドメイン持ってるので、全部移行しちゃいましょう。

TwitVim で vim から Twitter につぶやいてみよう

以下を参考に設定してみました。以下のページに足りない部分を補足しておきます。
VimがTwitterクライアントになる! TwitVimの紹介 – Creative Gear

ユーザー名とパスワードの部分には、ユーザー名:パスワードを base64 で暗号化(エンコード)した文字列を入れるんですよ。
PHP を触る私が知ってる方法として、以下のようなやり方がありますよ!(笑)

1
echo base64_encode($str);

cURL なんですけど、ダウンロードして解凍したフォルダの中に curl.exe というものがあります。ここに PATH を通すか、vim のインストールフォルダ、vim.exe とか gvim.exe とか入ってる奴ですね!ここに、curl.exe を入れちゃえば良いんだと思います。ちなみに推測で喋ってます。

[Twitter] Tween で特定ユーザーの発言を非表示にする方法

私も人のことを言えないのですが、Twitter で普段は楽しいけど、ちょっと落ち込んでる時にみると辛い思いをしてしまうようになる発言などがあります。単純にフォローを解除すれば良いのかもしれませんが、別にその人自体が嫌いなわけじゃないし、一時的なものかもしれない。そんな場合に、Tween なら任意の期間だけ通常のタイムラインに表示されないようにすることができます。

  1. タブを作成
  2. 振り分けルールを選択
  3. 新規をクリック
  4. 単一条件にユーザーIDを入力
  5. マッチ時の追加動作で Recent から移動するを選択

Twitter は好きなことを発言して良いところだと思います。ただ、先日1人にフォローを解除された時に、かなり嫌な思いをしました。人に嫌われるのは嫌ですね…。なので、今後は Twitter で感情を含めた発言はしません。ブログでも少しずつ感情を含めた投稿はしないようにしたいんですが、なかなか難しいです。

まだまだ子供な自分が情けない。

追記(2009/8/13): 新着通知表示をさせないようにするには

忘れてた設定が…。Recent から移動しても新着通知表示はされてしまうので、困ります。そのならないようにするには、新しく作ったフィルタ用のタブを選択している状態でメニューからタブに入ると新着通知表示にチェックが入ってると思うので、そのチェックを外しましょう。

凄く有名な人だからフォローしたいんだけど、発言数がとても多くて他の人の発言がまったく読めなくなるといった場合でもフィルタリングしてしまえば安心。

Android で使う Twitter クライアントは Twidroid で決定!

Android と Twidroid と Widgit Lite
せっかく Android を購入したのに全然使いこなしていなかったので、今日ちょっとだけ Twiiter クライアントくらい導入してみようということで頑張ってみました。

いろんなものを試して一番しっくりきたのが Twidroid です。
Twidroid の使い方を説明しようか悩んだんですが、特に解説するほど難しいわけでもないし、10分くらい弄っていればわかりますので、便利だなー面白いなーと思った機能を箇条書きにしておきますね。

  • 写真を撮影していきなり Twitter に投稿できる。
  • 自分居場所をいきなり投稿できる。
  • その場の気温をいきなり投稿できる。

あ、ちなみに Widgit Lite とか簡単に Twitter の発言確認したり投稿したりするのには便利です。

Twitter などのサービスに更新情報を通知していくとアクセスが気持ち上昇する

アクセス数
最近になってまたアクセス数が増加しました。主にやったことは次のことなどですね。

  • WordPress の更新通知サービスのところにいろいろ入れてみる。
  • Twitter などのサービスに記事を書いたことを知らせる。
  • delicious などでその日のブックマークをブログに投稿するようにする。

気持ち程度にしか増加しないのですが、一応増加ってすごいことだと思うかも。