Как получать содержимое новых сообщений в telegram канале?
мне надо с телеграмм канала(https://t.me/battle_legendary) реализовать, чтобы при появлении нового сообщения, скрипт брал текст сообщения и доставал от туда только сам промокод. Я не понимаю, как это реализовать. Пробовал через Telethon, не получилось даже entity канала узнать, просто выдает ошибку, что не удалось найти такой, хотя я его получал через client.get_entity("@battle_legendary") и с -100 и без, ничего.
Вроде задача очень простая, просто возьми последнее сообщение и скопируй его, все, но я не понимаю.
Пробовал вынести через client.iter_messages('-1001834701763', limit=1), но он меня тоже нафиг послал.
При этом после каждого подключения через API, меня выкидывает со всех устройств и приходится каждый раз входить в телеграмм аккаунт заново.
Буду очень благодарен, если вы подскажете решение данной задачи
Ответы (1 шт):
Для того, чтобы получать содержимое новых сообщений в Telegram канале, вам нужно использовать Telegram Bot API. После создания бота и получения токена, вы можете использовать метод getUpdates для получения списка обновлений (новых сообщений) в канале.
- Создайте бота в Telegram и получите токен.
- Добавьте бота в канал в качестве администратора.
- Используйте следующий код для получения обновлений в канале и извлечения промокода из последнего сообщения:
import requests
TOKEN = 'YOUR_BOT_TOKEN'
CHANNEL_NAME = 'battle_legendary'
def get_updates():
url = f'https://api.telegram.org/bot{TOKEN}/getUpdates'
response = requests.get(url)
return response.json()
def extract_promocode(message):
# здесь вы можете реализовать извлечение промокода из текста сообщения
return promocode
updates = get_updates()['result']
if updates:
last_message = updates[-1]['message']
if last_message['chat']['title'] == CHANNEL_NAME:
promocode = extract_promocode(last_message['text'])
print(promocode)
В этом примере мы используем метод getUpdates для получения списка обновлений (новых сообщений), а затем извлекаем последнее сообщение в канале и извлекаем промокод из его текста.
При использовании Bot API вы не должны быть выкинуты со всех устройств при каждом подключении к аккаунту.
Надеюсь, это поможет вам решить задачу!