Aiogram 3 не видно сообщения от пользователя оператору
я пишу бота на aiogram 3.3.0 и написал код что когда пользователь нажимает на кнопку "поддержка" любой оператор может ответить по инлайн кнопке и вступить в с ним в диалог,но есть проблема, сообщения оператора пользователь видит а наоборот - нет, в чём может быть проблема?в логах видно что сообщениен пользователя хэндлится, но само не видется операторм и возможно даже самим ботом вот код:
from aiogram import Router,F,types
from aiogram.types import CallbackQuery, InlineKeyboardMarkup, InlineKeyboardButton,InlineQuery
from aiogram.fsm.context import FSMContext
from aiogram.utils.keyboard import ReplyKeyboardMarkup, InlineKeyboardBuilder
from Admins.operators import admins_id
from users.loader import bot1
router = Router()
operators = admins_id
active_operators = {}
@router.callback_query(lambda c: c.data == 'support')
async def process_callback_support(callback_query: types.CallbackQuery):
markup= InlineKeyboardMarkup(inline_keyboard=[
[InlineKeyboardButton(text='Ответить пользователю', callback_data=f"reply_{callback_query.from_user.id}")]
])
for operator in operators:
await bot1.send_message(operator, f"Пользователь {callback_query.from_user.username} запросил поддержку.", reply_markup=markup)
await bot1.answer_callback_query(callback_query.id)
@router.callback_query(lambda c: c.data.startswith('reply'))
async def process_callback_reply(callback_query: types.CallbackQuery):
user_id = callback_query.data.split("_")[1]
print(user_id)
active_operators[callback_query.from_user.id] = user_id
markup= InlineKeyboardMarkup(inline_keyboard=[
[InlineKeyboardButton(text='Завершить беседу', callback_data='end_conversation')]
])
await bot1.send_message(callback_query.from_user.id, "Вы вступили в диалог с пользователем.", reply_markup=markup)
await bot1.send_message(user_id, "Оператор начал диалог с вами.")
await bot1.answer_callback_query(callback_query.id)
@router.callback_query(lambda c: c.data == 'end_conversation')
async def process_callback_end_conversation(callback_query: types.CallbackQuery):
if callback_query.from_user.id in active_operators:
user_id = active_operators[callback_query.from_user.id]
del active_operators[callback_query.from_user.id]
await bot1.send_message(user_id, "Оператор завершил диалог с вами.")
await bot1.send_message(callback_query.from_user.id, "Беседа завершена.")
await bot1.answer_callback_query(callback_query.id)
@router.message()
async def echo(message: types.Message):
if message.from_user.id in active_operators:
operator_id = active_operators[message.from_user.id]
print(f"User message: {message.text}, sending to operator_id: {operator_id}")
await bot1.send_message(operator_id, message.text)
elif message.chat.type == 'private':
operator_id = next((k for k, v in active_operators.items() if v == message.chat.id), None)
if operator_id:
print(f"User message: {message.text}, sending to operator_id: {operator_id}")
await bot1.send_message(operator_id, message.text)