Telepot — чтение текста отправленного сообщения

#python #bots #telegram #telepot

#python #боты #telegram #telepot

Вопрос:

Я использую библиотеку telepot python для своего бота на python 3.5. Я хочу прочитать текст сообщения, которое уже находится в чате, зная идентификатор чата telegram и идентификатор сообщения. Как я могу сделать?

Ответ №1:

Библиотека telepot представляет собой оболочку HTTP API Telegram Bot, и, к сожалению, в API на данный момент нет такого метода. (смотрите Здесь полный список всех доступных методов). Кроме того, telepot больше не поддерживается активно.

Тем не менее, вы можете напрямую отправлять запросы на серверы telegram (минуя промежуточный HTTP API), используя вместо этого библиотеки на основе протокола mtproto (такие как Telethon, Pyrogram, MadelineProto и т. Д.).

Вот пример использования Telethon, чтобы дать вам представление:

 from telethon import TelegramClient

API_ID = ...
API_HASH = ' ... '

BOT_TOKEN = ' ... '

client = TelegramClient('bot_session', API_ID, API_HASH).start(bot_token = BOT_TOKEN)

async def main():
    message = await client.get_messages(
        -10000000000, # channel ID
        ids=3 # message ID
    )
    print("MESSAGE:n---n")
    print(message.text)

client.start()
client.loop.run_until_complete(main())
  
 [user@pc ~]$ python main.py
MESSAGE:
---

test message
  

Вы можете получить значения для API_ID и API_HASH , создав приложение поверх my.telegram.org (смотрите эту страницу для получения более подробной инструкции)