forked from turicas/site-teste
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathapp.py
92 lines (74 loc) · 2.62 KB
/
app.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
import os
import gspread
import requests
from flask import Flask
from oauth2client.service_account import ServiceAccountCredentials
from tchan import ChannelScraper
TELEGRAM_API_KEY = os.environ["TELEGRAM_API_KEY"]
TELEGRAM_ADMIN_ID = os.environ["TELEGRAM_ADMIN_ID"]
GOOGLE_SHEETS_CREDENTIALS = os.environ["GOOGLE_SHEETS_CREDENTIALS"]
with open("credenciais.json", mode="w") as arquivo:
arquivo.write(GOOGLE_SHEETS_CREDENTIALS)
conta = ServiceAccountCredentials.from_json_keyfile_name("credenciais.json")
api = gspread.authorize(conta)
planilha = api.open_by_key("1ZDyxhXlCtCjMbyKvYmMt_8jAKN5JSoZ7x3MqlnoyzAM")
sheet = planilha.worksheet("Sheet1")
app = Flask(__name__)
def ultimas_promocoes():
scraper = ChannelScraper()
contador = 0
resultado = []
for message in scraper.messages("promocoeseachadinhos"):
contador += 1
texto = message.text.strip().splitlines()[0]
resultado.append(f"{message.created_at} {texto}")
if contador == 10:
return resultado
menu = """
<a href="/">Página inicial</a> | <a href="/promocoes">PROMOÇÕES</a> | <a href="/sobre">Sobre</a> | <a href="/contato">Contato</a>
<br>
"""
@app.route("/")
def index():
return menu + "Olá, mundo! Esse é meu site. (Álvaro Justen)"
@app.route("/sobre")
def sobre():
return menu + "Aqui vai o conteúdo da página Sobre"
@app.route("/contato")
def contato():
return menu + "Aqui vai o conteúdo da página Contato"
@app.route("/promocoes")
def promocoes():
conteudo = menu + """
Encontrei as seguintes promoções no <a href="https://t.me/promocoeseachadinhos">@promocoeseachadinhos</a>:
<br>
<ul>
"""
for promocao in ultimas_promocoes():
conteudo += f"<li>{promocao}</li>"
return conteudo + "</ul>"
@app.route("/promocoes2")
def promocoes2():
conteudo = menu + """
Encontrei as seguintes promoções no <a href="https://t.me/promocoeseachadinhos">@promocoeseachadinhos</a>:
<br>
<ul>
"""
scraper = ChannelScraper()
contador = 0
for message in scraper.messages("promocoeseachadinhos"):
contador += 1
texto = message.text.strip().splitlines()[0]
conteudo += f"<li>{message.created_at} {texto}</li>"
if contador == 10:
break
return conteudo + "</ul>"
@app.route("/dedoduro")
def dedoduro():
mensagem = {"chat_id": TELEGRAM_ADMIN_ID, "text": "Alguém acessou a página dedo duro!"}
resposta = requests.post(f"https://api.telegram.org/bot{TELEGRAM_API_KEY}/sendMessage", data=mensagem)
return f"Mensagem enviada. Resposta ({resposta.status_code}): {resposta.text}"
@app.route("/dedoduro2")
def dedoduro2():
sheet.append_row(["Álvaro", "Justen", "a partir do Flask"])
return "Planilha escrita!"