update_name と Python

こんにちは、update_name Advent Calendar 2013 - Adventar の24日の記事です。

 

update_nameはほとんどがRubyなのでPythonでやりました。
@firstspring1845氏がPythonなので最初ではありませんでした。

 

さて、update_name とはTwitter上でリプライを受けると改名するbotですが、 コマンドを受けて何かをするbot は1年位前に作っていました。

その頃のアカウントは両方とも消してしまったので残ってません。

しかし、せっかくの機会なので あんふぁぼリプライ機能を実装しました。おみくじ機能はありません。久しぶりに遊んでみてください。

 

Pythonに触るのははじめてだったので、いくつかハマった所を書いておきます。まあ動けばいいや。

オブジェクト構造がわからない時は dir を使う。 pprint ではないようだ。

UserStreamsで流れてくるものはインタプリタだときついのでpdbを使った。

Unicodeコマンドプロンプトに出力すると UnicodeEncodeError が出る。
これはまんまの記事があった。
cp932で表現できない文字がたまに混ざるユニコード文字列をWindowsのコンソールにprintしたい場合 - 西尾泰和のはてなダイアリー

nullというか存在チェックというか
Pythonで、指定した属性(attribute)を持っているかどうか調べる

tweepyはpipが持ってくるものとGitHub上の最新が違うので最新のものをインストールした。書いてある手順だとうまくいかなかったので、pip installしたらできた。この辺はよくわからない。

これぐらいかなぁ。

 

ソースコードはここに置きました。

gist: 8104666 update_name_advent_calender_24 (リンク切れ / いつかなおす)

 

参考にしました
python で twitter メモ
tweepyがUser Streamsに対応していた - kk6のメモ帳*
Tweepyでエラーにならないように例外処理する - こんにちはこんにちはmonmonです!
UnicodeDecodeError/UnicodeEncodeErrorに悩まないPython 2.x プログラミング - atsuoishimotoの、もう http://www.gembook.orgに引っ越しちゃったよ日記
Python - 部分文字列を削除する - Qiita [キータ]

 

明日は@nepiadeathさんです。