-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathboyzoBot.py
145 lines (115 loc) · 5.28 KB
/
boyzoBot.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
import stdBot
import simplejson
import os
boyzoBot = stdBot.RantBot()
#open file containing authenticarion data
auth_data=open('auth.info','r')
plines= auth_data.readlines()
auth_data.close()
for x in plines:
if x.find('tuser')+1 :
boyzoBot.tuser = x.partition('&')[2].strip()
elif x.find('tpass')+1 :
boyzoBot.tpass = x.partition('&')[2].strip()
elif x.find('email')+1 :
boyzoBot.email = x.partition('&')[2].strip()
elif x.find('consumerkey')+1 :
boyzoBot.consumer_key = x.partition('&')[2].strip()
elif x.find('consumersecret')+1 :
boyzoBot.consumer_secret = x.partition('&')[2].strip()
elif x.find('otoken')+1 :
boyzoBot.atoken = x.partition('&')[2].strip()
elif x.find('ostoken')+1 :
boyzoBot.stoken = x.partition('&')[2].strip()
boyzoBot.twit_authenticate()
if boyzoBot.tuser <> 'boyzoBot' : boyzoBot.twit_twit(
'Soy @boyzoBot pero algun inepto me esta corriendo en otra cuenta via @boyzo')
# Declaring some useful vars
subj = 'boyzo'
subjposts = []
subjlpost = []
flag = []
cachedtwits = 10
if os.path.isfile('rants.json'):
rantBase=open('rants.json','r')
boyzoBot.rantstuff=simplejson.loads(rantBase.read())
rantBase.close()
else:
# Default rants
rantBase=open('rants.json.default','r')
boyzoBot.rantstuff=simplejson.loads(rantBase.read())
rantBase.close()
# boyzoBot.rantstuff['rants'].extend(['rant!','AHH','odio esto,',
# 'no puede ser,','maldicion,','maldita sea,'
# ])
# boyzoBot.rantstuff['phrases'].extend(['malditas suggestions de facebook',
# 'siempre hay trafico en internet',
# 'necesito un update!!',
# 'ya me harte de esto',
# 'necesito un cigarro',
# 'voy por un cigarro',
# 'me echare un rato, luego a ver que sale',
# 'ningun intento barato de no-bot me ganara en rantear',
# 'ranteo porque solo para eso me programaron',
# 'cuando van a programar marianaBot\'s?',
# 'NO PUEDO USAR TEAMSPEAK!!',
# 'bloqueare google para que no construyan un metrobus'+
# ' que pase por mi dominio',
# 'Hello world',
# 'Segmentation fault',
# 'ya no puede pasearse uno sin que le apliquen el Captcha',
# 'que quieren que trabaje todo el dia en el GAE??'+
# ' estan mal',
# 'no tiene sentido ser Skynet ready si todavia no esta '+
# 'funcionando!',
# 'ya me estan bloqueando',
# 'ya nadie se queja de que #ranteocomoboyzo'
# ])
# boyzoBot.rantstuff['enemys'].extend(['notbotBot','antibotBot'])
# a function to fast-fakeretwit
def RT_boyzo_post(target,messtr):
boyzoBot.twit_twit('RT @'+target+': '+messtr)
#boyzoBot.Bot_sleep(12)
statuses=boyzoBot.tApi.GetSearchResults({'q':'#ranteocomoboyzo','rpp':1}).pop('results')
for x in statuses:
if x['from_user']<>'boyzoBot':
RT_boyzo_post(x['from_user'],x['text'])
relation=boyzoBot.tApi.GetRelationship(screen_name=x['from_user']).pop('relationship')
if not relation['target']['followed_by'] :
boyzoBot.tApi.FollowUser(user_id=relation['target']['id'])
boyzoBot.twit_twit('ahora sigo a '+relation['target']['screen_name']+
' porque yo tambien #ranteocomoboyzo')
if not relation['target']['following'] :
boyzoBot.twit_twit(relation['target']['screen_name']+
' aplica el #ranteocomoboyzo pero no me sigue. Que mal')
statuses=boyzoBot.tApi.GetSearchResults({'q':'@boyzoBot','rpp':1}).pop('results')
for x in statuses:
if x['from_user']<>'boyzoBot': #boyzoBot doesn't talk with himself (in public)
if x['text'].startswith('@boyzoBot'): #that means a messsage, reply
if x['text'].endswith('?'): #this is a explicit question
wordlist=x['text'][:-2]
wordlist=wordlist.split( )[1:]
magicword=''
for word in wordlist:
if len(word)>4:
magicword=word
break
boyzoBot.twit_twit('@'+x['from_user']+' tu no '+magicword+' #n00b')
# boyzoBot.twit_twit('@'+x['from_user']+' estoy muy ocupado como para contestarte #n00b')
elif x['text'].startswith('RT @boyzoBot'):
pass
else:
boyzoBot.twit_twit('@'+x['from_user']+' no entiendo tu twitt, #ranteocomoboyzo')
#quit()
boyzoBot.Bot_sleep(60)
#boyzoBot.mood = 100
while (boyzoBot.mood>0):
boyzoBot.Bot_sleep(12)
boyzoBot.RandomTwitRant()
boyzoBot.Bot_sleep_random(1200,60)
boyzoBot.mood -= 1
boyzoBot.twit_twit('Ya me harte, ranteo luego')
boyzoBot.twit_deauthenticate()
rantBase=open('rants.json','w')
rantBase.write(simplejson.dumps(boyzoBot.rantstuff))
rantBase.close()