今年も玉音放送BOTあります
@gyokuon : 終戦の詔勅(玉音放送)を放送する twitter bot を作った - つまみ食う
玉音放送 (@gyokuon) | Twitter
今年も同じように、8月15日の正午から動かします。
本当はほったらかしでも動くはずだったんだけど、Twitterの認証方式が変わったので、もう一度書き直ししました。
去年は Perl で今年は Python。
昨日書いた Twitter API をたたくやつ を使って単純にテキストファイルを一行ずつポストしていっています。
去年、作ったときにはあまり考えていなかったけど、Twitterはすごく「今」に強いメディアだと思ってて、そういうTwitterで2010年の「今」ではなく、過去の「今」を追体験するような感覚って結構面白いなぁと思います。他にもたくさん出来たらいいのになーと思っています。
#!/usr/bin/env python # -*- coding: utf-8 -*- import os import sys import yaml import time import logging import twitter def read_yaml(*filelist): result = {} for name in filelist: filename = '%s.yaml' % name if os.path.exists(filename): result[name] = yaml.load(open(filename).read()) else: raise IOError, '%s is not exists' % filename return result def main(argc, argv): account = argv[1] if argc > 1 else 'gyokuon' logging.debug('account = %s' % account) conf = read_yaml('oauth', account, 'text') oauth = twitter.OAuth(conf['oauth'], conf[account]) api = twitter.TwitterAPI(oauth) for line in conf['text'].split(' '): line = line.strip() logging.debug(line) api.tweet(status=line) time.sleep(90) if __name__ == '__main__': logging.basicConfig(level=logging.DEBUG, format='%(asctime)s %(levelname)s %(message)s', filename='./log.txt', filemode='w') main(len(sys.argv), sys.argv)
oauth.yaml
consumer_key: consumer_secret:
gyokuon.yaml
token: token_secret:
text.yaml
*只今より重大なる放送があります。全国聴取者の皆様御起立願います。天皇陛下におかれましては、全国民に対し、畏くも御自から大詔を宣らせ給う事になりました。これよりつつしみて玉音をお送り申します。 .....