Написать Telegram клиент — легко

bdanilov, 6 апреля 2020 – 12:41Один из самых популярных мессенджеров в России можно использовать с помощью бесплатных сторонних клиентов, лучшие из которых попали в эту подборку</td></table>

От многих других мессенджеров Telegram отличается не только своей защищённостью, но и платформой, которая открыта для сторонних разработчиков. Это даёт возможность использовать неофициальные приложения для работы со своими диалогами и звонками. От базового клиента альтернативные отличаются интересными дополнительными возможностями, которые могут облегчить процесс общения. Некоторые из них можно гибко настроить под себя по интерфейсу, в другие встроен настоящий диспетчер загрузок для быстрого обмена большими файлами, а в третьих есть даже полноценный диспетчер файлов.

ЛучшийTelegram-каналпро технологии(возможно)

В эту подборку попали пять отличных альтернативных клиентов для Telegram, которые разнообразят работу с сервисом. Один из них даже стал официальным заменителем для базовой программы из-за того, что поразил создателей мессенджера. Все их можно установить абсолютно бесплатно.

Telegram X 0.22.8.1361

Telegram X — именно этот клиент считается официальной альтернативой для стандартного Telegram. В конце сентября данное приложение как раз хорошо обновилось, получив поддержку анимированных стикеров и других актуальных возможностей мессенджера, сохранив при этом уникальные фишки.

Одним из самых интересных моментов Telegram X можно по праву считать гибкую кастомизацию внешнего вида приложения, для настройки которого в соответствующем разделе предусмотрено целых два объёмных меню: «Темы и чаты» и «Интерфейс». Первое, например, даёт возможность выбрать внешний вид эмодзи, которые используются во время переписки. Если стандартный вариант Google не нравится, получится переключиться на скин Apple, JoyPixels, Twitter, Samsung, Microsoft или Blob — альтернативный набор от Google. Здесь же нашлось место для наглядной регулировки размера текста и обоев для подложки.

Тем оформления интерфейса на выбор также хватает. Можно определить любой из цветовых акцентов на свой вкус: синий или красный, оранжевый или зелёный, розовый или голубой, ночной синий или ночной чёрный. Получится также автоматически переключаться между тёмной и светлой темой и не только.

В приложении есть выбор браузера, который будет вместе с ним использоваться, дополнительная вибрация во время входящих сообщений, определение действий по свайпам, изменение параметров форматирования текста и многое другое. Почти всё здесь сделано, чтобы улучшить стандартные функции Telegram.

TurboTel 6.2.3

TurboTel — многофункциональный альтернативный клиент для Telegram, который предназначен для самых активных пользователей мессенджера. Если вы часто используете группы, ботов и другие активности кроме личных и рабочих чатов, это приложение создано именно для вас.

Главная фишка программы — наглядное разделение диалогов в мессенджере по типам. В верхней части её интерфейса нашлось место для соответствующих переключателей, максимальное число которых помещается на экране одновременно. Отсюда можно выбрать отображение только роботов, показ каналов, обычных и супергрупп, контактов, избранных переписок и только тех, в которых есть непрочитанные сообщения. Подобное разделение многие очень сильно ждали от официального клиента, и разработчики как раз не так давно добавили его туда.

Из числа дополнительных возможностей программы нужно также отметить продвинутую поисковую систему, которая использует для этого разные параметры, менеджер загрузок для обмена файлами, приглашение друзей, а также гибкие настройки отображения интерфейса приложения. А еще у нее очень много вспомогательных возможностей, которые находятся в отдельном меню.

Vidogram 2.1.0

Vidogram — ещё один любопытный неофициальный клиент для Telegram, который умеет разделять многочисленные диалоги в мессенджере по конкретным направлениям: звонки, боты, групповые чаты, контакты, любимые и все подряд. Тем не менее, интересен он не только этим.

Главная фишка приложения — лента, которая собирает сообщения из всех пабликов в ваших подписках. Она превращает Telegram в подобие Twitter или «ВКонтакте» — делает из мессенджера достаточно удобный инструмент для быстрого получения новостей, мемчиков и другой «важной» развлекательной информации. Общий список сообщений в данном случае можно упорядочить по хронологии — от старых к новым или от новых к старым. С этим клиентом у вас также появится возможность выбрать конкретные каналы, которые нужно или не нужно включать в общую ленту — по умолчанию они сваливаются сюда все скопом.

Приложение поддерживает анонимный режим, в котором ваша активность в мессенджере будет скрыта. Нашлось в нём и место для отдельного меню с веб-играми, которыми можно занять своё время, если совсем нечего делать. Считайте, что это мессенджер для тех, у кого действительно нет важных дел.

Отдельного внимания также заслуживает возможность совершать видеовызовы, которая не реализована в оригинальном клиенте, и работает она очень неплохо. Тем не менее, разговаривать по видеосвязи выйдет только с другими пользователями Vidogram.

Plus Messenger 7.3.1.0

Plus Messenger — ещё один популярный альтернативный клиент для Telegram, который активно развивается. Он поддерживает разделение диалогов мессенджера по конкретным категориям: личные чаты, группы, супегруппы, каналы, боты и избранные. Его можно гибко настроить на свой вкус.

Это замена для того же TurboTel с более дружелюбным интерфейсом, приятным разделением настроек на стандартные и дополнительные, а также удобной компоновкой функций по отдельным меню. Конечно же, основные фишки приложения сосредоточены в специальном вспомогательном меню «Настройки Plus». С помощью него получится очень гибко подстроить внешний вид приложения под себя, изменить параметры вкладок для разделения диалогов с каналами и ботами, преобразовать панель со смайликами и активировать прокрутку строки заголовка. Более того, приложение дает возможность до неузнаваемости изменить боковое меню, а также активировать уникальные уведомления, которые будут появляться, когда собеседник появился онлайн или начал печатать сообщение.

BGram 7.3.1

Очередной альтернативный клиент для Telegram с целым набором дополнительных возможностей на все случаи жизни. Для них у него даже отдельный раздел выделен — «Настройки BGram». Он разделен на четыре меню: «Общее», «Вид», «Чат» и «Инфо».

С помощью первого можно активировать режим скрытого чтения, который скрывает тот факт, что вы уже успели прочитать сообщение — данный статус указывается только тогда, когда уже отправляете ответ. Данное приложение также поможет скрывать онлайн-статус и действия, которые вы производите в диалоге в данный момент. Данное приложение даст возможность отсортировать список контактов вручную, а также отредактировать комплект шрифтов, которые они использует.

С помощью второго меню отдельного раздела настроек получится гибко изменить интерфейс приложения под себя. К примеру, здесь можно включить или выключить разделение чатов по категориям. В третьем меню дополнительных настроек располагается внушительный набор параметров, связанных с экраном чата. С помощью него получится настроить даже степень сжатия снимков во время обычной отправки. Наконец, через последнее меню отдельного раздела настроек получится следить за прогрессом разработки программы.

Подводя итоги

Telegram X — официальный альтернативный клиент для мессенджера, который делает ставку на настройку интерфейса приложения. TurboTel — один из самых многофункциональных вариантов для продвинутых пользователей. Vidogram на их фоне выделяется общей лентой для новостей, Plus Messenger простым и дружелюбным интерфейсом, а BGram обилием возможностей для настройки.

Telegram-каналсоздателяТрешбоксапро технологииПоследнее изменение: 25 апреля 2020 – 23:11

Скачать Telegram для компьютера и получить простой в установке мессенджер можно с официального сайта, нажав на кнопку вверху страницы. В отличие от Viber или WhatsApp Телеграм для ПК работает даже без номера телефона и уже не требует русификатора. Здесь вы найдёте все версии программы для Windows, Mac OS и Linux на русском языке.

Удобная компьютерная версия Telegram имеет широкий спектр возможностей и простую установку.

telegram-final.png

Оценка пользователей
Обновление: 28 января 2021 года
Источник ссылки: www.telegram.org
Битность: 32, 64 bit
Совместимость: Windows, mac OS, iOS, Linux, Android, WP
Язык: русский, английский
Стоимость: бесплатно
Версия: 2.5.9
Загрузить дистрибутив для Windows
Сохранить .dmg файл для mac OS
Google Play Android OS
App Store iPhone, iPad
Конкуренты: WhatsApp, Viber, Skype

Скриншоты мессенджера

Неофициальные клиенты

1. Plus Messenger

  • Платформы: Android.

Главное достоинство этой программы — многочисленные настройки оформления. Вы можете менять вид всего интерфейса сразу или отдельных его элементов. Кроме того, Plus Messenger разделяет общий список чатов на отдельные категории: каналы, люди, групповые чаты, боты и так далее. Можно мгновенно переключаться между этими категориями на горизонтальной панели вкладок.

Plus Messenger Разработчик: rafalense Цена: Бесплатно

2. Vidogram

  • Платформы: Android.

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

Vidogram Разработчик: Vidogram Messenger Цена: Бесплатно

3. Unigram

  • Платформы: Windows.

Это приложение значится в списке неофициальных клиентов на сайте Telegram. Такой чести удостоены немногие программы. Unigram выделяется глубокой интеграций с Windows 10. К примеру, программа поддерживает Microsoft Continuum (работа на смартфоне с Windows, подключённом к монитору вместо ПК), системные настройки оформления, проверку правописания и не только.

Unigram – Telegram for Windows 10 Разработчик: Fela Ameghino Цена: Бесплатно

4. iGram

  • Платформы: Windows.

Это Windows-приложение улучшает Telegram таким же образом, как большинство мобильных клиентов. Во-первых, оно добавляет вкладки для разделения всех чатов на каналы, людей и прочие категории. Во-вторых, предлагает расширенные настройки оформления.

iGram Desktop Free Разработчик: Разработчик Цена: Бесплатно

Официальные клиенты

1. Telegram

  • Платформы: Android, iOS, веб, Windows, macOS, Linux.

Стандартный кроссплатформенный клиент Telegram. Эта версия считается основной. Именно с неё лучше начинать знакомство с мессенджером, если вы им никогда не пользовались. Она самая стабильная и одной из первых получает все официальные функции Telegram.

Telegram Разработчик: Telegram FZ-LLC Цена: Бесплатно

Telegram Разработчик: Telegram FZ-LLC Цена: Бесплатно

Все клиенты Telegram на официальном сайте →

2. Telegram X

  • Платформы: Android.

Это экспериментальная версия официального клиента, представленная только мобильными приложениями. Telegram X выполняет роль полигона, на котором команда разработчиков тестирует новые функции. Если хотите первыми получать новые возможности мессенджера, можете установить вместо стандартной версии Telegram X.

Telegram X Разработчик: Telegram LLC Цена: Бесплатно

Содержание стать

telegram-dlya-windows.jpg

Сейчас большинство продвинутых и обычных юзеров используют мессенджеры, чтобы общаться со своими друзьями, коллегами в индивидуальных чатах или беседах, а также просматривать содержимое разных каналов либо групп. Одним из самых популярных представителей подобного софта является Telegram для Windows, о котором и пойдет речь далее.

↓ Чтобы скачать Telegram выберите версию вашей Windows внизу статьи ↓

–>

Обратите внимание! Вышла новая версия Телеграм 2.5.1 для Windows

Скачать Telegram для Windows 8Скачать Telegram для Windows 10Скачать Telegram Portable для Windows

Возможности программы

Телеграмм изначально предназначался для простого обмена сообщениями между пользователями, однако со временем данное приложение переросло в полноценную социальную сеть, где можно найти огромное количество самого разнообразного контента, организовать поддержку ботов и общаться с другими пользователями при помощи трех разных функций.

Телеграмм для Windows используется крайне часто, поскольку именно с ПК проще всего вести свой канал или общаться с друзьями. Telegram для компьютера скачать бесплатно можно прямо с нашего сайта, перейдя к одному из следующих разделов статьи.

Поддерживается данный мессенджер и на мобильной операционной системе Android. Там реализованы все те же функции, которые есть и на компьютере, но с большей адаптивностью к смартфонам и планшетам. Вы можете крайне быстро и просто записывать аудио или видеосообщения, обмениваться файлами и все так же управлять каналами или просто просматривать их. Для скачивания мобильной версии для Android можно тоже воспользоваться ссылкой ниже.

Не обошлось и без поддержки iOS, ведь огромное количество пользователей сейчас приобретают планшеты или смартфоны от Apple. Распространяется Телеграмм официально через AppStore, а скачать эту версию можно по ссылке ниже.

Из общей информации можно понять, что рассматриваемый мессенджер выполняет функции обмена сообщениями между пользователями и пригодится при распространении различного рода контента. Еще он безопасен, ведь разработчики тщательно следят за конфиденциальностью пользователей, разрешают настроить прокси или создавать секретные чаты.

Дополнительная информация! Сейчас для России уже не действует блокировка Телеграмма. Жители нашей страны без проблем могут использовать официальные источники для загрузки последней рабочей версии этого приложения и использовать его без прокси.

Использование Телеграмма

Если с предназначением софта все понятно, самое время перейти к разбору инструкций по его использованию. Кажется, что нужно просто скачать Телеграмм на ПК или мобильное устройство и можно сразу начать обмен сообщениями, но стоит более детально разобраться во всей функциональности, что мы и предлагаем сделать далее.

Скачивание приложения

Скачать Telegram для Windows или мобильных операционных систем можно прямо с нашего сайта. Для этого опуститесь по вкладке браузера и найдите соответствующие кнопки, отвечающие за загрузку приложения. Нажмите по подходящей и завершите скачивание на свое устройство.

Установка Телеграмма

Установка программы после скачивания — крайне простой процесс, с которым должен справиться каждый пользователь. Если речь идет о мобильных операционных системах, здесь нужно дождаться загрузки с магазина приложений, а инсталляция будет запущена автоматически. Как только появится кнопка “Открыть”, нажмите по ней для запуска Телеграмма.

В случае с Windows алгоритм действий немного меняется, поскольку юзер получает исполняемый файл, с которым и нужно взаимодействовать в дальнейшем. От вас требуется запустить данный EXE-объект и выполнить такие действия:

  1. В приветственном окне сразу же переходите к следующему шагу.
  2. Выберите место на компьютере, куда хотите поместить файлы программы.
  3. Отметьте, нужно ли создавать папку в “Пуск”.
  4. То же самое сделайте и со значком на рабочем столе.
  5. Подтвердите инсталляцию и дожидайтесь окончания этого процесса, после чего смело запускайте Телеграмм.

Регистрация / Вход

Важно отметить именно первый запуск, поскольку во время этого происходит регистрация и авторизация в мессенджере. В качестве примера мы возьмем версию Telegram для Windows, а обладателям мобильных устройств нужно будет выполнить точно такие же действия.

  • При появлении главного окна выберите, продолжать использование софта на английском языке или переключиться на русский.
  • Нажмите по кнопке “Начать общение”, чтобы открыть форму авторизации.
  • Выберите страну, к которой привязан номер телефона, а затем введите его, чтобы создать новый профиль или войти в уже существующий.
  • На данный номер телефона будет отправлен код, который и нужно ввести для подтверждения авторизации.
  • Теперь мессенджер откроется в своем привычном виде, вы можете завершить процедуру регистрации и сразу же перейти к общению с другими пользователями.

Обратите внимание! В Telegram не используются пароли для входа, а авторизация на устройствах происходит при подтверждении через код, полученный в другом приложении, где выполнен вход, или по номеру телефона.

Добавление контактов / Начало общения

После успешной авторизации в программе самое время перейти к началу общения, что и является основной целью ее установки. Если вы еще не добавили контакты, стоит это сделать прямо сейчас. Есть вариант поиска через соответствующую строку, но это работает не всегда. Актуальный метод добавления заключается во вводе номера телефона цели, что происходит так:

  • В меню Телеграмма выберите пункт “Контакты”.
  • Вы сразу же можете ознакомиться со списком друзей, которые присутствуют в телефонной книге, чтобы добавить их. В противном случае нажмите по расположенной внизу кнопке “Добавить контакт”.
  • Введите его имя фамилию и номер телефона, на который зарегистрирован данный пользователь мессенджера.

После нажатия по “Добавить контакт” пользователь сразу же отобразится в списке чатов слева. Выберите его и начните общение, вводя текстовые сообщения, используя звонки или отправляя различные файлы.

Использование каналов

Только что мы разобрались с тем, как скачать Telegram и установить на компьютер этот мессенджер. Со входом и добавлением контактов тоже не должно возникнуть никаких проблем. Далее предлагаем остановиться на одной интересной функции — просмотре каналов. В них разные авторы публикуют информацию для других пользователей. Это может быть музыка, развлекательные картинки или научно-популярный контент. Ищите каналы через поиск внутри программы или на просторах интернета, вступайте в них и читайте новости, которые публикуются регулярно.

Во многих каналах есть отдельные беседы, где можно обсудить происходящее. Они реализованы в виде групповых чатов, но мало чем отличаются от индивидуальных. Присоединитесь к ним, чтобы начать общение.

Настройки

Последнее, о чем стоит поговорить, — настройки рассматриваемой программы. В специально отведенном меню есть множество самых разных пунктов, отвечающих за конфигурирование приложения. Начать можно с изменения масштаба и атрибутов внешнего вида, например, установив фон для сообщений. После этого перемещайтесь по другим меню, чтобы посмотреть, какие варианты настроек добавили разработчики. Там можно создать папку для хранения информации, позаботиться о конфиденциальности или вовсе удалить страницу.

Изменение данных профиля тоже происходит через специальный раздел в настройках. Пользователю разрешается сменить имя, никнейм и описание аккаунта.

Обратите внимание! Номер телефона, указанный при регистрации, тоже можно сменить, оформив переезд аккаунта. При этом сохранятся все контакты и другие данные профиля.

Преимущества Telegram

В завершение хотим рассказать об основных преимуществах рассматриваемой программы, чтобы перед тем, как скачать Telegram для Windows или мобильной ОС, у пользователя было понимание о том, какие особенности он получит.

  1. Бесплатное распространение. Телеграмм можно не только скачать бесплатно, но внутри отсутствует реклама и какой-либо платный контент.
  2. Защищенность. Все сообщения шифруются, а данные пользователей не разглашаются, поэтому вы можете быть уверены в полной безопасности при обмене сообщениями.
  3. Постоянное развитие. Павел Дуров со своей командой постоянно работает над данным мессенджером, развивая его, устраняя ошибки и добавляя различные функции.
  4. Простота использования. Новым пользователям не придется разбираться в необычном интерфейсе или осваивать управление, поскольку все реализовано интуитивно понятно.

Заключение

Теперь вы знакомы со всеми особенностями использования программы и знаете, как скачать и установить Telegram messenger для Windows, iOS и Android. Приведенные выше инструкции помогут освоиться в софте и начать нормальное взаимодействие. Таким образом, благодаря простоте использования и высокой скорости работы, Telegram для компьютера в сочетании с широкой функциональностью, а также рядом уникальных возможностей, Telegram является одним из лучших мессенджеров для Windows. Более того, он абсолютно бесплатный, что делает его идеальным вариантом для использования на ПК.

7405endgngr3x59c7slog56gha0.png

Начнем с того, что у Telegram действительно полностью открытый клиентскийкод. К сожалению, мы не видим комиты каждый день прямо на GitHub, но у нас есть код под открытой лицензией. Архитектура Telegram подразумевает, что и Bot и API имеет практически такие же методы — https://core.telegram.org/methods.

На самом деле, Telegram представляет не просто чат-мессенджер, а социальную платформу, доступ к которой открыт для разного рода приложений. Они могут предоставлять дополнительные фишки пользователям, взамен используя готовую сеть пользователей и сервера для доставки сообщений. Звучит настолько привлекательно, что нам захотелось попробовать написать своего “клиента” для Телеграм.

Суть приложения

В основном мы занимаемся картами и навигацией, поэтому мы сразу смотрели что-нибудь связанные с геолокацией. Мне очень понравилось, что в Telegram, раньше всех остальных приложений, появился удобный способ делится местоположением в реальном времени (https://telegram.org/blog/live-locations) и я достаточно часто этим пользуюсь: помочь сориентироваться другу, показать дорогу и самое главное ответить на главный вопрос “Когда ты будешь?”. В принципе, этого хватает большинству людей, но как всегда есть сценарии, когда простых возможностей не хватает. Например, это может быть группа более 10 человек, с разными устройствами (некоторые устройства возможно не являются телефонами) и разными людьми. Этим людям было бы удобно обмениваться сообщениями в группе, а также видеть перемещения друг друга на карте.

Во главу угла мы поставили задачу создать дополнительную ценность для Telegram, а не пытаться использовать его не по назначению. Мы не хотели, чтобы люди у которых нет специального клиента Телеграм, видели в чате месиво сообщений или что-то невразумительное. У людей с “улучшенным” клиентом, появляются же дополнительные возможности, например:

  1. Более тонкое управление временем при отправке локации в реальном времени в чат.
  2. Просмотр местоположения контактов на карте.
  3. Подключение к чату маячковых устройств, через внешний API (Bot).

Как мы это делали

К счастью, весь код, который мы пишем — Open-Source, поэтому я сразу могу дать ссылку на его реализацию — Реализация Bot и Реализация Telegram Client на Kotlin.

Bot — основы
   // Gradle implementation "org.telegram:telegrambots:3.6"    TelegramBotsApi telegramBotsApi = new TelegramBotsApi();    telegramBotsApi.registerBot(new TelegramLongPollingBot() {...});

Основная особенность передачи location, что его надо часто обновлять, и боту необходимо редактировать уже отправленные сообщения. Если бы не было такой возможности, то Bot бы просто заспамил чат и это, конечно, был бы Epic Fail. Слава богу, Telegram предоставляет права боту редактировать сообщения на протяжении 24 часов (минимум, возможно и дольше).

Передать сообщение можно многими способами. Есть тип Plain Text, Venue, Location, Game, Contact, Invoice и т.д. Казалось, что для нашей задачи отлично подходит Location, но вскрылась неприятная особенность. Location можно передать только с одного устройства для одного аккаунта или бота одновременно! Представьте у вас 2 телефона и с двух телефонов вы отправили свой Location в один чат. Так вот, на сервере случится ошибка и первый Location Sharing просто остановится. Казалось бы, это явно неральный случай, но представьте, у вас много китайских маячков, которые умеют отправлять Location по заданному URL, но они не умеют отправлять прямо в Telegram. Вы пишите Bot, который забирает с сервера и пушит в телеграм. Вот тут и вылазит, то что Bot не сможет отправить больше одного сообщения маячка с типом Location. Получается, это отлично подходит для единоразовой отправки, но не подходит для Live Location.

Решение простое — отправлять текстовые сообщения, а клиент будет парсить текст и показывать локации на карте. К сожалению в стандартном клиенте Telegram будут видны только текстовые сообщения, но там можно вставить ссылку, чтобы открыть карту.

Bot — Подводные камни

К сожалению, Bot пришлось переписывать аж 2.5 раза. Основная проблема — неправильный дизайн коммуникации.

  1. Почему-то вначале казалось хорошей идеей, если бот будет полноценным участником чата и отправлять сообщения. Но, это плохо и с точки зрения Privacy переписки и с точки зрения взаимодействия с ботом. Правильное решение, использовать Inline bots. Таким образом, гарантируется, что бот не видит ничего кроме своего Location и его можно использовать в любом чате. По-человечески говоря, некультурно тащить своего бота в какой-то общий чат, а нужно пообщаться с ботом один на один и настроить его, а дальше он сможет отправлять нужные сообщения в любой выбранный чат.
  2. В Telegram Message API есть исторически 2 типа взаимодействия: кнопки под текстом ( (inline buttons)[https://core.telegram.org/bots/2-0-intro#switch-to-inline-buttons] ) и ответы боту напрямую текстом. В общем, ответы с ботом безнадежно устарели. Кнопки немного сложнее с точки зрения реализации, но это полностью окупается удобством использования и именно их надо использовать для всего нетекстового ввода.
  3. В качестве примера бота можно посмотреть популярный @vote_bot или наш @osmand_bot.
Telegram Client

Найти примеры готовых telegram client, кроме основного, нам не удалось, но достаточно простая структура tdlib помогла нам создать базовый клиент буквально за пару дней.

Настройка Gradle:

task downloadTdLibzip {     doLast {         ant.get(src: 'https://core.telegram.org/tdlib/tdlib.zip', dest: 'tdlib.zip', skipexisting: 'true')         ant.unzip(src: 'tdlib.zip', dest: 'tdlib/')     } }  task copyNativeLibs(type: Copy) {     dependsOn downloadTdLibzip     from "tdlib/libtd/src/main/libs"     into "libs" }  task copyJavaSources(type: Copy) {     dependsOn downloadTdLibzip     from "tdlib/libtd/src/main/java/org/drinkless/td"     into "src/org/drinkless/td" } dependencies {     implementation fileTree(dir: 'libs', include: ['*.jar']) }

Практически все внутренности Телеграмма написаны на С++ и с точки зрения Android виден только класс API на 1.5 Мб прокси методов TdApi.java. Путем сопоставления документации ботов и названия методов, можно достаточно просто сориентироваться куда двигаться.

Инициализация клиента с global handler:

fun init(): Boolean {     return if (libraryLoaded) {         // create client         client = Client.create(UpdatesHandler(), null, null)         true     } else {         false     } }

Запрос фото пользователя:

private fun requestUserPhoto(user: TdApi.User) {     val remotePhoto = user.profilePhoto?.small?.remote     if (remotePhoto != null && remotePhoto.id.isNotEmpty()) {         downloadUserFilesMap[remotePhoto.id] = user         client!!.send(TdApi.GetRemoteFile(remotePhoto.id, null)) { obj ->             when (obj.constructor) {                 TdApi.Error.CONSTRUCTOR -> {                     val error = obj as TdApi.Error                     val code = error.code                     if (code != IGNORED_ERROR_CODE) {                         listener?.onTelegramError(code, error.message)                     }                 }                 TdApi.File.CONSTRUCTOR -> {                     val file = obj as TdApi.File                     client!!.send(TdApi.DownloadFile(file.id, 10), defaultHandler)                 }                 else -> listener?.onTelegramError(-1, "Receive wrong response from TDLib: $obj")             }         }     } }
Telegram Client — подводные камни
  1. Регистрация/Login и Logout. При регистрации необходимо учесть разные сценарии: когда код доступа присылается SMS или в другой телеграм клиент, двухфакторную авторизацию и т.п. Самая большая сложность — это тестирование. Любая авторизация более 3-х раз вела к блокировке аккаунта на 24 часа, поэтому тестировать Logout было особенно весело. Несмотря на то, что регистрация нужна всего лишь один раз, наверное это самая сложная часть интеграции.
  2. Определить как и в каком порядке вычитывать сообщения. Любой клиент имеет доступ ко всем сообщениям во всех чатах, но вычитывать их надо последовательно. В нашем случае 99% сообщений нужно отбрасывать. Сначала мы почему-то сделали чтение всех сообщений за последние 3 дня при логине, но в дальнейшем это только вызвало проблемы и при рестарте у нас пропадали сообщения. Поэтому сейчас мы читаем только новые сообщения, а для тех сообщений, что нам нужны сохраняем id во внутренней БД.

Что получилось

Наверное, зная все подводные камни можно было бы все сделать в разы быстрее, но получилось где-то 1-2 месяца на трех человек. Финальное приложение можно найти в Google Play.

gfo0zsgavbn09pkswyzurjoibik.png

Главный вопрос в этой истории, насколько правильно это взаимодействие с точки зрения Телеграма и понравятся ли пользователям такого рода интеграции. В любом случае, сама идея нишевая и отдельных клиентов она уже нашла.

Буду рад ответить на ваши вопросы.

Используемые источники:

  • https://trashbox.ru/link/top-telegram-apps-android
  • https://telegram-pc.ru/
  • telegram-apps/
  • https://telegram-rus.ru/skachat-telegram-dlia-windows
  • https://habr.com/ru/post/424245/

Оцените статью
Рейтинг автора
5
Материал подготовил
Илья Коршунов
Наш эксперт
Написано статей
134
Добавить комментарий