2chblogs に twitterbot を追加した。

シェアする

Google App Engine 上で Twitter Bot を動かしたくなって、どうせなので 2ちゃんねるぶろぐ の更新情報を流す奴を作ってみた。

というわけでできたのがコレ

Google App Engine で Twitter Bot を動かすためには、Oauth が動く様にすればOK。以下のライブラリを使用しました。

OAuth で必要になる、Access Token, Access Token Secret を取得する時は、以前作った Twitter蔵 を少し改造した。

あとは、GAE上で実装するだけなのだが、ぐぐって出てきたページをそのまま使ってしまった。特に複雑な事はしないので・・・

ありがとうございます。

一応実装箇所をメモ

以下はmain.py

class tweet(webapp.RequestHandler):
	def get(self):
		import oauth
		ret = Entry.gql('WHERE twitter_flg = :boolean', boolean=False).fetch(limit=5)
		if len(ret) is 0:
			return True

		contents = ''
		client = oauth.TwitterClient(TWITTER_CONSUMER_KEY, TWITTER_CONSUMER_SECRET, None)
		for i in ret:
			tweet = u"[%s] %s %s" % (i.site_title, i.title, i.link)

			param = {'status': tweet}
			client.make_request(TWITTER_POST_URL,
				token = TWITTER_ACCESS_TOKEN,
				secret = TWITTER_ACCESS_TOKEN_SECRET,
				additional_params = param,
				protected = True,
				method = 'POST')
			i.twitter_flg = True
			i.put()
			contents += tweet + u'<br />'

		self.response.out.write(contents);

app.yaml

- url: /tweet
  script: main.py
  login: admin

cron.yaml

- description: tweet
  url: /tweet
  schedule: every 10 minutes
Sponsored Link

シェアする

フォローする