@artem33region

Отправка сообщения от бота в чат?

Подскажите, пишу бота Телеграм на pyhon (aiogram).
Бот техподдержки, его функции это пересылать сообщения между пользователем и чатом тех.поддержки, например пользователь пишет боту сообщение с проблемой и бот пересылает сообщение в чат технической поддержки, вот код пересылки:
async def question_handler(message: types.Message):#, state: FSMContext):
    await bot.forward_message(chat_id=CHAT_ID, from_chat_id=message.chat.id, message_id=message.message_id)
    await message.answer(f"Сообщение отправлено! Ожидайте ответа от тех.поддержки. {smile}", parse_mode='Markdown', reply_markup=but.buttons)

dp.register_message_handler(question_handler, ChatTypeFilter(chat_type=types.ChatType.PRIVATE), content_types=['photo', 'text'])


После того как сообщение появится в чате, свободный инженер отвечает на сообщение методом reply:

async def ansver_handler(message: types.Message):#, state: FSMContext):
    chat = message.forward_from_chat.id
    if message.reply_to_message and message.reply_to_message.from_user.id == BOT_ID:
        await bot.send_message(chat_id=chat, text=message.text)

dp.register_message_handler(ansver_handler, ChatTypeFilter(chat_type=types.ChatType.GROUP), content_types = ['photo', 'text'])


И вот тут загвоздка, сообщение не пересылается обратно к пользователю, как я понял, сообщение которое переслал первый раз бот (в чат тех.поддержки) не имеет никаких id чата или пользователя?
И чтобы организовать пересылку, нужно придумать "костыль" для сохранения нужных данных и их сопоставления?
Или может быть есть готовый метод?
  • Вопрос задан
  • 213 просмотров
Пригласить эксперта
Ответы на вопрос 1
@TKDBOT
Учу python. Готов к конструктивной критике.
В вопросе есть ответ. Тебе нужно сохранять одинаковые данные для сопоставления, очень напоминает базу данных) К примеру sqlite, простая до не́льзя. Туда сохраняешь id чата и id пересланного сообщения. При получении ответа на сообщение от инженера смотришь на какой id был ответ и на какой user id его отправить.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы