#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. О, кажется, я понял. Бот не является участником этих каналов и поэтому не может удалять сообщения.