簡単なTwitter Botのつくりかた(python編)

f:id:peroon:20091012184503p:image
英単語をつぶやくbot「eitantan」の次に作ったのは、
0分の10分前に「★時になったら本気出す!」とつぶやくbot
honkikkiです。


時報botのようにシンプルで便利なbotにあこがれて作ってみました。
今回のbotは作り方がとてもシンプルなので、
この機会に簡単なTwitter Botの作り方を書いてみようと思います。


環境は、Ubuntu Linuxです。まず、ソースコードはこの通りです。bot.py

# -*- coding:utf-8 -*-

import datetime
import twitter

username = 'honkikki'
password = '**********'


def send():
  '''
  Twitterにつぶやく
  '''
  api = twitter.Api( username, password )
  s = getTime()
  status = api.PostUpdate( s )
  

def getTime():
  '''
  発言すべき内容を返す
  '''
  d = datetime.datetime.today()
  h = d.hour
  m = d.minute
  s = str(h+1) + '時から本気出す! (now ' + str(h) + ':' + str(m) + ')'
  t = unicode(s, 'utf-8')
  return t
  

def main():
  '''
  このファイルがbot.pyの場合、
  python bot.pyとターミナルで打てばmain()が実行される
  '''
  send()


if __name__ == '__main__':
  main()

このコードを実行するだけで、Twitterにつぶやきが投稿されます。
terminalでpython bot.pyとするだけです。


あとは、このコードを指定の時間で実行するだけです。
terminalでcrontab -eと打ちます(edit)。
今回の場合、

50 * * * * python honkikkiBot/bot.py >/dev/null 2>&1

と書きました。bot.pyの位置を適切に指定してください。
私はホームフォルダの下にフォルダhonkikkiBotを作り、
その下にbot.pyを置いています(/home/myname/honkikkiBot/bot.py)。


以上で説明は終わりです。これに慣れたら、
Google App Engineを使って、家のPCをつけっぱなしにしなくても
botが動きつづけるなどにステップアップしていけばいいと思います。


ということで、最初の一歩の背中を押せたのなら、さいわいです。