У меня есть телеграм-бот и клиент. Телеграм-бот добавлен во все нужные мне каналы (как администратор). Поскольку у ботов нет доступа к истории сообщений, я получаю сообщения с помощью клиента. Но я хочу сделать так, чтобы не было необходимости добавлять его на канал. Как мне это сделать и возможно ли это вообще? (Каналы общедоступные).
Мой код с использованием Pyrogram (но здесь нужно добавить клиента в канал):
from pyrogram import Client, utils
from config import API_ID, API_HASH, PHONE_NUMBER, CHANNEL_ID
api_id = API_ID
api_hash = API_HASH
app = Client('client', api_id=api_id, api_hash=api_hash, phone_number=PHONE_NUMBER)
with app:
messages = app.get_chat_history(chat_id=CHANNEL_ID, limit=15)
for message in reversed(list(messages)):
print('Text:', message.text or message.caption)
print('Views:', message.views)
print('Date:', message.date)
Если я не подпишусь на канал и не выполню этот код, возникнет ошибка:
pyrogram.errors.exceptions.not_acceptable_406.ChannelPrivate: Telegram says: [406 CHANNEL_PRIVATE] (caused by "messages.GetHistory") Pyrogram 2.2.4 thinks: You haven't joined this channel/supergroup.
Если я использую BOT_TOKEN для авторизации, будет ошибка:
pyrogram.errors.exceptions.bad_request_400.BotMethodInvalid: Telegram says: [400 BOT_METHOD_INVALID] (caused by "messages.GetHistory") Pyrogram 2.2.4 thinks: The method can't be used by bots
Подробнее здесь: https://stackoverflow.com/questions/793 ... he-channel
Как пользоваться пирограммой без подписки на канал? ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Telegram-бот Python с пирограммой перестал получать сообщения с некоторых каналов
Anonymous » » в форуме Python - 0 Ответы
- 10 Просмотры
-
Последнее сообщение Anonymous
-