xtrime-ru / TelegramApiServer

Fast, simple, async php telegram api server: MadelineProto + Amp HTTP Server
https://tg.i-c-a.su
MIT License
576 stars 130 forks source link

Как получить посты из каналов? #126

Closed Arrivederchi closed 1 year ago

Arrivederchi commented 1 year ago

Хочу получить посты из открытых каналов. судя по документации телеги, надо сперва использовать метод contacts.resolveUsername, в ответе будет id канала и access_hash, затем передать эти параметры в метод channels.getMessages. Но уже на первом этапе проблемы, при использовании contacts.resolveUsername выдает ошибку USERNAME_NOT_OCCUPIED, что я делаю не так? Подскажите, пожалуйста.

Screenshot_5

xtrime-ru commented 1 year ago

MadelineProto автоматически все это делает, просто вызывайте getHistory.

Что касается ошибки, то именованные параметры часто надо передавать в массиве: https://docs.madelineproto.xyz/API_docs/methods/contacts.resolveUsername.html

?data[username]=user123

Arrivederchi commented 1 year ago

Спасибо, еще подскажите, пожалуйста, почему выдает ошибку This peer is not present in the internal peer database, Screenshot_16 Screenshot_17

xtrime-ru commented 1 year ago

Id неправильный. Для получения данных используй getInfo, id надо брать из ключа bot_api_id. В случае с твоим примером он будет -1001394050290

И getHistory и большинство остальных методов понимают разные форматы: https://docs.madelineproto.xyz/API_docs/types/InputPeer.html

Кликай на тип поля в документации madelineProto.

xtrime-ru commented 1 year ago

Такие вопросы лучше задавать в чате поддержки madelineProto

Arrivederchi commented 1 year ago

Спасибо