def loop(task):
	tmp = utiltools.getJSON()
	print(task)
	taskid = task['id']
	todo = task['what']
	screen_name = task['to_whom']
	filename = task['tmpfile']
	status_id = task['tmpid']
	setTime = task['when']
	setTimeJ = setTime + timedelta(hours=9)
	if todo == 'timer':
		ans = datetime.strftime(setTimeJ, '%m月%d日 %H時%M分%S秒') + 'です。タイマーの時刻を経過しました。\n' + task['tmptext']
	elif todo == 'teiki.trendword':
		trendwords = twf.getTrendwords()
		trendword = np.random.choice(trendwords)
		ans = dealSQL.getPhrase(s_type = 'trendword', n = 2).format(trendword)
		post30min = setTime + timedelta(hours=0, minutes=30)
		dealSQL.saveTask(taskdict = {'who':BOT_ID, 'what': todo, 'to_whom': '', 'when':post30min})
		tmp['trendwordsList'] = trendwords
	elif todo == 'imitate.default':
		if twf.defaultProfile():
			ans = 'デフォルトに戻りました'
			screen_name = ''
			tmp['imitating'] = ''
		else:
			ans = 'デフォルトに戻るのに失敗 @_apkX'
	if ans != '':
		twf.send(ans, screen_name = screen_name, imgfile = filename, status_id = status_id, mode = 'tweet')
	dealSQL.updateTask(taskid = taskid, taskdict = {'status': 'end'})
	utiltools.saveJSON(tmp)
	return True
Esempio n. 2
0
    def __init__(self):
        print('loading initialData...')
        super(StreamListener, self).__init__()
        tmp['clocks'] = {}
        tmp['clocks']['start_time'] = datetime.utcnow()
        # tmp['clocks']['future30'] = tmp['clocks']['start_time'] + timedelta(hours=0, minutes=1)
        # tmp['clocks']['imitationLimit'] = tmp['clocks']['start_time']
        # tmp['clocks']['imitationTimer'] = tmp['clocks']['start_time']
        tmp['imitating'] = BOT_ID

        tmp['BOT_ID'] = BOT_ID
        tmp['BOTset'] = [
            UserObject.screen_name
            for UserObject in twtr.list_members('_umiS', 'BOT', -1)
        ]
        tmp['myFriends'] = [
            UserObject.screen_name
            for UserObject in twtr.list_members(BOT_ID, 'myFriends', -1)
        ]
        tmp['BLACKset'] = [
            UserObject.screen_name
            for UserObject in twtr.list_members(BOT_ID, 'BLACKLIST', -1)
        ]
        tmp['trendwordsList'] = twf.getTrendwords()
        tmp['tweetStatus'] = {
            'isDebug': 0,
            'isSplitTweet': False,
            'tempStop_since': 0
        }
        tmp['tweetPool'] = {'cnt': 0, 'pool': []}
        tmp['eewIDset'] = {}
        utiltools.saveJSON(tmp)
        print('setupData has loaded! starting Streaming...')
def loop(task):
    tmp = utiltools.getJSON()
    print(task)
    taskid = task["id"]
    todo = task["what"]
    screen_name = task["to_whom"]
    filename = task["tmpfile"]
    status_id = task["tmpid"]
    setTime = task["when"]
    setTimeJ = setTime + timedelta(hours=9)
    if todo == "timer":
        ans = datetime.strftime(setTimeJ, "%m月%d日 %H時%M分%S秒") + "です。タイマーの時刻を経過しました。\n" + task["tmptext"]
    elif todo == "teiki.trendword":
        trendwords = twf.getTrendwords()
        trendword = np.random.choice(trendwords)
        ans = dealSQL.getPhrase(s_type="trendword", n=2).format(trendword)
        post30min = setTime + timedelta(hours=0, minutes=30)
        dealSQL.saveTask(taskdict={"who": BOT_ID, "what": todo, "to_whom": "", "when": post30min})
        tmp["trendwordsList"] = trendwords
    elif todo == "imitate.default":
        if twf.defaultProfile():
            ans = "デフォルトに戻りました"
            screen_name = ""
            tmp["imitating"] = ""
        else:
            ans = "デフォルトに戻るのに失敗 @_apkX"
    if ans != "":
        twf.send(ans, screen_name=screen_name, imgfile=filename, status_id=status_id, mode="tweet")
    dealSQL.updateTask(taskid=taskid, taskdict={"status": "end"})
    utiltools.saveJSON(tmp)
    return True
