Добрый день,
мне необходимо, чтобы после нажатия определённой инлайн кнопки, бот ожидал в следующем сообщении от пользователя ссылку (причём ещё желательно с проверкой на формат). После того как пользователь отправил ссылку, сообщение от бота должно обновиться и вывести ссылку, которую ввёл пользователь, а сообщение пользователя удалиться.
Привожу пример, как это реализовано в другом боте:
Как я пытался это реализовать:
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()