@kr_ilya

Как работать с Telegram API?

Появилась необходимость работать с telegram api (не bot api).
На github нашел только одну более менее "живую" библиотеку для работы с tg api, добавил её в проект и понял что ничего не понимаю.

Мне нужно выполнить метод messages.getDialogs.
Я открыл список методов на официальном сайте telegram api и нашел нужный мне метод. На странице метода я не увидел ни примеров вызова метода, ни информацию о том, какой из аргументов нужно передавать обязательно, а какой можно опустить.

В недоумении я отправился кодить
Я авторизовался по гайду и попробовал выполнить запрос
api.call('messages.getDialogs', {
    limit: 20
}).then(result => {
  	console.log(result);
}).catch(err => {
  	console.log(err)
})


В ответе я получил
TypeError: Cannot read property '_' of undefined
    at TLSerializer.predicate (/root/alik/node_modules/@mtproto/core/src/tl/serializer/index.cjs:132:71)
    at /root/alik/node_modules/@mtproto/core/src/tl/serializer/index.cjs:81:12
    at Array.forEach (<anonymous>)
    at TLSerializer.method (/root/alik/node_modules/@mtproto/core/src/tl/serializer/index.cjs:68:23)
    at RPC.call (/root/alik/node_modules/@mtproto/core/src/rpc/index.cjs:588:29)
    at /root/alik/node_modules/@mtproto/core/src/rpc/index.cjs:388:12
    at Array.forEach (<anonymous>)
    at RPC.sendWaitMessages (/root/alik/node_modules/@mtproto/core/src/rpc/index.cjs:386:27)
    at RPC.handleTransportOpen (/root/alik/node_modules/@mtproto/core/src/rpc/index.cjs:96:12)


А, например, метод contacts.getBlocked выполняется корректно, тогда что не хватает messages.getDialogs?

Так вот, как правильно выполнять запросы к api? Есть ли понятная документация telegram api с примерами? Самое интересное, что по bot api информации куча, а по client api почти нет.
  • Вопрос задан
  • 335 просмотров
Пригласить эксперта
Ответы на вопрос 1
@Ruinevo
Frontend-developer, vue.js
Укажи вторым аргументом параметры, например:

const chats = await api.call('messages.getDialogs', { offset: 0, limit: 5, offset_peer: { _: 'inputPeerSelf' }  })
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы