· 5 years ago · Sep 17, 2020, 12:40 PM
1
2#==============
3# protesta.py
4#==============
5
6#!/usr/bin/env python3
7
8"""
9
10 COMO USAR ESTE BOT:
11 1) Tenha instalado em seu computador um interpretador Python3 (de preferência 3.8.2 ou superior);
12 2) Adicione o seguinte pacote python que o script necessita:
13 --- tweepy; Para instalar: digite em seu terminal/prompt de comando: pip3 install tweepy (ou simplesmente pip install tweepy)
14 3) Altere o arquivo config.py adicionando suas chaves de api da conta de desenvolvedor do Twitter;
15 4) No arquivo config.py, na lista tags, adicione a(s) hashtag(s) desejada(s)
16 5) no arquivo phrases.json adicione as frases que você deseja que o bot poste no Twitter;
17 6) execute o script através de seu terminal ou prompt de comando:
18 --- Linux: ./protesta.py (antes de rodar assim use chmod +x protesta.py)
19 --- Windows: python protesta.py (ou simplesmente protesta.py)
20
21"""
22
23import config
24from time import sleep
25from random import randint
26
27def main():
28 api = config.prepare_bot()
29 while True:
30 try:
31 new_sentence = get_random_sentence()
32 print(new_sentence)
33 api.update_status(new_sentence)
34 #api.update_status("hello world")
35 sleep(60 * 5) # 5 minutos
36 except:
37 print('o bot foi reprimido :[\ntentando novamente em 10 segundos...')
38 sleep(10)
39
40def generate_random_payload():
41
42 # gambiarra pro Tio wilter não detectar tweets idênticos
43 # duvido que funcione em efetivo mas é o que tem pra hoje :]
44
45 llist = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z']
46 payload = ""
47 for a in range(6):
48 payload += llist[randint(0, (len(llist)-1))]
49 return payload
50
51def get_random_sentence():
52 sentences = config.load_sentences()['sentences']
53 n = randint(0, (len(sentences)-1))
54 sentence = f'{sentences[n]["frase"]} {generate_random_payload()}'
55 for t in config.tags:
56 sentence += f' {t}'
57 return sentence
58
59if __name__ == '__main__':
60 main()
61
62
63
64
65#============================
66# config.py
67#============================
68
69import tweepy
70import json
71
72keys = {
73 'CONSUMER_KEY':'API KEY AQUI',
74 'CONSUMER_SECRET':'API KEY SECRET AQUI',
75 'ACCESS_KEY':'ACCESS TOKEN AQUI',
76 'ACCESS_SECRET':'ACCESS TOKEN SECRET AQUI'
77}
78
79tags = ['#SalvemOETIM']
80
81def load_sentences():
82 with open('sentences.json') as sentences:
83 return json.load(sentences)
84
85def prepare_bot():
86 auth = tweepy.OAuthHandler(keys['CONSUMER_KEY'], keys['CONSUMER_SECRET'])
87 auth.set_access_token(keys['ACCESS_KEY'], keys['ACCESS_SECRET'])
88 return tweepy.API(auth)
89
90
91#==========================
92# phrases.json
93#==========================
94
95"""
96
97{
98 "sentences":[{"frase":"ENSINO NÃO É GASTO ENSINO NÃO É GASTO ENSINO NÃO É GASTO ENSINO NÃO É GASTO ENSINO NÃO É GASTO"},
99 {"frase":"Não permitiremos que estraguem com a carreira dos futuros estudantes!"},
100 {"frase":"Assine a petição para acabar com o ato covarde do Centro Paula Souza de sucatear a nossa ETEC!: https://www.peticao.online/salvem_o_etim"},
101 {"frase":"Salvem o ETIM! Salvem todas as ETECs da podridão do Centro Paula Souza!!"},
102 {"frase":"Contra o sucateamento da educação!"},
103 {"frase":"Não nos curvaremos à tentativa de nos tirar a qualidade de nosso estudo!"},
104 {"frase":"a ETEC Lauro Gomes não se renderá!"},
105 {"frase":"Educação não é gasto e muito menos rombo, é a garantia de que não seremos uma massa de manobra aos carrascos governamentais!"},
106 {"frase":"Um país sem educação nunca irá para frente!"},
107 {"frase":"Abaixo o atentado do CPS!"},
108 {"frase":"Prezervem os ETIMs da Etec Lauro Gomes e de tantas outras!"},
109 {"frase":"Não é mais possível aceitar os claros atentados à educação por parte do Centro Paula Souza!"},
110 {"frase":"É inaceitável desmantelar o ensino de uma das melhores escolas públicas do ABC. Não vamos nos calar! https://www.peticao.online/salvem_o_etim"},
111 {"frase":"Vamos juntos prezervar a história da nossa escola!"},
112 {"frase":"Hoje tiram a nossa educação, amanhã, tentarão nos manipular. NÃO NOS CALAREMOS!!!"},
113 {"frase":"O seu ato de extrema covardia não passará em branco, Centro Paula Souza! APOIE ESTA CAUSA: https://www.peticao.online/salvem_o_etim"},
114 {"frase":"Esta luta não é só por nossa ETEC mas por toda a educação brasileira que nunca teve a devida atenção!"},
115 {"frase":"Não ficaremos mais inertes perante esse descaso com a nossa educação! Apoie a causa: https://www.peticao.online/salvem_o_etim"},
116 {"frase":"Ei você que lê este tweet, não sabe o porquê desta causa? Tire alguns minutos para saber mais e apoiá-la! https://www.peticao.online/salvem_o_etim"},
117 {"frase":"EI CENTRO PAULA SOUZA, NÃO PENSE QUE CONSEGUIRÃO ACABAR COM NOSSA ESCOLA ASSIM, SEM MAIS NEM MENOS!"},
118 {"frase":"Respeitem a história da nossa ETEC, Centro Paula Souza! https://www.peticao.online/salvem_o_etim"},
119 {"frase":"Destruir a nossa educação não é uma opção!!!"},
120 {"frase":"Não iremos parar enquanto a nossa voz for ouvida!"},
121 {"frase":"Não pensem que por estarmos em uma pandemia ficaremos de braços cruzados, Centro Paula Souza!!!"},
122 {"frase":"Ao invés de cortar a nossa educação, corte a corrupção que existe dentro de si mesmo, Centro Paula Souza!!!"},
123 {"frase":"A vítima da vez foi a nossa ETEC, não podemos permitir que isso ocorra mais! https://www.peticao.online/salvem_o_etim"}]
124}
125
126"""