S
S
StenMarsh13372020-06-29 15:29:30
Python
StenMarsh1337, 2020-06-29 15:29:30

Message from telegram to mail?

I can’t figure out how to pull out the text that you write to the bot, and he sends this text to the mail

spoiler
import telebot
from telebot import types
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.image import MIMEImage
import requests

bot = telebot.TeleBot('')

@bot.message_handler(commands=['start'])
def first(message):
    keyboard = types.ReplyKeyboardMarkup(True, False)
    keyboard.add('Меню')
    send = bot.send_message(message.chat.id, "Добро пожаловать, {0.first_name}!\nЯ - <b>{1.first_name}</b>, бот созданный чтобы быть подопытным кроликом.".format(message.from_user, bot.get_me()),
        parse_mode='html', reply_markup=keyboard)
    bot.register_next_step_handler(send, second)


def second(message):
    if message.text == 'Меню':
        keyboard = types.ReplyKeyboardMarkup(True, False)
        keyboard.row('Отправить ', 'Рассчёт ')
        keyboard.add('Обратная связь', 'Помощь')
        send = bot.send_message(message.chat.id, 'Вибери что тебе нужно', reply_markup=keyboard)
        bot.register_next_step_handler(send, third)
    else:
        bot.send_message(message.chat.id, 'Сорри ниче не понял')
        addr_from = ""  # Адресат
        addr_to = ""  # Получатель
        password = ""  # Пароль
        msg = MIMEMultipart()  # Создаем сообщение
        msg['From'] = addr_from  # Адресат
        msg['To'] = addr_to  # Получатель
        msg['Subject'] = 'Тема сообщения'  # Тема сообщени

        body = "Текст нужно вытянуть"
        msg.attach(MIMEText(body, 'plain'))  # Добавляем в сообщение текст

        server = smtplib.SMTP('smtp.gmail.com', 587)  # Создаем объект SMTP
        server.set_debuglevel(True)  # Включаем режим отладки - если отчет не нужен, строку можно закомментировать
        server.starttls()  # Начинаем шифрованный обмен по TLS
        server.login(addr_from, password)  # Получаем доступ
        server.send_message(msg)  # Отправляем сообщение
        server.quit()  # Выходим

Answer the question

In order to leave comments, you need to log in

3 answer(s)
S
soremix, 2020-06-29
@StenMarsh1337

Above handler add
def second(message):
@bot.message_handler(func=lambda m: True)

D
Dimonchik, 2020-06-29
@dimonchik2013

try through variables - enter the text into a variable
and then to the mail and wherever you want

L
Lynatik001, 2020-06-29
@Lynatik001

def second(message):
    if message.text == 'Меню':

isn't message.text a message from a bot?
And then just looking for how to send information to email

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question