Esempio n. 4
0
def loopMain(task):
	ans = ''
	tmp = utiltools.getJSON()
	print(task)
	taskid = task['id']
	todo = task['what']
	screen_name = task['to_whom']
	filename = task['tmpfile']
	status_id = task['tmpid']
	setTime = task['when']
	setTimeJ = setTime + timedelta(hours=9)
	trycnt = 0
	if todo == 'timer':
		ans = datetime.strftime(setTimeJ, '%m月%d日 %H時%M分%S秒') + 'です。タイマーの時刻を経過しました。\n' + task['tmptext']
	elif todo == 'teiki.trendword':
		trendwords = twf.getTrendwords()
		trendword = np.random.choice(trendwords)
		ans = dealSQL.getPhrase(s_type = 'trendword', n = 2).format(trendword)
		post30min = setTime + timedelta(hours=0, minutes=30)
		dealSQL.saveTask(taskdict = {'who':BOT_ID, 'what': todo, 'to_whom': '', 'when':post30min})
		tmp['trendwordsList'] = trendwords
	elif todo == 'imitate.default':
		if twf.defaultProfile():
			ans = 'デフォルトに戻りました'
			screen_name = ''
			tmp['imitating'] = ''
		else:
			ans = 'デフォルトに戻るのに失敗 サポートにお問い合わせください。'
	elif todo == 'erase.tmp.responseWord':
		try:
			del tmp['responseWord'][task['tmptext']]
		except:
			print('del err')
	elif todo == 'erase.tmp.stats.tweet_cnt_hour':
		tmp['stats']['tweet_cnt_hour'] = 0
		post1hour = setTime + timedelta(hours=1)
		dealSQL.saveTask(taskdict = {'who':BOT_ID, 'what': todo, 'to_whom': '', 'when':post1hour})

	elif todo == 'tweet':
		ans = task['tmptext']
		trycnt = task['tmpcnt']

	if ans != '':
		twf.send(ans, screen_name = screen_name, imgfile = filename, status_id = status_id, mode = 'tweet', tmp = tmp, trycnt = trycnt)
	dealSQL.updateTask(taskid = taskid, taskdict = {'status': 'end'})
	utiltools.saveJSON(tmp)
	return True
Esempio n. 5
0
def loopMain(task):
	ans = ''
	tmp = utiltools.getJSON()
	print(task)
	taskid = task['id']
	todo = task['what']
	screen_name = task['to_whom']
	filename = task['tmpfile']
	status_id = task['tmpid']
	setTime = task['when']
	setTimeJ = setTime + timedelta(hours=9)
	trycnt = 0
	if todo == 'timer':
		ans = datetime.strftime(setTimeJ, '%m月%d日 %H時%M分%S秒') + 'です。タイマーの時刻を経過しました。\n' + task['tmptext']
	elif todo == 'teiki.trendword':
		trendwords = twf.getTrendwords()
		trendword = np.random.choice(trendwords)
		ans = dealSQL.getPhrase(s_type = 'trendword', n = 2).format(trendword)
		post30min = setTime + timedelta(hours=0, minutes=30)
		dealSQL.saveTask(taskdict = {'who':BOT_ID, 'what': todo, 'to_whom': '', 'when':post30min})
		tmp['trendwordsList'] = trendwords
	elif todo == 'imitate.default':
		if twf.defaultProfile():
			ans = 'デフォルトに戻りました'
			screen_name = ''
			tmp['imitating'] = ''
		else:
			ans = 'デフォルトに戻るのに失敗 サポートにお問い合わせください。'
	elif todo == 'erase.tmp.responseWord':
		try:
			del tmp['responseWord'][task['tmptext']]
		except:
			print('del err')
	elif todo == 'erase.tmp.stats.tweet_cnt_hour':
		tmp['stats']['tweet_cnt_hour'] = 0
		post1hour = setTime + timedelta(hours=1)
		dealSQL.saveTask(taskdict = {'who':BOT_ID, 'what': todo, 'to_whom': '', 'when':post1hour})

	elif todo == 'tweet':
		ans = task['tmptext']
		trycnt = task['tmpcnt']

	if ans != '':
		twf.send(ans, screen_name = screen_name, imgfile = filename, status_id = status_id, mode = 'tweet', tmp = tmp, trycnt = trycnt)
	dealSQL.updateTask(taskid = taskid, taskdict = {'status': 'end'})
	utiltools.saveJSON(tmp)
	return True
Esempio n. 6
0
	def __init__(self):
		print('loading initialData...')
		super(StreamListener,self).__init__()
		tmp['clocks'] = {}
		tmp['clocks']['start_time'] = datetime.utcnow()
		# tmp['clocks']['future30'] = tmp['clocks']['start_time'] + timedelta(hours=0, minutes=1)
		# tmp['clocks']['imitationLimit'] = tmp['clocks']['start_time']
		# tmp['clocks']['imitationTimer'] = tmp['clocks']['start_time']
		tmp['imitating'] = BOT_ID

		tmp['BOT_ID'] = BOT_ID
		tmp['BOTset'] = [UserObject.screen_name for UserObject in twtr.list_members('_umiS', 'BOT',  -1)]
		tmp['myFriends'] = [UserObject.screen_name for UserObject in twtr.list_members(BOT_ID, 'myFriends',  -1)]
		tmp['BLACKset'] = [UserObject.screen_name for UserObject in twtr.list_members(BOT_ID, 'BLACKLIST',  -1)]
		tmp['trendwordsList'] = twf.getTrendwords()
		tmp['tweetStatus'] =  {'isDebug':0, 'isSplitTweet': False, 'tempStop_since':0}
		tmp['tweetPool'] = {'cnt': 0, 'pool':[]}
		tmp['eewIDset'] = {}
		utiltools.saveJSON(tmp)
		print('setupData has loaded! starting Streaming...')