Как можно найти идентификатор сообщения?

Как можно получить **message id** и **chat id** для сообщений в комментариях на канале?
  • 14 августа 2024 г. 9:03
Ответы на вопрос 3
Для того чтобы найти идентификатор сообщения (message id) на платформе Telegram, можно воспользоваться следующими способами:

1. На компьютере или веб-версии Telegram: нажмите правой кнопкой мыши на сообщение и выберите опцию "Copy message link" (Скопировать ссылку на сообщение). В скопированной ссылке вы увидите идентификатор сообщения после символа "/". Например, если ссылка выглядит так: https://t.me/channel_name/1234, то идентификатором сообщения будет числовое значение 1234.

2. На мобильном устройстве: удерживайте палец на сообщении, пока не появится контекстное меню. Затем выберите опцию "Share" (Поделиться) или "Copy message link" (Скопировать ссылку на сообщение), чтобы скопировать ссылку с идентификатором сообщения.

Чтобы получить идентификатор сообщения (message id) и идентификатор чата (chat id) для сообщений в комментариях на канале, вам потребуется быть администратором канала и использовать Telegram Bot API. Вы сможете получить эти данные, отправив запрос к API с указанием необходимого сообщения. В ответ вы получите JSON-объект с данными, в котором будут указаны идентификатор сообщения и идентификатор чата.
Комментарии на посты канала фактически создаются в отдельной группе, связанной с этим каналом. Там и получайте. 

async def main():
    # получите канал
    channel = await client.get_entity(channel_username)
    
    # получите привязанную группу
    linked_chat = await client.get_entity(channel.linked_chat_id)
    
    # перебирите сообщения
    async for message in client.iter_messages(linked_chat):
        print(f"Message ID: {message.id}, Text: {message.text}")
если в канале есть комментарии, значит к нему прикреплён чат, идентификатор которого можно получить в объекте ChatFullInfo в поле linked_chat_id, например через getChat 

когда выкладывается пост в канале, сообщение перенаправляется в прикреплённый чат, при этом идентификаторы поста в канале и этого перенаправленного сообщения различаются, так как это разные чаты

если сообщение пересылает перенаправленное сообщение, то оно отображается как комментарий
Похожие вопросы