-
Notifications
You must be signed in to change notification settings - Fork 2
/
telegram.py
61 lines (50 loc) · 1.9 KB
/
telegram.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
import dataset
import telebot
from config import settings
db = dataset.connect(settings.DATABASE_URL)
table = db[settings.USER]
bot = telebot.TeleBot(settings.TOKEN)
@bot.message_handler(commands=["start"])
def start(message):
if table.find_one(id=message.chat.id) == None:
response = (
"Bem vindo ao alerta de noticias do NEI UFRN.\n"
"Você agora será alertado sempre que uma noticia nova for postada "
"no portal de noticias do NEI UFRN.\n"
"Para remover o seu cadastro, basta enviar a mensagem: /sair"
)
user_name = message.from_user.username
full_name = (
f"{message.from_user.first_name}" f"{message.from_user.last_name.strip()}"
if message.from_user.last_name != None
else ""
)
print("New user",user_name, full_name)
table.insert(dict(id=message.chat.id, user_name=user_name, full_name=full_name))
else:
response = "Você já está cadastrado."
bot.send_message(message.chat.id, response)
@bot.message_handler(commands=["sair"])
def start(message):
if table.find_one(id=message.chat.id) == None:
response = (
"Você não está cadastrado.\n"
"Envie a mensagem: /start para iniciar o recebimento de noticias do NEI UFRN"
)
else:
response = (
"Seu cadastro para alerta das noticias do NEI UFRN foi removido.\n"
"Caso deseja voltar a receber alertas, envie a mensagem: /start"
)
table.delete(id=message.chat.id)
print(f'User {message.chat.id} left')
bot.send_message(message.chat.id, response)
def send_noticia(title, url):
response = "Nova noticia:\n" f"{title}\n{url}"
users = table.find()
for user in users:
bot.send_message(user["id"], response)
return True
if __name__ == "__main__":
print("Started telegram")
bot.polling()