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さんです。