Модерация введенных пользователем данных в тг боте aiogram

Пишу тг-бота, возникла надобность реализовать аддминку, где модератор будет принимать или отклонять данные, введенные ранее пользователем. Модерация получилась, но еще ведь нужно уведомить о прохождении модерации юзера - с этим проблема. Айди юзера сохранить не представляется возможным, а значит нельзя отправить сообщение: машина состояний исключена (у меня в коде разветвление - модер пропускает или отклоняет данные), как записать в файл - не знаю, пользователей может быть несколько одновременно и достать из файла нужный айди, видимо, нельзя. Помогите, пожалуйста! Скинул два хэндлера - отправка строки данных юзеру и хэндлер успешного прохождения модерации, где надо отправить сообщение пользователю. Первый:

async def cmd_mod_vlnt_comfirmation(message: types.Message):
    await bot.send_message(message.from_user.id, 'Ваши данные отправлены на модерацию. Пожалуйста, ожидайте.')
    need_id = message.from_user.id
    with open('''C:/Users/vvvpe/Desktop/Connect/Data/vlnt_data.txt''', 'r') as mod_f:
        for line in mod_f:
            if str(need_id) in line:
                cur_mod_data = line
    await bot.send_message(айди модератора, cur_mod_data)

Второй:

async def cmd_mod_vlnt_comfirmed(message: types.Message):
    await bot.send_message(message.from_user.id, 'Это сообщение админу')
    await bot.send_message(message.from_user.id, 'Это сообщение - юзеру, вместо в первый аргумент send_message нужно указать айди пользователя, который непонятно как достать', reply_markup=kb_vlnt_main)

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

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

Вот примерно так это выглядит

# юзер отправил сообщение
@dp.message_handler()
async def start(message: types.Message):
    markup = InlineKeyboardMarkup()
    markup.add(InlineKeyboardButton("Принять", callback_data=f"moder:accept@id:{message.from_user.id}"),
               InlineKeyboardButton("Отклонить", callback_data=f"moder:decline@id:{message.from_user.id}"))
    await bot.send_message(chat_id=admin_id, text=message.text, reply_markup=markup)


@dp.callback_query_handler(text_startswith="moder")
async def moderation(call: types.CallbackQuery):
    type_call = call.data.split("@")[0].split(":")[1]
    user_id = call.data.split("@")[1].split(":")[1]
    if type_call == "accept":
        await bot.send_message(user_id, "...")
    else:
        pass
→ Ссылка