Скопировал код для ретвиттов на новую модульную систему

This commit is contained in:
2017-05-16 15:02:58 +03:00
parent 565fced8ba
commit 92fa8e21b5
9 changed files with 128 additions and 79 deletions

View File

@@ -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

25
authorization.py Normal file
View File

@@ -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)

5
check.py Normal file
View File

@@ -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

2
control.py Normal file
View File

@@ -0,0 +1,2 @@
#This script for control bot by other twitt_acc

7
keys.py Normal file
View File

@@ -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'

2
log_file.txt Normal file
View File

@@ -0,0 +1,2 @@
https://imgur.com/v9Nkv.jpg #illustration #noperson #business #symbol #internet
https://imgur.com/mNhTf.jpg #blur #noperson #business #technology #art

60
main.py Normal file
View File

@@ -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)

17
retweet.py Normal file
View File

@@ -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

10
start.py Normal file
View File

@@ -0,0 +1,10 @@
import main
#script for the start
if __name__ == '__main__':
while True:
#try:
main.main()
#except:
#pass