福本系bot-ZAWATTER
以前作って放置して、この間復活したZAWATTERについてのエントリを書いておく。
あーあ、俺もざわざわしてぇなぁ!! - Number6の「あーあ、俺に狐の嫁さんできねぇかなぁ!!」
概要
自分のFriendsTimelineから「……!」などが含まれている発言を発見し、ざわざわする。
ソースコード
# -*- coding: utf-8 -*- import twitter import account import random import re user = <<ZAWATTERのユーザ名>> pswd = <<ZAWATTERのパスワード>> class Main: def readLastStatusId(self): f = open('./lastStatusId.txt', 'r') s = f.read() f.close() return long(s) def writeLastStatusId(self,id): f = open('./lastStatusId.txt', 'w') f.write(id) f.close() def isZawa(self,text): r = re.compile(u'([つっ][・…]+|[・…]+[つっ])[!!]') result = r.search(text) if result != None: return True return False def makePost(self,user): result = u"@" result += user + u" " zawa_list = [ u"ざわ…", u"ざわ……ざわ……", u"ざわ………ざわ………", u"ざわ… ざわ…", u"ざわ…… ざわ……", u"ざわ…… ざわ………" ] result += random.choice(zawa_list) return result def do(self): lastStatusId = self.readLastStatusId() api = twitter.Api(user,pswd) lines = api.GetFriendsTimeline() lines.reverse() for one in lines: if one.id > lastStatusId: if one.user.screen_name != 'ZAWATTER': if self.isZawa(one.text): post = self.makePost(one.user.screen_name) api.PostUpdate(post) self.writeLastStatusId(str(one.id)) lastStatusId = one.id Main().do()
今後
frientdsTilenlineつまり、ZAWATTERがfollowしている人たちの発言に反応するので、自動follow/remove返しが必要。
あと、「ざわ…」の特性上、Replyで飛ばすべきか、follower全員に見えるようにすべきか迷う。関係の無い人間に関係の無い人間のtweet流すのはなんかしっくりこない気がする。非公式RTでもしようかしらん。いや、ここは公式RTをですね。公式RTだとざわざわできねーじゃん!みたいな感じで仕様が固まってません。二年もたつのに。とりあえず無害なReply式を採用している。
その他
id:tohaeに捧ぐ。
初めて作ったtwitterbotなので、@Korokのお兄さんですね。凄いよこのざわったー!さすがころくのお兄さん!