Как в телеграм боте запросить логин и пароль от пользователя?

Рейтинг: 0Ответов: 1Опубликовано: 02.06.2023

Пишу своего первого бота. Не могу понять, как запросить логин и пароль у пользователя, чтобы в дальнейшем вставить их для авторизации на мейл сервере.

Буду благодарен, если объясните как это сделать.

import telebot
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText

# TOKEN
TOKEN = ''
bot = telebot.TeleBot(TOKEN)


@bot.message_handler(commands=['start'])
def start(message):
    keyboard1 = telebot.types.ReplyKeyboardMarkup(resize_keyboard=True, one_time_keyboard=True)
    bot.send_message(message.chat.id,
                           text='Чтобы создать заявку, выберите команду /createticket',
                           reply_markup=keyboard1)

#команда создания заявки (нужно получить от пользователя)

@bot.message_handler(commands=['createticket'])
def process_createticket(message):
   msg = bot.send_message(message.chat.id, 
                     text= 'Опишите вашу проблему подробно')
                     #text ='Укажите заголовок сообщения')


#отправка сообщения пользователя на почту.

@bot.message_handler(content_types=['text'])
def send_email(message):
    try:
        username = "{0.username}".format(message.from_user, bot.get_me())
        fromuseraddr = "(тут будет логин пользователя)@mail.ru"
        userpass = "(здесь пароль пользователя)"
        toaddr = "2@mail.ru"
        msg = MIMEMultipart()
        msg['From'] = fromuseraddr
        msg['To'] = toaddr
        msg['Subject'] = "Новая заявка из телеграмм от @" + str(message.from_user.username)
        # body = "Message: Telegram_bot \n\n" + message.text + '\n\n' +str(message.from_user.username)
        body = "Соощение от bot \n\n" + '-------------------\n\n' + message.text + '\n\n-------------------' + '\n\nНикнейм: @' + str(message.from_user.username) + '\nИмя: ' + str(message.from_user.first_name) + '\nФамилия: ' + str(message.from_user.last_name)
        
        msg.attach(MIMEText(body, 'plain'))

        #подключение к серверу и отправка заявки пользователя
        server = smtplib.SMTP#('mail.domen.ru', )
        server.starttls()
        server.login(fromuseraddr, userpass)
        text = msg.as_string()
        server.sendmail(fromuseraddr, toaddr, text) 
        server.quit()

        bot.reply_to(message.chat.id, "Ваша заявка создана")
    except Exception:
        bot.reply_to(message, 
"""Ошибка, заявка не отправлена.

Проверьте правильность введенных почты и пароля.
Попробуйте еще раз.""")

bot.polling()

Ответы

▲ 0
bot.register_next_step_handler

позволит перейти к следующей функции.