Как бот может получить ID сообщения на которое ответил пользователь (Телеграм aiogram)
Суть вопроса в том, что в группе с темами всегда сообщение отправляется как ответ на первое сообщение системы типа "Тема 22 создана". Я ботом хочу контролировать одну конкретную тему. Я так понимаю, мне нужно узнать ID этого первого сообщения при создании темы, чтоб понимать, что пользователь написал именно в эту тему. Немного поправлю вопрос. Я то знаю ID темы, но не понимаю как бот может получить это ID чтоб дальше с ним работать?
telegram_id = message.chat.id этим кодом я получаю ID чата без учёта темы, результат типа -10023456789 а мне нжно чтоб бот видел в какой теме написал пользователь типа -10023456789_4
Для написания бота использую Python312 и библиотеку aiogram 3.14 Следующий код мне дает ID группы и имя пользователя который написал в группу любое сообщение Как узнать, что он написал именно в нужную тему?
@dp.message()
async def command_start_handler(message: Message) -> None:
telegram_id = message.chat.id
username = message.from_user.username
await message.answer('Hello')
Ответы (1 шт):
Вроде нашёл как вычислить тему, в которую пишет пользователь:
@dp.message()
async def command_start_handler(message: Message) -> None:
telegram_id = message.from_user.id # id пользователя
ch_id = message.chat.id # id группы
username = message.from_user.username # имя пользователя
n_thema = message.reply_to_message.message_id # id темы куда пришло сообщение
await message.answer(f'Hello, {n_thema}') # визуальный тест переменной
await add_to_database(telegram_id, username, ch_id) # занесение в базу данных нужные параметры
В итоге имеем и id
группы, и id
темы:
message_thread_id
вместо message_id
тоже даёт номер темы.
Разница в этом:
message_thread_id
возвращаетid
темы в любом случаеmessage_id
возвращаетid
темы, если обычная отправка сообщения, а если ответ на какое-то сообщение, то возвращаетid
того сообщения, на которое ответ.