Python telebot сохранение текста в переменную

Наткнулся на это: Как записать в переменную сообщение? Варианты telebot и aiogram

И вот вопрос. Как сделать так, чтобы ты этот текст записывался в переменную, а потом, по какой нибудь команде, например /text, выводились бы это сообщение, записано в переменную. Что-то вроде эхо-бота. Но по команде. Пытался через return, но как-то не вышло


Ответы (3 шт):

Автор решения: Михаил
a = bot.send_message(message.chat.id, 'Введите текст:')
bot.register_next_step_handler(a, b)
@bot.message_handler(commands=['text'])
def start_message(message):
    bot.send_message(message.chat.id, f'Ваш текст: {b}')
→ Ссылка
Автор решения: Utsiye
@bot.message_handler(commands=["start"])
def starting(message):
    a = bot.send_message(message.chat.id, 'Введите текст:')
    bot.register_next_step_handler(a, returning)
@bot.message_handler(commands=['return'])
def returning(message):
    bot.send_message(message.chat.id, f'Ваш текст: {message.text}')
→ Ссылка
Автор решения: Микита Білогур

Надеюсь, я правильно тебя понял

Вот как эту проблему решил я, бот локально сохраняет в форме (так называемом состоянии) и далее использует данные введенные пользователем

class OutputForm(StatesGroup):
    Output = State()
@dp.callback_query_handler(text="Sber_output")
async def sber_output(callback: types.CallbackQuery):
    await bot.delete_message(callback.from_user.id, callback.message.message_id)
    await bot.send_message(callback.from_user.id, "Введите номер карты")
    await OutputForm.Output.set()

Использовать можно вот так

@dp.message_handler(state='*', commands='cancel')
@dp.message_handler(state=OutputForm.Output)
async def process_city(message: types.Message, state: FSMContext):
    Output = message.text
→ Ссылка