Как получать содержимое новых сообщений в telegram канале?
Здравствуйте, мне надо с телеграмм канала ссылка удалена модератором реализовать, чтобы при появлении нового сообщения, скрипт брал текст сообщения и доставал от туда только сам промокод. Я не понимаю, как это реализовать. Пробовал через Telethon, не получилось даже entity канала узнать, просто выдает ошибку, что не удалось найти такой, хотя я его получал через client.get_entity("@battle_legendary") и с -100 и без, ничего.
Вроде задача очень простая, просто возьми последнее сообщение и скопируй его, все, но я не понимаю.
Пробовал вынести через client.iter_messages('-1001834701763', limit=1), но он меня тоже нафиг послал.
При этом после каждого подключения через API, меня выкидывает со всех устройств и приходится каждый раз входить в телеграмм аккаунт заново.
soremix, версия 1.27.0, раньше возвращался ответ, все как надо: давал ID канала без -100. А сейчас вообще ихинея какая-то, не могу просто напросто запустить код, каждый раз просит номер, код и выкидывает. Сейчас разбираюсь с этим, файл сессии есть, код тоже есть, но всеравно каждый раз требует вход. Читал, что это политика безопасности изменилась и январские-февральские сессии еще работают, а нынешние нет. Решил создать для этого отдельный вопрос, почему не могу зайти ни по файлу, ни по коду, чтобы не засорять эту тему: https://qna.habr.com/q/1265874
В общем, решил проблему сменив библиотеку на Pyrogram
Сессии сохраняются, подключается, с аккаунтов не выкидывает, по поводу ID канана мозги не компосирует.
from pyrogram import Client
from pyrogram import types, filters
from pyrogram.handlers import MessageHandler
CHANNEL_ID = -1001834701763
app = Client("my_account")
@app.on_message(filters=filters.channel)
async def my_function(client, message):
if message.chat.id == CHANNEL_ID:
t = message.text
print(t)
my_handler = MessageHandler(my_function)
app.add_handler(my_handler)
app.run()