@NoNjamix

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

Пишу проект на питоне. Нужно сохранить сообщение пользователя и потом внести его в ексель таблицу. Я воспользовался способом message.text, но у меня скопировалось сообщение которое было до, а надо то, которое пользователь напишет после.
  • Вопрос задан
  • 215 просмотров
Пригласить эксперта
Ответы на вопрос 1
a777mp198
@a777mp198
Python developer
Если Вам необходимо получить сообщение пользователя, которое он напишет после определенного сообщения бота - воспользуйтесь машиной состояний.
from aiogram.types import Message
from aiogram.dispatcher import FSMContext
from aiogram.dispatcher.filters.state import StatesGroup, State

class MessageUser(StatesGroup):
    mes = State()


@dp.message_handler(commands=['start', 'help'])
async def welcome(message: Message, state: FSMContext):
    await message.answer('Приветствую! Напишите своё сообщение, а я сохраню его.')
    await MessageUser.mes.set()

@dp.message_handler(state=MessageUser.mes)
async def save_message_user(message: Message, state: FSMContext):
    await state.update_data(mes=message.text)
    data = await state.get_data()
# теперь в объекте data['mes'] хранится сообщение пользователя, можете совершать с ним любые действия.
    await state.finish()
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы