@demegorych

Aiogram: Как считать сообщение пользователя после нажатия inline-кнопки?

Добрый день,
мне необходимо, чтобы после нажатия определённой инлайн кнопки, бот ожидал в следующем сообщении от пользователя ссылку (причём ещё желательно с проверкой на формат). После того как пользователь отправил ссылку, сообщение от бота должно обновиться и вывести ссылку, которую ввёл пользователь, а сообщение пользователя удалиться.

Привожу пример, как это реализовано в другом боте:
624c0283a6f73138615216.png
624c02c4e9d4a650852050.png

Как я пытался это реализовать:
class Mydialog(StatesGroup):
    answer = State()


@dp.callback_query_handler(callback.filter(action=["get_views_link"]))
async def get_views_link(call: types.CallbackQuery):
    with suppress(MessageNotModified):
        await call.message.edit_text(f"Введите ссылку на пост:", reply_markup=get_keyboard_accept_link_views())


@dp.message_handler()
async def cmd_dialog(message: types.Message):
    await Mydialog.answer.set()


@dp.message_handler(state=Mydialog.answer)
async def process_message(message: types.Message, state: FSMContext):
    async with state.proxy() as data:
        data['text'] = message.text
        user_links[message.from_user.id] = data['text']
        print(data['text'])
        await message.edit_text(
            f"Ссылка на пост - {user_links[message.from_user.id]}\nКоличество просмотров - {user_local[message.from_user.id]}",
            reply_markup=get_keyboard())

    await state.finish()
  • Вопрос задан
  • 1268 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

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