def getTweetList(n=1000, UserList=['sousaku_umi', 'umi0315_pokemon'], BlackList=[ 'hsw37', 'ry72321', 'MANI_CHO_8', 'HONO_HONOKA_1', 'MOEKYARA_SAIKOU', 'megmilk_0308' ], contains='です'): try: twtrDB.create_tables([Tweets], True) # 第二引数がTrueの場合、存在している場合は、作成しない with twtrDB.transaction(): if UserList == []: tweets = Tweets.select().where( Tweets.text.contains(contains), ~Tweets.text.contains('RT'), ~Tweets.screen_name << BlackList, ~Tweets.text.contains('【')).order_by( Tweets.createdat.desc()).limit(n) else: tweets = Tweets.select().where( Tweets.screen_name << UserList, ~Tweets.screen_name << BlackList, ~Tweets.text.contains('RT'), ~Tweets.text.contains('【')).order_by( Tweets.createdat.desc()).limit(n) tweetslist = [utiltools.cleanText(tweet.text) for tweet in tweets] return tweetslist except Exception as e: twtrDB.rollback()
def on_status(self,status): status = status._json # dealSQL.saveTweet(status) if isAllowed(status, self.bot_status): now = datetime.utcnow() status_id = status['id_str'] screen_name = status['user']['screen_name'] replyname = status['in_reply_to_screen_name'] text = utiltools.cleanText(status['text']) print(status['user']['name'], replyname, text) status['cleanText'] = text #直近ツイート処理 #TL監視クイックレスポンス if quickResponse(status, bot_status = self.bot_status): return True #Tweetプーリング if not screen_name in self.bot_status['BOTset'] and status['entities']['urls'] == [] and len(text)>5: self.bot_status['tweetPool']['pool'].append(text) if self.bot_status['tweetPool']['cnt'] > 10: self.bot_status['tweetPool']['pool'].pop(0) else: self.bot_status['tweetPool']['cnt'] += 1 # print(self.bot_status['tweetPool']['pool']) # リアクション if isReact(text, screen_name, status_id, replyname , bot_status = self.bot_status): tweetStatus, self.bot_status = Main(status, bot_status = self.bot_status) return True else: return True return True
def on_status(self, status): status = status._json # dealSQL.saveTweet(status) if isAllowed(status, self.bot_status): now = datetime.utcnow() status_id = status["id_str"] screen_name = status["user"]["screen_name"] replyname = status["in_reply_to_screen_name"] text = utiltools.cleanText(status["text"]) print(status["user"]["name"], replyname, text) status["cleanText"] = text # 直近ツイート処理 # TL監視クイックレスポンス if quickResponse(status, bot_status=self.bot_status): return True # Tweetプーリング if not screen_name in self.bot_status["BOTset"] and status["entities"]["urls"] == [] and len(text) > 5: self.bot_status["tweetPool"]["pool"].append(text) if self.bot_status["tweetPool"]["cnt"] > 10: self.bot_status["tweetPool"]["pool"].pop(0) else: self.bot_status["tweetPool"]["cnt"] += 1 # print(self.bot_status['tweetPool']['pool']) # リアクション if isReact(text, screen_name, status_id, replyname, bot_status=self.bot_status): tweetStatus, self.bot_status = Main(status, bot_status=self.bot_status) return True else: return True return True
def on_direct_message(self,status): print(status._json) status = utiltools.dm2tweet(status._json) text = utiltools.cleanText(status['text']) status['cleanText'] = text print(status['user']['name'], text) Main(status, self.bot_status) return True
def on_direct_message(self, status): print(status._json) status = utiltools.dm2tweet(status._json) text = utiltools.cleanText(status["text"]) status["cleanText"] = text print(status["user"]["name"], text) Main(status, self.bot_status) return True
def setKWtoTweet(n = 1000): try: db.create_tables([Tweets], True)# 第二引数がTrueの場合、存在している場合は、作成しない with db.transaction(): tweets = Tweets.select().where(Tweets.screen_name != '_umiA' and ~Tweets.text.contains('RT')).order_by(Tweets.createdat.desc()).limit(n) tweetslist = [utiltools.cleanText(tweet.text) for tweet in tweets if 'RT' not in tweet.text] return tweetslist except Exception as e: database.rollback()
def getTweetList(n = 1000, UserList = ['sousaku_umi', 'umi0315_pokemon'], BlackList = ['hsw37', 'ry72321', 'MANI_CHO_8', 'HONO_HONOKA_1', 'MOEKYARA_SAIKOU', 'megmilk_0308'], contains = 'です'): try: twtrDB.create_tables([Tweets], True)# 第二引数がTrueの場合、存在している場合は、作成しない with twtrDB.transaction(): if UserList == []: tweets = Tweets.select().where(Tweets.text.contains(contains), ~Tweets.text.contains('RT'), ~Tweets.screen_name << BlackList, ~Tweets.text.contains('【')).order_by(Tweets.createdat.desc()).limit(n) else: tweets = Tweets.select().where(Tweets.screen_name << UserList , ~Tweets.screen_name << BlackList, ~Tweets.text.contains('RT'), ~Tweets.text.contains('【')).order_by(Tweets.createdat.desc()).limit(n) tweetslist = [utiltools.cleanText(tweet.text) for tweet in tweets] return tweetslist except Exception as e: twtrDB.rollback()