twitter bot/クライアント作成のメモ

twitterのほうでbotを動かしたりしてるのだけど、それの作成にあたってのメモ。
簡単なコマンドラインクライアントも兼ねていて、まあそれなりに使えるようになってる。

こんな感じでリストを表示してみたり。

色つきのprint

エスケープ文字で囲んで色を指定する。

>>> print '\033[1;31mhoge\033[1;m'
hoge

対話シェルの開始

いろいろ操作するための対話シェルモード。

開始はこんなコード。開始時にglobalsを渡しているのでimportせずに関数を呼び出せている。

def shell(handler):                                                                            
    """対話シェル                                                                              
    """   
    import code
    import rlcompleter                                                                         
    import readline
    variables = globals()
    variables.update({'handler': handler})                                                     
    print("starting interactive shell...")                                                     
    print("handler = BotHanler()")
    readline.set_completer(rlcompleter.Completer(variables).complete)                          
    readline.parse_and_bind("tab: complete")                                                   
    code.interact(local=variables)

実行用のシェルスクリプト

virtualenvを使っているので、activateしてからスクリプトを実行する。
コマンドラインオプションは $@ を指定してスクリプトへそのまま渡す。

#!/bin/bash                                                                                                                                                                                    
source /home/tokibito/.virtualenvs/tokibito-bot/bin/activate
python /home/tokibito/bitbucket/tokibito-bot/twitter/main.py $@