コード例 #1
0
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()
コード例 #2
0
ファイル: umiA.py プロジェクト: u3paka/umi_bot
	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
コード例 #3
0
ファイル: umiA.py プロジェクト: masaMikam/Umi_bot
    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
コード例 #4
0
ファイル: umiA.py プロジェクト: u3paka/umi_bot
	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
コード例 #5
0
ファイル: umiA.py プロジェクト: masaMikam/Umi_bot
 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
コード例 #6
0
ファイル: TFIDF.py プロジェクト: masaMikam/Umi_bot
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()
コード例 #7
0
ファイル: TFIDF.py プロジェクト: u3paka/umi_bot
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()
コード例 #8
0
ファイル: dealSQL.py プロジェクト: masaMikam/Umi_bot
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()