aiogram диспетчер для другого пользователя
В чём суть: мне необходимо, чтобы бот, работая в одном чате, отправил сообщение во второй, после чего начал обрабатывать запросы уже второго пользователя. Далее отрывок из моего кода. Здесь бот после работы с пользователем 1 отправляет сообщение в другой чат:
@dp.message_handler(lambda message: message.text == "Отправить", state=Post.waiting_for_approve)
async def final_options(message: types.Message, state: FSMContext):
keyboard = types.InlineKeyboardMarkup(row_width=1)
keyboard.add(types.InlineKeyboardButton(text="Опубликовать", callback_data="publish"))
keyboard.add(types.InlineKeyboardButton(text="Отклонить", callback_data="deny"))
media_group = types.MediaGroup()
with open('admin_id_file') as a:
admin_id = a.read()
user_data = await state.get_data()
for x in user_data['post_id']:
if user_data['post_id'].index(x) == 0:
media_group.attach_photo(x, caption=user_data['caption'])
else:
media_group.attach_photo(x)
await bot.send_media_group(media=media_group, chat_id=admin_id)
await message.answer(f"Объявление было отправлено пользователем @{user_data['user_id']}", reply_markup=keyboard)
После этого бот должен дождаться ответа уже пользователя 2, которому он отправил сообщение:
@dp.callback_query_handler(text="publish")
async def publish(call: types.CallbackQuery, state: FSMContext):
print('got!')
with open('group_id') as a:
group_id = a.read()
media_group = types.MediaGroup()
user_data = await state.get_data()
for x in user_data['post_id']:
if user_data['post_id'].index(x) == 0:
media_group.attach_photo(x, caption=user_data['caption'])
else:
media_group.attach_photo(x)
print(media_group)
await call.bot.send_media_group(media=media_group, chat_id=group_id)
await call.answer(text="Объявление было опубликовано", show_alert=True)
await state.finish()
Однако диспетчер не улавливает нажатие инлайн-кнопки, видимо потому что ждет его от первого пользователя (по крайней мере, мне так кажется). Прописывание user_id второго пользователя в диспетчере почему-то тоже не помогло.
Вопрос - как настроить диспетчер на другой чат?