@h3ko

Нужно текст, который пользователь написал с FSM передавать определенному пользователю?

Не понимаю как вывести текст, который написал пользователь в тг бота определенному человеку.
Код ниже

from aiogram.dispatcher.filters.state import State, StatesGroup
from aiogram import types, Bot, Dispatcher, executor
from aiogram.contrib.fsm_storage.memory import MemoryStorage
from aiogram.dispatcher import FSMContext

TOKEN = '****'

bot = Bot(TOKEN)
storage = MemoryStorage()
dp = Dispatcher(bot, storage=storage)

class Shop(StatesGroup):
step1 = State()
step2 = State()
step3 = State()
step4 = State()

@dp.message_handler(commands=['start'], state=None)
async def start(message: types.Message):
await bot.send_message(message.chat.id, 'Здравствуйте, какой продукт вы хотите преобрести?')

await Shop.step1.set()

@dp.message_handler(state=Shop.step1)
async def step1(message: types.Message, state: FSMContext):
item = message.text
await state.update_data(
{
'item': item
}
)
await message.answer('В каком количестве?')
await Shop.next()

@dp.message_handler(state=Shop.step2)
async def step2(message: types.Message, state: FSMContext):
data = await state.get_data()
item = data.get

await message.answer('К какому времени?')
await Shop.next()

@dp.message_handler(state=Shop.step3)
async def step3(message: types.Message,state: FSMContext):
data = await state.get_data()
item = data.get

await state.finish()

await message.answer('Ваш заказ отправлен.')

if __name__ == '__main__':
executor.start_polling(dp)
  • Вопрос задан
  • 150 просмотров
Пригласить эксперта
Ответы на вопрос 1
Vindicar
@Vindicar
RTFM!
1. "Нужно текст, который пользователь написал с FSM передавать определенному пользователю?"
Нет, не нужно. На будущее: формулируй вопрос по-человечески. Туда же оформление кода - этого требуют правила ресурса.

2. По теме: у тебя в коде есть пример отправки сообщения пользователю с известным ID.
await bot.send_message(message.chat.id, 'Здравствуйте, какой продукт вы хотите преобрести?')

В чём проблема сделать по аналогии?
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы