mirror of
				https://gitlab.com/akasroua/covot
				synced 2025-11-04 02:39:50 +01:00 
			
		
		
		
	Implement Two-factor authentification
This commit is contained in:
		
							parent
							
								
									5a3afd0bfa
								
							
						
					
					
						commit
						e3ab194c06
					
				
							
								
								
									
										23
									
								
								src/bot.py
									
									
									
									
									
								
							
							
						
						
									
										23
									
								
								src/bot.py
									
									
									
									
									
								
							@ -1,6 +1,15 @@
 | 
			
		||||
import logging
 | 
			
		||||
 | 
			
		||||
from telethon import TelegramClient, events
 | 
			
		||||
from telethon.sessions import StringSession
 | 
			
		||||
from constants import API_ID, API_HASH, BOT_TOKEN, SESSION
 | 
			
		||||
 | 
			
		||||
from constants import API_HASH, API_ID, BOT_TOKEN, CSV_FILE, SESSION
 | 
			
		||||
from database import search_csv
 | 
			
		||||
from notifier import send_mail
 | 
			
		||||
 | 
			
		||||
logging.basicConfig(
 | 
			
		||||
    format="[%(levelname) 5s/%(asctime)s] %(name)s: %(message)s", level=logging.WARNING
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
bot = TelegramClient(StringSession(SESSION), API_ID, API_HASH).start(
 | 
			
		||||
    bot_token=BOT_TOKEN
 | 
			
		||||
@ -15,6 +24,18 @@ async def start(event):
 | 
			
		||||
    raise events.StopPropagation
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@bot.on(events.NewMessage(pattern=r"^[0-9]{8,8}[A-Za-z]"))
 | 
			
		||||
@bot.on(
 | 
			
		||||
    events.NewMessage(pattern=r"(^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$)")
 | 
			
		||||
)
 | 
			
		||||
async def identify(event):
 | 
			
		||||
    user = search_csv(filepath=CSV_FILE, id=event.raw_text)
 | 
			
		||||
    send_mail(recipient=user["correo_institucional"])
 | 
			
		||||
    await event.respond(
 | 
			
		||||
        "El usuario se ha identificado con éxito. Se ha mandado una clave alfanumérica a su correo institucional. Por favor envíe la clave para continuar con el proceso."
 | 
			
		||||
    )
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def main():
 | 
			
		||||
    bot.run_until_disconnected()
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user