pip install telebot
import telebot import requests import json import time import html TOKEN = 'сюда свой токен' bot = telebot . TeleBot ( TOKEN ) user_emails = { } user_last_message_id = { } def get_temp_email ( ) : url = 'https://www.1secmail.com/api/v1/?action=genRandomMailbox&count=1' response = requests . get ( url ) if response . status_code == 200 : email = json . loads ( response . text ) [ 0 ] return email return None def check_email_inbox ( email ) : login , domain = email . split ( '@' ) url = f'https://www.1secmail.com/api/v1/?action=getMessages&login={login}&domain={domain}' response = requests . get ( url ) if response . status_code == 200 : messages = json . loads ( response . text ) return messages return [ ] def get_message_content ( email , message_id ) : login , domain = email . split ( '@' ) url = f'https://www.1secmail.com/api/v1/?action=readMessage&login={login}&domain={domain}&id={message_id}' response = requests . get ( url ) if response . status_code == 200 : message = json . loads ( response . text ) return message return None @bot.message_handler ( commands = [ 'start' ] ) def start_message ( message ) : bot . send_sticker ( message . chat . id , 'CAACAgEAAxkBAAEpLcxm2dW5AS4WVB8PTRVshB2g1KNC5QACLQEAAjgOghHg_AlwrsI5zzYE' ) welcome_text = ( "👋 Добро пожаловать!\n" "🔹 Этот бот поможет вам получить временную почту.\n" "💼 Для начала использования нажмите на кнопку ниже 👇" ) email = get_temp_email ( ) if email : user_emails [ message . chat . id ] = email user_last_message_id [ message . chat . id ] = None markup = telebot . types . InlineKeyboardMarkup ( ) btn_change = telebot . types . InlineKeyboardButton ( text = "🔄 Сменить почту" , callback_data = "change_email" ) btn_info = telebot . types . InlineKeyboardButton ( text = "⚜ Информация" , callback_data = "info" ) markup . add ( btn_change , btn_info ) bot . send_message ( message . chat . id , welcome_text , parse_mode = 'HTML' , reply_markup = markup ) email_message = f"📧 Ваша временная почта: {email}\n\n" bot . send_message ( message . chat . id , email_message , parse_mode = 'HTML' ) else : bot . send_message ( message . chat . id , "❗ Ошибка при получении почты." , parse_mode = 'HTML' ) @bot.callback_query_handler ( func = lambda call : True ) def callback_query ( call ) : if call . data == "change_email" : new_email = get_temp_email ( ) if new_email : user_emails [ call . message . chat . id ] = new_email user_last_message_id [ call . message . chat . id ] = None bot . send_message ( call . message . chat . id , f"🔄 Ваша новая временная почта: {new_email}" , parse_mode = 'HTML' ) else : bot . send_message ( call . message . chat . id , "❗ Ошибка при смене почты." , parse_mode = 'HTML' ) elif call . data == "info" : info_message = ( "⚜ Информация о боте:\n" "Вы можете использовать его для быстрого получения почты, без необходимости регистрироваться на сайтах." "Данный бот полностью бесплатный, если вы хотите получать письма моментально то советуем оплатить подписку - 39₽" ) bot . send_message ( call . message . chat . id , info_message , parse_mode = 'HTML' ) def check_for_new_emails ( ) : while True : for chat_id , email in user_emails . items ( ) : messages = check_email_inbox ( email ) if messages : last_message = messages [ 0 ] last_message_id = last_message [ 'id' ] if user_last_message_id . get ( chat_id ) != last_message_id : user_last_message_id [ chat_id ] = last_message_id message_content = get_message_content ( email , last_message_id ) email_from = html . escape ( message_content [ 'from' ] ) email_subject = html . escape ( message_content [ 'subject' ] ) email_body = html . escape ( message_content [ 'textBody' ] ) notification = ( f"📨 Новое письмо на почту: {email}\n" f"👤 От кого:{email_from}\n" f"📋 Тема:{email_subject}\n\n" f"💬 Содержание:\n{email_body}" ) bot . send_message ( chat_id , notification , parse_mode = 'HTML' ) time . sleep ( 5 ) # Проверка почты (минимум 5 сек) import threading email_check_thread = threading . Thread ( target = check_for_new_emails ) email_check_thread . start ( ) bot . polling ( none_stop = True )