Пример кода для проверки, зарегистрирован ли номер телефона в Telegram?

Есть небольшая задачка - проверить, зарегистрирован ли номер телефона в Telegram. Писать собственную реализацию TL и MTProto нет времени, взял с гитхаба самую зрелую NodeJs библиотеку Telegram Client API.

При попытке подключения к API выдаёт ошибку: Client is not yet ready

Комментарий разработчика библиотеки на аналогичную проблему не очень информативен и применителен к моему случаю - человек который создавал issue не сделал код асинхронным. В моём же случае всё асинхронно, но тем не менее как надо не работает.

Уважаемые знатоки, помогите разобраться!

Issue на Github

Пример работающего кода на данной библиотеке


P.S. Есть предположение, что используемая мной библиотека telegram-link не предусматривает вызов метода auth.checkPhone без авторизации, хотя Telegram API позволяет это делать. Я в NodeJS не очень силён, поэтому разбираться в чужом коде сложно, нужна ваша помощь.
  • Вопрос задан
  • 3641 просмотр
Пригласить эксперта
Ответы на вопрос 1
Fragster
@Fragster
помогло? отметь решением!
Вот так у меня работает:
function checkPhone(phoneNumber) {
	return new Promise(function(resolve, reject) {
var client = telegramLink.createClient(app, datacenter, () => {
		client.createAuthKey((auth) => {
			client.auth.checkPhone(phoneNumber, (result) => {
				resolve(result);
		});
	});
	});}
				);
};

checkPhone(phone2).then(
				(result)=>{console.log('result', result);},
				(error)=>{console.log('error', error);}
				);

setTimeout(()=>{}, 20000);

без таймаута сразу завершается.

Ну а вообще - нужна помощь в реализации недостающего API, Существует полная реализация API телеграма на node.js?
Ответ написан
Ваш ответ на вопрос

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

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