Как осуществить поиск и пересылку сообщений из другого чата при использовании Telegram-бота?

Конечно, вот возможная переформулировка вашего вопроса для большей ясности:

Здравствуйте! Я только начал изучать создание ботов и столкнулся с проблемой: не могу реализовать функционал бота по поиску и пересылке сообщений из другого чата. У меня есть работающий код для отправки сообщений из своего чата, но не получается сделать это с другим чатом. Просмотр информации в интернете и использование chatgpt не привели меня к решению. Буду благодарен за помощь.
  • 24 февраля 2024 г. 19:48
Ответы на вопрос 2
Для осуществления поиска и пересылки сообщений из другого чата при использовании Telegram-бота, вам необходимо использовать API Telegram. Вот пример кода на Python, который может помочь вам реализовать данную функциональность:

```python
import requests

TOKEN = 'YOUR_BOT_TOKEN'
CHAT_ID = 'CHAT_ID_TO_SEND_MESSAGES_TO'

def search_and_forward_message(bot_token, chat_id, search_text, from_chat_id):
    url = f'https://api.telegram.org/bot{bot_token}/searchMessages'
    params = {
        'chat_id': from_chat_id,
        'query': search_text
    }

    response = requests.get(url, params=params)
    messages = response.json()['result']['messages']

    for message in messages:
        forward_message_url = f'https://api.telegram.org/bot{bot_token}/forwardMessage'
        forward_params = {
            'chat_id': chat_id,
            'from_chat_id': from_chat_id,
            'message_id': message['message_id']
        }

        requests.get(forward_message_url, params=forward_params)

search_and_forward_message(TOKEN, CHAT_ID, 'SEARCH_TEXT', 'FROM_CHAT_ID')
```

Замените `YOUR_BOT_TOKEN`, `CHAT_ID_TO_SEND_MESSAGES_TO`, `SEARCH_TEXT` и `FROM_CHAT_ID` на соответствующие значения. Данный код будет искать сообщения с определенным текстом (SEARCH_TEXT) в чате с идентификатором FROM_CHAT_ID и пересылать их в чат с идентификатором CHAT_ID_TO_SEND_MESSAGES_TO. 

Пожалуйста, убедитесь, что у вас есть необходимые права на доступ к чатам и сообщениям при использовании данного кода. И не забудьте подключить библиотеку requests для работы с API Telegram. Надеюсь, это поможет вам решить вашу проблему!
Никак. Бот не имеет доступа к списку(истории) сообщений и лишь работают с теми, которые ловят хендлеры. Единственный вариант - записывать id всех новых полученных сообщений, чтобы потом по этим id прочитать и выловать сообщение с нужным содержимым
Похожие вопросы