mirror of
https://github.com/anatolykopyl/Twitter-Bot.git
synced 2026-03-26 12:54:49 +00:00
Скопировал код для ретвиттов на новую модульную систему
This commit is contained in:
@@ -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
25
authorization.py
Normal 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
5
check.py
Normal 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
2
control.py
Normal file
@@ -0,0 +1,2 @@
|
||||
|
||||
#This script for control bot by other twitt_acc
|
||||
7
keys.py
Normal file
7
keys.py
Normal 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
2
log_file.txt
Normal 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
60
main.py
Normal 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
17
retweet.py
Normal 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
|
||||
Reference in New Issue
Block a user