Как получить сущность канала с помощью API ботов телемарафона?

#python #telethon

Вопрос:

Я не могу получить каталоги с помощью бота Телемарафона, так как этот метод доступен только для клиента. Поэтому, когда я пытаюсь получить доступ к сущности с ее идентификатором, я получаю сообщение об ошибке. Как мне получить доступ к сущности(каналу), если я не могу проанализировать все каналы и не могу получить к ним доступ по идентификатору? Я хотел бы анализировать сообщения из частной группы и использовать для этого Telegram-бота.

Комментарии:

1. было бы полезно, если бы вы рассказали нам, в чем заключается ошибка

2. Привет @painor! Спасибо вам за ваш ответ. Ошибка заключается в следующем: telethon.errors.rpcerrorlist.PeerIdInvalidError: An invalid Peer was used. Make sure to pass the right peer type (caused by ForwardMessagesRequest) это происходит потому, что Телемарафон не знает, к какому каналу относится этот идентификатор. Согласно документам, мне нужно сначала перечислить все диалоговые окна, а затем получить сущность по идентификатору. Пожалуйста, проверьте эту ссылку по ссылке .

Ответ №1:

Добавления бота на канал во время его работы должно быть достаточно, чтобы бот получил свой хэш доступа. В качестве альтернативы, отправка сообщения туда, пока бот находится внутри, также должна работать. Этот хэш будет сохранен в .session файле. Независимо от того, используете ли вы «помеченный» идентификатор (для каналов, префикс -100 к реальному идентификатору или используете types.PeerChannel(real id) ), Телемарафон будет знать, что вы имеете в виду канал, что может помочь заставить его работать.

Комментарии:

1. Привет @Lonami! Спасибо вам за ваш ответ! Может ли бот отказаться от других каналов, кроме того, к которому он подключен? Я разрабатываю для себя бота, который анализирует сообщения с нескольких каналов, фильтрует их и отправляет мне.

2. О, кажется, я понял. Бот не является участником этих каналов и поэтому не может удалять сообщения.