From 92fa8e21b51f2235dad36d68aa97d49ed12e18b2 Mon Sep 17 00:00:00 2001 From: RandomisedName Date: Tue, 16 May 2017 15:02:58 +0300 Subject: [PATCH] =?UTF-8?q?=D0=A1=D0=BA=D0=BE=D0=BF=D0=B8=D1=80=D0=BE?= =?UTF-8?q?=D0=B2=D0=B0=D0=BB=20=D0=BA=D0=BE=D0=B4=20=D0=B4=D0=BB=D1=8F=20?= =?UTF-8?q?=D1=80=D0=B5=D1=82=D0=B2=D0=B8=D1=82=D1=82=D0=BE=D0=B2=20=D0=BD?= =?UTF-8?q?=D0=B0=20=D0=BD=D0=BE=D0=B2=D1=83=D1=8E=20=D0=BC=D0=BE=D0=B4?= =?UTF-8?q?=D1=83=D0=BB=D1=8C=D0=BD=D1=83=D1=8E=20=D1=81=D0=B8=D1=81=D1=82?= =?UTF-8?q?=D0=B5=D0=BC=D1=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- TwitterBot.py | 79 ------------------------------------------------ authorization.py | 25 +++++++++++++++ check.py | 5 +++ control.py | 2 ++ keys.py | 7 +++++ log_file.txt | 2 ++ main.py | 60 ++++++++++++++++++++++++++++++++++++ retweet.py | 17 +++++++++++ start.py | 10 ++++++ 9 files changed, 128 insertions(+), 79 deletions(-) delete mode 100644 TwitterBot.py create mode 100644 authorization.py create mode 100644 check.py create mode 100644 control.py create mode 100644 keys.py create mode 100644 log_file.txt create mode 100644 main.py create mode 100644 retweet.py create mode 100644 start.py diff --git a/TwitterBot.py b/TwitterBot.py deleted file mode 100644 index 7c69777..0000000 --- a/TwitterBot.py +++ /dev/null @@ -1,79 +0,0 @@ -#!/usr/bin/python -from twython import Twython, TwythonError -import random -import sys -import os -import time -import urllib -import string -import random -import filecmp -import shutil -from pprint import pprint -import PIL -from PIL import Image, ImageDraw, ImageFont - -from clarifai import rest -from clarifai.rest import ClarifaiApp - -from keys import * - -app = ClarifaiApp(CLIENT_ID, CLIENT_SECRET) -model = app.models.get("general-v1.3") - -W = 440 - -def id_generator(size=5, chars=string.ascii_letters + string.digits): - return ''.join(random.choice(chars) for _ in range(size)) - -twitter = Twython(APP_KEY, APP_SECRET, OAUTH_TOKEN, OAUTH_TOKEN_SECRET) - -cmd = '/opt/vc/bin/vcgencmd measure_temp' -line = os.popen(cmd).readline().strip() -temp = line.split('=')[1].split("'")[0] - -dir = '/home/pi/TwitPiBot/' -os.chdir(dir) - -def main(): - shutil.copyfile(dir+'img.jpg', dir+'imgold.jpg') - while True: - id = id_generator() - imgFromUrl = urllib.urlopen('https://imgur.com/'+id+'.jpg') - file = open('/home/pi/TwitPiBot/img.jpg', 'r+') - file.write(imgFromUrl.read()) - file.close() - Image.open(dir+'img.jpg').convert('RGB').save(dir+'img.jpg') - img = Image.open(dir+'img.jpg') - wpercent = (W/float(img.size[0])) - hsize = int((float(img.size[1])*float(wpercent))) - img = img.resize((W,hsize), PIL.Image.ANTIALIAS) - img.save(dir+'img.jpg') - if (filecmp.cmp(dir+'img.jpg', dir+'imgold.jpg') == False) and (filecmp.cmp(dir+'img.jpg', dir+'nla1.jpg') == False) and (filecmp.cmp(dir+'img.jpg', dir+'nla2.jpg') == False): - break - - str = '' - data = app.tag_urls(['https://imgur.com/'+id+'.jpg']) - i=0 - for i in range(5): - str = str+'#'+data['outputs'][0]['data']['concepts'][i]['name'].replace(" ", "")+" " - tweetimg = open(dir+'img.jpg') - twitter.update_status_with_media(status = str, media = tweetimg) - print('https://imgur.com/'+id+'.jpg '+str) - - search_results = twitter.search(q="#TwitterShitter", count=5) - try: - for tweet in search_results["statuses"]: - twitter.retweet(id = tweet["id_str"]) - except TwythonError as e: - print e - - time.sleep (60*30) - -if __name__ == '__main__': - while True: - #try: - main() - - #except: - #pass \ No newline at end of file diff --git a/authorization.py b/authorization.py new file mode 100644 index 0000000..77019f5 --- /dev/null +++ b/authorization.py @@ -0,0 +1,25 @@ +from twython import Twython, TwythonError +import random +import sys +import os +import time +import urllib +import string +import random +import filecmp +import shutil +import check + +#authorization in Twitter and clarifai +from clarifai import rest +from clarifai.rest import ClarifaiApp + +from keys import * + +app = ClarifaiApp(CLIENT_ID, CLIENT_SECRET) +model = app.models.get("general-v1.3") + +def id_generator(size=5, chars=string.ascii_letters + string.digits): + return ''.join(random.choice(chars) for _ in range(size)) + +twitter = Twython(APP_KEY, APP_SECRET, OAUTH_TOKEN, OAUTH_TOKEN_SECRET) \ No newline at end of file diff --git a/check.py b/check.py new file mode 100644 index 0000000..a7e723b --- /dev/null +++ b/check.py @@ -0,0 +1,5 @@ +def check_temp(): #return temp. yours Rpi + cmd = '/opt/vc/bin/vcgencmd measure_temp' + line = os.popen(cmd).readline().strip() + temp = line.split('=')[1].split("'")[0] + return temp \ No newline at end of file diff --git a/control.py b/control.py new file mode 100644 index 0000000..027baa1 --- /dev/null +++ b/control.py @@ -0,0 +1,2 @@ + +#This script for control bot by other twitt_acc diff --git a/keys.py b/keys.py new file mode 100644 index 0000000..6fdcba1 --- /dev/null +++ b/keys.py @@ -0,0 +1,7 @@ +CLIENT_ID='PVVui1Tymf5EVKNISTy7PoTjpT9Mrw5GV-41TVeQ' +CLIENT_SECRET='Zj_ofAZy4LyEKHadDICkiqNSyOw1KokpNvHPFXop' + +APP_KEY='VlmwKvutlpG5eUDxBViuogibQ' +APP_SECRET='BIxyn5uVhxZi4v5I66REzi7qPZBgWTQzurUdlMgdanhiFtCfZj' +OAUTH_TOKEN='818389817994133507-rt6xEoAkQZeFyLKtPenVuuuraGjv6pj' +OAUTH_TOKEN_SECRET='Cn0cSnVVQfIYNnhnwr5hRuPq2vcHg0pBA9UqtWkLwWXxH' \ No newline at end of file diff --git a/log_file.txt b/log_file.txt new file mode 100644 index 0000000..1e9b526 --- /dev/null +++ b/log_file.txt @@ -0,0 +1,2 @@ +https://imgur.com/v9Nkv.jpg #illustration #noperson #business #symbol #internet +https://imgur.com/mNhTf.jpg #blur #noperson #business #technology #art diff --git a/main.py b/main.py new file mode 100644 index 0000000..082b52f --- /dev/null +++ b/main.py @@ -0,0 +1,60 @@ +from twython import Twython, TwythonError +import random +import sys +import os +import time +import urllib +import string +import random +import filecmp +import shutil +from check import * +from retweet import * +import authorization + +import PIL +from PIL import Image, ImageDraw, ImageFont + +from clarifai import rest +from clarifai.rest import ClarifaiApp + +dir = str(os.getcwd())+'/' +os.chdir(dir) + +def main(): + W = 440 + shutil.copyfile(dir+'img.jpg', dir+'imgold.jpg') + while True: + id = authorization.id_generator() + + imgFromUrl = urllib.urlopen('https://imgur.com/'+id+'.jpg') + file = open(str(os.getcwd())+'/img.jpg', 'r+') + file.write(imgFromUrl.read()) + file.close() + Image.open(dir+'img.jpg').convert('RGB').save(dir+'img.jpg') + img = Image.open(dir+'img.jpg') + wpercent = (W/float(img.size[0])) + hsize = int((float(img.size[1])*float(wpercent))) + img = img.resize((W,hsize), PIL.Image.ANTIALIAS) + img.save(dir+'img.jpg') + + if (filecmp.cmp(dir+'img.jpg', dir+'imgold.jpg') == False) and (filecmp.cmp(dir+'img.jpg', dir+'nla1.jpg') == False) and (filecmp.cmp(dir+'img.jpg', dir+'nla2.jpg') == False): + break + + tweet_text = '' + data = authorization.app.tag_urls(['https://imgur.com/'+id+'.jpg']) + i=0 + for i in range(5): + tweet_text = tweet_text+'#'+data['outputs'][0]['data']['concepts'][i]['name'].replace(" ", "")+" " + tweetimg = open(dir+'img.jpg') + authorization.twitter.update_status_with_media(status = tweet_text, media = tweetimg) + + log_str = "https://imgur.com/"+id+".jpg "+tweet_text+"\n" + log_file=open('log_file.txt', 'a') + log_file.write(log_str) + log_file.close() + print log_str, + + retweet() + + time.sleep (60*30) \ No newline at end of file diff --git a/retweet.py b/retweet.py new file mode 100644 index 0000000..204e22f --- /dev/null +++ b/retweet.py @@ -0,0 +1,17 @@ +from twython import Twython, TwythonError +import authorization + +def retweet(): #retweet tweets with a set hashtag + search_results = authorization.twitter.search(q="#TwitterShitter", count=5) + try: + for tweet in search_results["statuses"]: + authorization.twitter.retweet(id = tweet["id_str"]) + log_str = "retweeted "+tweet["id_str"] + log_file=open('log_file.txt', 'a') + log_file.write(log_str) + log_file.close() + print log_str, + except TwythonError as e: + print e + + return \ No newline at end of file diff --git a/start.py b/start.py new file mode 100644 index 0000000..ac764d0 --- /dev/null +++ b/start.py @@ -0,0 +1,10 @@ +import main +#script for the start + +if __name__ == '__main__': + while True: + #try: + main.main() + + #except: + #pass \ No newline at end of file