Альтернативні клієнти та Telegram API

Месенджер Telegram лояльний до розробки альтернативних клієнтів користувача за умови, якщо клієнт:

  • використовує свій унікальний APP_ID
  • дотримується правил безпеки
  • не примушує користувачів до переваг
  • не порушує базові механіки месенджера («невидимки», «нечитайки»)
  • не виконує дій таємно від користувача
  • реалізує доступ до каналів (функціональність «спонсованих повідомлень»)
  • не видає себе за офіційний додаток
  • повідомляє користувача про спосіб монетизації, який є при цьому легальним

 

Штатна бібліотека TDLib

 //core.telegram.org/tdlib
TDLib (Telegram Database library) - это кроссплатформенный полнофункциональный клиент Telegram, разработанный в помощь сторонним разработчикам для создания собственных приложений для платформы Telegram.

TL-схема

TL (Type Language) - язык типов служит для описания используемой системы типов, конструкторов и существующих функций. Фактически используется формат описания комбинатора, представленный в Binary Data Serialization. Существует несколько схем: организация шифрования для MTProto, основное API, e2e-шифрование и секретные чаты.

Пример конструктора класса User:

  • user — человеко-читаемое имя конструктора
  • d23c81a3 — машинное представление конструктора. Считается как CRC32 от строки
  • id:int first_name:string last_name:string — имена аргументов и их типы
  • User — человеко-читаемое имя класса, которому принадлежит конструкторв

Получение API Id и API Hash

Для работы библиотеки необходимо получить id и hash, которые используются, как особая форма авторизации  клиента. Получение осуществляется на сайте https://my.telegram.org./auth

...

Джерела

Telegram API и библиотека TDLib для .NET платформ @habr.com (Jun 16, 2023)
«Клиентов нужно не искать, а создавать»: погружение в Telegram API через TDLib Firemoon@habr.com (Nov 2, 2023)

Leave a Reply