Передача сообщения другому пользователю в aiogram

Я хочу, чтобы после ввода команды пользователем (например, Reg) появилось сообщение "Введите сообщение". После ввода сообщения, оно должно куда-то записаться и отправиться другому пользователю в личные сообщения.

Пример:

@router.message(F.text == 'reg')
async def reg(message: Message):
    await message.answer('Введите сообщение')

@router.message()
async def reg(message: Message, bot: Bot):
    username = message.from_user.username 
    await bot.send_message(id, 'Сообщение от @{username}: {сообщение})

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

Автор решения: ZxNuClear

Минимальный рабочий пример:

class Msg(StatesGroup):
    get_message = State()


@router.message(Command('start'))
async def cmd_start(message: Message, state: FSMContext):
    await message.answer('Введите сообщение')
    await state.set_state(Msg.get_message)


@router.message(Msg.get_message)
async def get_mess(message: Message, state: FSMContext, bot: Bot):
    await message.answer('Спасибо, ваше сообщение отправлено. Для отправки нового сообщения используйте команду /start')
    await state.clear()
    await bot.send_message(chat_id=ТУТ_ТВОЙ_ID, text=f"Сообщение от @{message.chat.username}:\n{message.text}")


# Удаление "мусорных" сообщений
@router.message(F.text)
async def clr_msg(message: Message):
    await Message.delete(message)

добавил еще удаление "мусорных" сообщений, отправляемых без нажатия команды /start, чтобы бот их просто удалял. Ну и не забудьте импортировать все необходимые модули

→ Ссылка