Задать вопрос
AlexanderTsymbal
@AlexanderTsymbal
tsymbal.su

Как правильно отправлять запросы к Telegram API (не Bot API)?

Добрый день.
Пытаюсь на PHP с помощью cURL отправлять запросы к Telegram API. Важно, не Bot API, а https://core.telegram.org/api#telegram-api, в котором авторизуемся пользователем.

Знаю, что есть готовые библиотеки вроде MadelineProto, но она в последнее время плохо обновляется и очень громоздкая. Хочется написать что-то простенькое своё. Мне нужно всего пару методов для прикладных нужд.

У меня есть настроенная app, получил api_id, api_hash и всё остальное.
623cb89c6297d300207161.jpeg

Я начинаю с базового метода auth.sendCode следующим образом:
В качестве адреса запроса использую полученный IP сервера (и тестовый пробовал и боевой), и после слеша имя метода. Ну как-то мне кажется это максимально логичным способом. Наверное, тут я и не прав.
$ch = curl_init('https://149.154.XXX.XXX/auth.sendCode');
curl_setopt_array($ch, array(
	CURLOPT_POST => 1,
	CURLOPT_POSTFIELDS => array(
		'phone_number' => "+7960XXXXXXX",
		'api_id' => XXXXXX,
		'api_hash' => 'XXXXXXXXXXXXXXXXXXXXXXXXXX'
	),
	CURLOPT_RETURNTRANSFER => 1,
	CURLOPT_VERBOSE => true
));
$chresult = curl_exec($ch);
$chinfo = curl_getinfo($ch);
curl_close($ch);


В итоге мне эта конструкция ничего не возвращает. Даже код ответа 0.

Наверняка, как-то там всё сложнее немного.
Возможно, кто-то сталкивался с подобным, может быть есть опыт?

Буду благодарен за ответ.
  • Вопрос задан
  • 381 просмотр
Подписаться 1 Сложный Комментировать
Решения вопроса 1
shurshur
@shurshur
Сисадмин, просто сисадмин...
Там не просто http-протокол, поэтому легко это повторить нельзя. Если интересно именно php, то советуют библиотеку https://github.com/danog/MadelineProto

Для python - библиотека telethon или, как вариант, pyrogram. Для js - mtproto-core. Большинство ботописателей используют python и telethon.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
AlexanderTsymbal
@AlexanderTsymbal Автор вопроса
tsymbal.su
Нагуглил здесь:
https://stackoverflow.com/a/49581502/6705359 .
Если коротко, то нужно использовать TDLib.
Может быть, кто-то подскажет более конкретно?
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы