На каком языке программирования написан telegram
Бота можно написать на чем угодно PHP, Python, Node is, Go.
На чем написан Телеграм клиент?
Практически все внутренности Телеграмма написаны на С++ и с точки зрения Android виден только класс API на 1.5 Мб прокси методов TdApi. java. Путем сопоставления документации ботов и названия методов, можно достаточно просто сориентироваться куда двигаться.
Кто хозяин телеграмм?
Па́вел Вале́рьевич Ду́ров (род. 10 октября 1984, Ленинград) — российский предприниматель, программист, долларовый миллиардер, один из создателей социальной сети «ВКонтакте» и одноимённой компании, кроссплатформенного мессенджера Telegram и других проектов. Бывший генеральный директор «ВКонтакте» (2006—2014).
На каком языке написан Тик Ток?
Язык программирования Python: преимущества, недостатки и область применения
На каком языке написан vkontakte?
Да, Вконтакте изначально писался на PHP. Затем наступил момент, когда производительности языка стало не хватать (я говорил об «узких» местах выше) и специалисты Вконтакта создали свою собственную версию PHP.
На чем можно написать Телеграм бота?
- Открываете чат с @BotFather.
- Вводите или выбираете из списка команду /newbot.
- Отправляете желаемое название для бота.
- Пишете юзернейм бота, по которому его будут находить через поиск. .
- По желанию можно сразу настроить полное или краткое описание, список команд и аватарку.
На каком языке пишутся боты для игр?
Какие есть боты в телеграмме?
- MetricsBot. Собирает статистику из Google Analytics и выгружает в Telegram-канал. .
- UTM Generator. Бот-маркировщик. .
- Text4instabot. Бот-верстальщик. .
- TranslateBot. Бот-переводчик. .
- OrfoBot. Сергей Ожегов и Максим Ильяхов у тебя в Telegram. .
- StrikethroughBot. .
- Markdownrobot. .
- InstaBot.
На каком языке написан Телеграм для андроид?
По словам Дурова, код обычного приложения Telegram написан на языке Objective-C.
Как сделать свой Телеграм клиент?
- Зарегистрироваться в Telegram, используя любой клиент.
- Перейти по ссылке 'API development tools' и заполнить форму.
- Будут получены адреса и параметры api_id и api_hash, необходимые для авторизации пользователя.
- На данный момент к любому номеру может быть привязан только один api_id.
Как обойти блокировку канала telegram на андроид для каналов 18?
- Откройте Telegram/Telegram X;
- Перейдите в раздел "Настройки" —> "Данные и диск" —> "Настройка прокси";
- Активируйте переключатель "Использовать настройки прокси";
- Дальше надо выбрать прокси-сервер, который необходимо внести в появившееся поле.
Как устроен telegram?
Как убрать ограничение в телеграмме?
Перейти в раздел «Настройки» (Settings). Пролистать вниз (веб-версия) или пройти в раздел «Конфиденциальность» (нативные приложения) и активировать функцию «Выключить ограничения» (Show Sensitive Content).
Мессенджер Телеграм отличается высокой степенью защиты персональных сведений. Чтобы надежно обезопасить соблюдение личной тайны, разработчики применили систему шифрования собственного изобретения. Такая технология получила высокую оценку в кругах профессиональных программистов.
Программные средства, используемые для обеспечения функционирования Телеграм, обсуждаются далеко не так широко, хотя заслуживают подробного освещения. В данном материале пойдет речь о специфике и преимуществах языка, на котором написаны программы сервиса.
Технические характеристики Телеграм
По мнению создателя Телеграм Павла Дурова, мастерство программиста напрямую связано с возможностью сочетать в своей работе разнообразные программные средства для достижения поставленной цели.
Такая идея нашла материальное воплощение при создании Telegram. Профессиональный взгляд на приложение позволяет увидеть, что разработчики уделили основное внимание программному коду, а не внешнему оформлению сервиса.
Программные средства
Официальным языком Телеграм признан С++. Такой выбор логичен в силу совместимости этого языка с языком «Си», на котором создаются приложения для смартфонов на платформах Андроид и iOS. Некоторые эксперты программирования выдвигают гипотезы, что для написания мессенджера был создан особый программный проект, включающий смесь из С++, Java и структурных блоков Java. По-видимому, подобная информация рассматривается разработчиками как конфиденциальная, поэтому такие предположения не получают комментариев от команды Телеграм.
Базовая версия Telegram, созданная на С++, не переписывалась с 2013 года. Каждая новая версия дополняет и совершенствует предыдущую, не меняя основного каркаса. Целиком код переделывался однажды – при написании веб-клиента Телеграм Х. Тогда авторами был использован язык SWIFT.
Интерфейс
Телеграм отличается утилитарным и функциональным интерфейсом. На главную страницу выведены последние беседы с абонентами из списка контактов, публикации из каналов, информация от роботов-помощников.
Меню настроек находится в левой части экрана. Перейдя к редактированию параметров, пользователь может настроить работу сервиса в соответствии с собственными пожеланиями, включая визуальное оформление, активацию оповещений, язык интерфейса и другие важные моменты.
Компьютерный вариант Telegram имеет несколько отличающийся внешний вид: с левой стороны расположен список активных собеседников. Для удобства использования смайликов соответствующее меню легко перемещается направо.
Шифрование
При пересылке месседжей применятся протокол MTProto, при аутентификации – криптосистема RSA2048 и протокол Диффи-Хеллмана (2048). Секретность при обмене данными между двумя абонентами сервиса обеспечивается посредством использования симметричного рандомно создаваемого ключа, известного только серверу и адресату.
Ключ навечно удаляется из всех материальных источников по истечении десяти минут после доставки месседжа. Модернизированный протокол MTProto2.0 предполагает использование для шифрования алгоритма SHA 256.
Исходный код Telegram
Разработчики Телеграм предоставляют свободный доступ к исходному коду, который может быть использован для создания других программ на той же платформе. Логотип и название мессенджера владельцы закрепили за собой. Код, используемый для серверной части, по-прежнему держится в секрете.
Назначение
Владельцы приложения предполагают, что свободное использование программистами исходного кода будет способствовать популяризации и дальнейшему совершенствованию сервиса Телеграм. Авторы, желающие добровольно поучаствовать в разработке программных продуктов на платформе Telegram, могут использовать варианты с поддержкой различных языков программирования. При этом обмен данными и процессы зашифровки будут работать по стандартному алгоритму, принятому для мессенджера.
Братья Дуровы считают, что реализация такого подхода будет способствовать развитию свободы слова и обмена информацией, а также стимулирует разработку высокотехнологичных продуктов в сфере интернет-общения.
Как воспользоваться кодом
Команда Telegram разместила ссылки на исходный код мессенджера для любых платформ на официальном сайте. Там же можно найти подробную инструкцию и документацию для разработчиков.
Попытки найти код для последней версии обречены на неудачу, поскольку авторы открывают доступ только к устаревшим вариантам клиента.
Чтобы воспользоваться кодом, необходимы навыки профессионального программиста. Перечень используемых средств программирования достаточно широк.
Версии Телеграм
Официальные варианты мессенджера для различных платформ, следующие:
- Мобильная версия для устройств на:
- Android;
- iOS;
- Windows Phone.
- Windows;
- Linux;
- Mac OS.
Официальная альтернатива стандартному варианту мессенджера – TelegramX. В сети много ресурсов, предоставляющих аналогичные услуги: Плюс мессенджер, Vidogram, TechGram, Мобограм и другие. Такие сервисы полезны, если Телеграмм блокирует аккаунт. Альтернативные мессенджеры стремятся привлечь пользователей оригинальным дизайнерским решением или дополнительными опциями.
В итоге
При создании приложения Телеграм использовалось сочетание продвинутых программных средств и передовых методов шифрования данных. Авторы открыли свободный доступ к результатам разработок для всех людей, желающих поработать в области информационных технологий.
Вам также может понравиться
Как настроить тему в Telegram
Фото в мессенджере Телеграмм.
Аналитика в Telegram.
Как удалить свой аккаунт в Телеграмме?
Использование Телеграмма и основные рекомендации.
Телеграм является одним из самых популярных и удобных мессенджеров. Разработчики постоянно совершенствуют его и добавляют новые удобные функции. Однако совсем недавно был выпущен другой мессенджер, который функционирует вместе с Телеграм и обладает дополнительными полезными функциями. Называется он Телеграм Х и находится в свободном доступе. Рассмотрим, какой мессенджер лучше выбрать, их преимущества и недостатки.
Сравнение Телеграм и Телеграм Х
С одной стороны, эти два приложения очень похожи. У них почти одинаковый функционал, процесс установки и дизайн. Но при детальном сравнении можно найти очень много ярких отличий. Начнем с того, что Телеграм Х занимает намного больше памяти, чем обыкновенный мессенджер. Рассмотрим остальные отличия и выделим основные критерии для сравнения.
Язык программирования
Обратите внимание! Чем больше каналов, тем медленнее работает приложение. Выходите из тех групп, в которых вы уже не собираетесь состоять, чтобы не копить информацию и облегчить мессенджер.
В обычном же приложении Телеграм при создании использовался язык С++. Он универсальный для всех приложений, которые выходят на базе операционных систем Android и iOS. Из-за этого при открытии мессенджер может немного подвисать и не всегда воспроизводить анимацию. Этот код никогда не переписывается кардинально, а лишь дорабатывается разработчиками. Совершенно новый код создается только для схожих программ, в том числе и для Телеграм Х.
Потребление энергии
Телеграм Х потребляет очень мало энергии, потому что сам по себе намного легче, чем обычная версия. Работая в фоновом режиме, приложение тратит незначительно количество заряда, если вы сидите в приложении, и совсем незначительные единицы, если оно не активно. В этом огромное преимущество у аналога перед оригиналом, ведь обычный Телеграм может посадить батарею телефона всего за четыре часа. Поэтому здесь в приоритете разработка Телеграм Х.
Обратите внимание! Чтобы приложения потребляли меньше энергии, отключите все уведомления, а также фоновый режим.
Дизайн
Также можно выбрать индивидуальный цвет на палитре, а затем мессенджер самостоятельно изменит цветовую гамму.
Обратите внимание! При включении ночной темы будет тратиться намного меньше энергии, а значит телефон не будет быстро садиться. Это связано с тем, что яркость экрана в таком режиме совершенно незначительная.
Обычная же версия Телеграм выглядит достаточно лаконично. Нет лишних символов и кнопок: удобная панель для переписки, а также боковое окошко с настройками. В настройках так же можно изменить тему, но нет такого огромного выбора среди представленных в Телеграм Х. Различие в дизайне проявляется только в том, что есть разная цветовая гамма в новой разработке. Поэтому в данной категории приложения практически равны.
Функционал
Функционал Телеграм Х несколько отличается от стандартного приложения. Но есть стандартные окна с настройками, их всего два: одно находится в левой скрытой панели, а другое в окошке «Настройки». В новой разработке в боковое окошко добавлена аватарка, но при этом убрано несколько быстрых настроек. Добавлено переключение темы с дневной на ночную. Также там теперь можно переключать «баблы».
Также существуют и другие важные отличия от стандартного приложения:
Таким образом, у Телеграм Х есть намного больше функций, чем у обычной версии. Однако некоторые возможности стали недоступными. Например, Телеграм Х не поддерживается на компьютере, а также не синхронизируется с другими устройствами. Звонки не защищены сквозным шифрованием и ссылки не могут открываться прямо в приложении. В этом проявляются существенные минусы аналога.
Каким Телеграм лучше пользоваться
Что лучше: Telegram или Telegram X? Этот вопрос возникает у многих пользователей привычной версии данного мессенджера. Когда аналог только появился на рынке, то к нему был привлечен большой интерес, все пользователи постепенно стали переходить на Телеграм Х, потому что в нем были функции, отсутствующие в обыкновенной версии.
Но со временем Телеграм доработал свою платформу и перенял некоторые фишки у нового аналога, а Телеграм Х кардинально не изменился. Поэтому, особой разницы между ними сейчас нет. Но несмотря на то, что Телеграм Х работает намного быстрее обычной версии, не стоит использовать его для очень важных личных переписок, поскольку сохранность данных не гарантируется. А Телеграм использует проверенную систему безопасности и специальный домен, который отвечает за строгую конфиденциальность.
Таким образом, лучше всего выбирать стандартную версию Телеграм. Она синхронизируется с другими устройствами, сохраняет безопасность данных и легко открывается в других приложениях. Телеграм Х обладает лишь улучшенными визуальными настройками, хорошей скоростью и более медленным расходом заряда. Но даже эти преимущества не могут стать главнее, чем безопасность личных переписок и звонков. Попробуйте две версии и определитесь для себя – что удобнее и функциональнее. Однако всегда отдавайте предпочтение оригинальным версиям мессенджеров!
История Telegram сопряжена с чередой скандалов на уровне правительств ведущих государств, обвинениями со стороны политиков разного калибра в адрес разработчиков мессенджера в пособничестве террористам, а также миллиардными инвестициями, ушедшими непонятно куда. Но это не помешало Павлу Дурову заполучить внушительные 500 млн пользователей сервиса. Рассказываем, как Telegram превратился в одно из самых важных приложений на устройствах людей по всему миру и какую цену за это пришлось заплатить его создателям.
Легенда гласит: своим появлением Telegram обязан пристальному интересу российских силовиков лично к Павлу Дурову. В 2011 году в России состоялись выборы в Госдуму. В то время главной русскоязычной соцсетью уже была «ВКонтакте». Оппозиционеры вели переговоры в том числе и там — по версии властей, заодно призывая пользователей соцсети к несанкционированным митингам.
От Дурова якобы требовали заблокировать определенные тематические группы, а он отказал. После этого Павел также проигнорировал повестку из прокуратуры, и через некоторые время в апартаменты предпринимателя захотел вломиться местный ОМОН вместе со следователем.
В конце концов конфликт между представителями госорганов и Дуровым в тот раз удалось замять. А идею создания приложения, переписки в котором останутся приватными, в долгий ящик не забросили.
Когда запустился мессенджер и кто его разрабатывал
Когда началась работа над Telegram и, что важнее, кем именно — споры об этом ведутся до сих пор. В целом Telegram и сегодня остается достаточно скрытной компанией, предпочитающей держать важную информацию при себе.
Официальная версия становления мессенджера от самого Дурова, ставшая известной благодаря «слитой» стенограмме его 16-часового допроса комиссией по ценным бумагам и биржам США в Дубае (ОАЭ), гласит: «Telegram создан группой инженеров и менеджеров, которые все еще работают в Telegram. Команда начала работать над проектом в начале 2012 года и публично запустила его в августе 2013-го». Об этом говорится и в разделе FAQ на сайте мессенджера.
В интервью GQ бывший директор особых направлений Telegram Антон Розенберг добавил несколько любопытных фактов (официально не подтвержденных). За несколько месяцев до начала активной разработки Telegram у Дурова случился разлад с двумя другими основателями «ВКонтакте». Они, по версии Розенберга, задумали продать свои акции, а Павлу это не понравилось — он даже удалил их страницы из соцсети. Таким образом, у Дурова осталось только 12% акций «ВКонтакте» — до контрольного пакета далековато.
А новый приватный мессенджер, разработанный по протоколу шифрования MTProto братом Павла Николаем, мог стать спасительной ниточкой, к которой другие официальные лица «ВКонтакте» имели бы лишь опосредованное отношение. Далее Розенберг подтверждает, что непосредственная разработка мессенджера стартовала в 2012 году, и добавляет: «Дуров велел разработчикам из „ВКонтакте“ сделать новый мессенджер быстрее и удобнее, чем WhatsApp». То есть он заявляет, что разработкой Telegram занимались именно люди из «ВКонтакте».
Отъезд из России и $400 млн от продажи «ВКонтакте»
В конце концов в 2014 году ситуация разрешилась почти полюбовно. Дуров ушел из «ВКонтакте», продав оставшуюся часть своей доли (предположительная сумма сделки составляет $400 млн), контроль над Telegram полностью перешел к Павлу и Николаю. Вскоре Павел покинул Россию и получил гражданства других стран — основной разработкой Telegram занимались уже вне России. Правда, костяк разработчиков — во всяком случае на первых этапах существования продукта — был из Санкт-Петербурга.
Точная причина отъезда Дурова не называется. Сам он заявлял о «несовместимости ведения интернет-бизнеса в России». Но некоторые связывают эмиграцию предпринимателя с интересом силовиков после того, как Павел в прямом смысле наехал на сотрудника ДПС на своем Mercedes в Санкт-Петербурге. Впрочем, и это дело закрыли, переквалифицировав в административное.
«WhatsApp — отстой», или мировая экспансия Telegram
Но грустить по родине у Дурова было особо некогда. Практически все время он вместе с братом и небольшой командой уделял развитию своего детища — Telegram. В 2013-м появился клиент мессенджера для платформы iOS, немного позже — для Android. К концу года Павел отчитался о первом миллионе пользователей.
Так выглядели одни из первых версий Telegram на Android и iOSДальше — больше. В 2014 году запустили спецверсию программы для планшетов, позже разработали систему с псевдонимами (которые с @ вначале), в 2015-м ввели стикеры. Важно, что все это работало кросс-платформенно. То есть, переходя с одного устройства на другое, пользователь не терял истории переписок (в отличие от конкурентов). В 2016-м, всего через два с половиной года после запуска, база активных пользователей Telegram насчитывала уже 100 млн человек — небывало быстрый рост.
Но так было не всегда. К моменту запуска в 2013—2014 годах основной конкурент Telegram — мессенджер WhatsApp — уже стал достаточно популярным. У Viber в активе были десятки миллионов пользователей. Впрочем, к WhatsApp у Дурова сразу же сложилось неприязненное отношение. Например, на конференции TechCrunch Disrupt в 2015 году предприниматель произнес ставшую знаменитой фразу «WhatsApp sucks» («WhatsApp — отстой»). В сети даже ходила такая картинка со сравнением возможностей мессенджеров:
При этом Дурову с командой было жизненно необходимо найти фишку для продвижения Telegram. И ее нашли — причем от первоначальной идеи, появившейся вскоре после приезда силовиков в апартаменты предпринимателя в 2011-м, она мало чем отличалась. Основой маркетинговой кампании Telegram решили сделать защищенность пользовательских данных.
Попытки блокировок Telegram «из соображений государственной безопасности»
Но с подобным подходом согласились правительства не всех государств. Например, в Иране мессенджер официально заблокирован по решению суда, притом что только в 2018 году им на территории страны пользовались как минимум 40 млн человек. Официальные власти Ирана объясняют блокировку «соображениями государственной безопасности и борьбы с терроризмом». Впрочем, назвать такую блокировку особо успешной получается с натяжкой: мессенджер как работал, так и продолжает работать — хоть и с ограничениями, которые местные пользователи успешно обходят.
Похожая история случилась и в России. Там в 2018 году мессенджер пытались заблокировать силами Роскомнадзора, когда Дуров отказался выдать ключи шифрования по запросу правительства после теракта в петербургском метрополитене. Позже Дуров заявил о невозможности исполнения так называемого «закона Яровой».
Правда, с блокировкой не задалось. Параллельно с ней Роскомнадзор «поломал» половину других интернет-ресурсов. Например, наблюдались сбои в работе системы регистрации билетов на авиарейсы, системы продажи электронных полисов, сайта МГУ и других университетов, научных архивов. И это не говоря про сервисы от Google, Yahoo, Twitter, Facebook, Sony и компаний поменьше. Сам же мессенджер продолжал работать: юзеры удачно обходили запреты десятками доступных способов.
Ситуация с мнимой блокировкой продолжалась несколько лет и иногда доходила до абсурда. Например, государственные службы и предприятия России продолжали активно создавать в Telegram официальные группы и каналы, а пресс-секретарь президента Владимира Путина Дмитрий Песков даже заявлял, что в Кремле также пользуются мессенджером. Официально блокировку Telegram в России сняли лишь в 2020 году по до сих пор непонятной причине. При этом Дуров продолжает утверждать, что за все время существования проекта властям он передал «ровно 0 КБ информации».
Финальной точкой стали претензии со стороны США, когда команда Telegram решила запустить блокчейн-платформу TON с криптовалютой Gram. По замыслу разработчиков, Gram должен был стать криптоаналогом Visa и Mastercard. Но в мае 2020 года команда Telegram выступила с заявлением о прекращении работы над проектом TON и криптовалютой Gram. В своем блоге Дуров обвинил в закрытии проекта американский суд, попутно предложив инвесторам два варианта возврата вложенных ими средств: 72% в 2020 году и 110% в 2021-м. Между тем денег на старт проекта к тому моменту собрали прилично — говорят о сумме в $1,7 млрд. Правда, какую часть инвесторы получили обратно, пока до конца не понятно.
Вместо резюме
Из уже упоминавшейся стенограммы допроса Дурова комиссией по ценным бумагам и биржам США стало известно: в основном составе Telegram работает совсем немного человек. По пояснениям Павла, в 2017 году в Telegram Group числилось от 25 до 30 человек, и «сейчас эти цифры не сильно изменились». Официально команда располагается в Дубае, хотя и привлекает «сотни независимых подрядчиков».
До 2020 года Telegram, если верить показаниям Дурова, финансировался исключительно из денег, полученных при продаже доли «ВКонтакте» — в год уходило порядка $13 млн. Но начиная с этого года компания решила выходить на самоокупаемость. В мессенджере планируют создать собственную рекламную платформу для каналов, «обеспечивающую пользователям комфорт и конфиденциальность», что позволит покрыть убытки и увеличить пользовательскую базу.
Впрочем, Telegram сегодня вряд ли можно назвать простым мессенджером: он предусматривает возможность вести аудио- и видеоконференции, записывать эти стримы, вести информационные каналы с практически неограниченным числом подписчиков (и комментариями к статьям). Все это дает общую оценку стоимости проекта в $30 млрд, а по самым оптимистичным прикидкам — до $124 млрд.
Telegram API vs Telegram Bot API
Рассказываю по порядку.
Телеграм использует собственный протокол шифрования MTProto. MTProto API (он же Telegram API) — это API, через который ваше приложение Телеграм связывается с сервером. Telegram API полностью открыт, так что любой разработчик может написать свой клиент мессенджера.
Для написания ботов был создан Telegram Bot API — надстройка над Telegram API. Перевод с официального сайта:
Почему-то мало кто знает о том, что Телеграм боты могут работать напрямую через Telegram API. Более того, таким образом можно даже обойти некоторые ограничения, которые даёт Bot API.
Вся информация ниже будет по умолчанию относиться и к Bot API, и к Telegram API. О различиях я буду упоминать. От некоторых ограничений Bot API можно избавиться с помощью локального сервера, об этом в конце статьи.
На чём пишут Телеграм-ботоы
Бот должен уметь отправлять запросы Телеграм-серверу и получать от него апдейты (updates, обновления).
Как получать апдейты в Bot API
Получать апдейты можно одним из двух способов:
Поллинг — просто регулярно отправлять запрос к серверу Телеграма для получения обновлений,
Вебхук — сделать так, чтобы Телеграм сам отправлял запросы по нужному URL.
Если вы попробуете загуглить, как написать Телеграм-бота на Python, вам предложат воспользоваться библиотеками python-telegram-bot и telebot. Но не стоит.
Ну, если вы только хотите познакомиться с разработкой ботов и написать своего hello-world-бота, то можете, конечно использовать и их. Но эти библиотеки могут далеко не всё. Среди разработчиков ботов лучшей библиотекой для ботов на Python считается aiogram. Она асинхронная, использует декораторы и содержит удобные инструменты для разработки. Ещё был хороший Rocketgram, но он давно не обновлялся.
Также ботов часто пишут на JavaScript, для этого обычно используется Telegraf. Библиотеки есть и для многих других языков, но используют их реже.
Пример кода бота
Если вы хотите получить какое-то представление о том, как вообще выглядит код бота, вот вам пример использования на aiogram с его странички на GitHub:
Этот бот будет отвечать на команды /start и и /restart.
Создание бота
Единственная информация о Телеграм-ботах, которой в интернете полным-полно: как создать бота. Это делается через специального бота BotFather. Когда вы создадите бота, BotFather даст вам его токен. Токен выглядит примерно так: 110201543:AAHdqTcvCH1vGWJxfSeofSAs0K5PALDsaw . Именно с помощью токена вы сможете управлять ботом.
Один пользователь может создать до 20 ботов.
В BotFather удобно управлять ботами своими командой /mybots .
Юзернеймы
При создании бота нужно выбрать юзернейм. После этого поменять его будет очень сложно.
Как поменять юзернейм бота
Если у вас есть бот, и вы хотите дать ему более короткий юзернейм (который может быть занят неработающим ботом), то вы, теоретически, можете это сделать через @BotSupport.
Для этого бот должен (внезапно) быть рабочим, а также поддерживать английский язык.
Принято использовать такой формат обращения в поддержку:
Если вы везунчик 9999 lvl — вам ответят.
Оформление бота
Открыв бота, пользователи могут увидеть его профиль.
Оформление бота настраивается в BotFather: меню /mybots → Edit Bot . Там можно изменить:
Информация (About) — это текст, который будет виден в профиле бота.
Аватарка. Аватарки ботов, в отличие от аватарок пользователей и чатов, не могут быть анимированными. Только картинки.
Команды — тут имеются ввиду подсказки команд в боте. Подробнее о командах ниже.
Inline Placeholder — об инлайн-режиме см. ниже.
Стандартный совет: Потратьте свое время и заполните описание и информацию бота, чтобы пользователям было понятнее и проще его использовать. Можете оставить там свои контакты. И поставьте аватарку, чтобы бота было проще отличать от других чатов в списке.
Запуск бота пользователем
В Телеграме можно делиться файлами до 2 ГБ, но в Bot API более жесткие лимиты: боты могут скачивать файлы до 20 МБ и отправлять файлы до 50 МБ.
Работа с файлами в Bot API
Если бот уже загрузил файл на сервер Телеграма, то он может использовать file_id, чтобы отправлять этот файл.
Загружать файл на сервер можно в том числе и по URL файла.
Куда может писать бот
Бот может писать в личку только тем пользователям, которые его запустили. Пользователь может заблокировать бота, и тогда бот снова не сможет ему писать.
Боты не могут писать другим ботам.
В группе боту можно дать права администратора, чтобы он мог выполнять действия админов.
В одной группе может быть до 20 ботов. В публичные группы (группы с юзернеймом) ботов могут добавлять только админы.
Как боты добавляют кнопки
Подробнее о кнопках тоже
Супергруппы
На самом деле многие группы в Телеграме являются супергруппами.
Почему так? Раньше было четкое разделение на группы и супергруппы. По задумке, супергруппы — это группы для сообществ. Супергруппы могут иметь больше участников, публичные ссылки и другие плюшки.
Со временем, видимо, решили, что это неудобная концепция. Теперь обычная группа становится супергруппой, когда у группы меняются какие-нибудь настройки (подробнее тут). Вот такой костыль.
В этой статье под группами я подразумеваю и супергруппы, и обычные группы.
id пользователей и чатов
У каждого пользователя, бота, группы, канала в Телеграме есть собственный id. Различать чаты в коде бота следует именно по id, потому что он никогда не меняется.
В токене бота первая часть — это его id. Например, токен 110201874:AAHdqTcvCH1vGWJxfSeofSAs0K5PALDsaw принадлежит боту с id 110201874 .
В Bot API перед id супергрупп и каналов пишется -100. Так, id 1356415630 превращается в -1001356415630 . Осторожно: вы не сможете сохранить это значение в 32-битный тип числа.
Команды — о них в следующем пункте.
Я включил Privacy mode, а он не работает
Нужно удалить бота из группы и добавить заново.
Это могло нарушить работу антиспам- и других ботов.
Сейчас баг уже исправлен.
Команды
Команды подсвечиваются как ссылки: нажатие отправляет команду в чат.
Разметка в Telegram API (Телеграм боты)
Способы выделения текста:
Жирный текст
Моноширинный текст ("в строке" и "блоком")
Кнопки
Инлайн-кнопки
URL button — кнопка с ссылкой.
Switch to inline button. Кнопка для переключения в инлайн-режим (об инлайн-режиме см. ниже). Кнопка может открывать инлайн в том же чате или открывать меню для выбора чата. Можно указать в кнопке запрос, который появится рядом с никнеймом бота при нажатии на кнопку.
Дополнительные виды кнопок
Login URL button — специальная кнопка для авторизации пользователей на сайте. Использовалась, например, в официальном боте @discussbot (до добавления нативных комментариев в Телеграм).
Клавиатурные кнопки
Есть другой тип кнопок: keyboard buttons. Они отображаются вместо клавиатуры как подсказки. При нажатии на такую кнопку пользователь просто отправит этот текст.
При этом в личных чатах с помощью кнопки можно:
Запросить номер телефона пользователя,
Запросить геолокацию пользователя,
Открыть у пользователя меню создания опроса.
По умолчанию, если показать кнопки в группе, они будут видны всем пользователям. Вместо этого можно отобразить кнопки одновременно для этих пользователей:
Ещё о кнопках
Показать клавиатурные кнопки,
Убрать все клавиатурные кнопки,
Таким образом, нельзя показать оба типа кнопок одновременно.
Взаимодействие с ботом
Ссылки на Телеграм боты.
Юзернеймы ботов работают так же, как и любые другие юзернеймы в Телеграме: бота @examplebot можно открыть по ссылке t.me/examplebot.
Также существует прямая ссылка: tg://resolve?domain=examplebot
Подробнее о ссылках tg://
Такие ссылки могут не только заменять ссылки t.me, но и задавать свои действия. Например, tg://settings открывает настройки.
Список известных таких ссылок есть канале @DeepLink.
Ссылка на добавление в группу
По ссылке t.me/examplebot?startgroup=true у пользователя откроется меню: выбор группы для добавления бота.
Прямая ссылка: tg://resolve?domain=examplebot&startgroup=true
Диплинки
По ссылке t.me/examplebot?start=<ваш текст> пользователь может запустить бота с каким-то стартовым параметром ( <ваш текст> ).
Как это выглядит:
При переходе по ссылке бот открывается как обычно.
Часто диплинки используются для реферальных программ (в качестве параметра можно передавать id пользователя, который поделился ссылкой). Есть и другие применения. Телеграм боты.
Прямая ссылка: tg://resolve?domain=examplebot&start=<ваш текст>
Инлайн-режим. Телеграм боты.
Инлайн-режим (inline mode) — это специальный режим работы бота, с помощью которого пользователь может использовать бота во всех чатах.
В группе можно запретить использовать инлайн всем или некоторым участникам. В официальных приложениях Телеграм это ограничение объединено с ограничением на отправку стикеров и GIF.
Результаты инлайн-режима
Результаты можно отображать двумя способами:
Сеткой. Удобно для выдачи картинок.
- Вертикальным списком. Удобно для выдачи текста.
Можно совмещать два типа, но корректно отображается это только на Telegram Desktop.
Приватность и геопозиция в инлайне
Inline feedback
Inline feedback — это апдейты о выбранных инлайн-результатах. Включаются через BotFather.
Создание наборов стикеров для телеграм ботов
Боты (и только боты!) могут создавать наборы стикеров. При этом каждый набор стикеров должен принадлежать какому-то пользователю. Посмотреть свои наборы стикеров пользователь может с помощью бота @Stickers.
Телеграм боты. Платежи
Телеграм предоставляет ботам возможность принимать платежи от пользователей. Это делается через провайдеров ЮMoney, Сбербанк, Stripe и ещё 7.
Эта возможность используются редко, потому что для использования провайдеров нужно юридическое лицо.
Платежи, к тому же, не работают на iOS из-за ограничений Apple.
HTML-игры в ботах
Telegram Login Widget
Вы можете добавить на свой сайт авторизацию через Телеграм. Процесс авторизации будет проходить так:
Пользователь должен будет ввести свой номер телефона.
Бот Telegram попросит подтвердить вход.
Telegram Login Widget не связан с Login URL button (см. раздел про кнопки выше), а является его альтернативой.
Разработка Телеграм ботов
Какие апдейты можно получать
Получение апдейтов: Bot API vs Telegram API
Если вы получили апдейт в Bot API, то второй раз вы его уже не получите.
В Telegram API это не так: пользователь может пользоваться мессенджером через несколько клиентов, каждый из которых должен получать апдейты.
Если запустить для одного бота несколько программ на Telegram API, то каждая из них будет получать все апдейты.
Ограничения Bot API не позволяют сделать то же самое.
Лимиты
Конечно, на запросы к серверу существуют лимиты. В Bots FAQ на сайте Telegram названы следующие:
Эти лимиты не строгие, а примерные. Лимиты могут быть увеличены для больших ботов через поддержку.
Другие известные ограничения в Telegram собраны на limits.tginfo.me — см. раздел про ботов.
Рассылка по пользователям
30 пользователям в секунду.
Смена владельца бота
Осенью 2020 года появилась возможность передавать ботов другому человеку. Это можно сделать в настройках бота в BotFather. Для этого на вашем аккаунте должна быть включена двухфакторная авторизация — не менее, чем за 7 дней до передачи. Передать бота можно только пользователю, который что-либо ему писал.
Локальный сервер Bot API
Также осенью 2020 года исходники Bot API выложили на GitHub. Теперь вы можете поднять собственный сервер Bot API. На GitHub перечислены следующие преимущества:
Скачивание файлов с сервера без ограничения (ограничение на отправку файлов пользователями в Телеграме — 2 ГБ),
Загрузка файлов на сервер до 2000 МБ,
Загрузка файлов на сервер с помощью локального пути и URI файла,
Использование любого локального IP-адреса для вебхука,
Использование любого порта для вебхука,
Возможность увеличить максимальное число соединений до 100000,
Получение локального пути файла вместо загрузки файла с сервера.
Юзерботы
В начале статьи я рассказывал о том, что такое Telegram API и Telegram Bot API.
Юзерботов следует использовать аккуратно: за большую подозрительную активность аккаунт могут ограничить или забанить.
Заключение. Телеграм боты
Я постарался собрать в одном месте и структурировать информацию о всех возможностях Телеграм-ботов. Большое спасибо vanutp, NToneE и Grinrill за помощь с фактами. Если мы что-то забыли — пишите, исправлю.
Я специально не разделял большую статью на несколько постов, чтобы можно было быстро найти нужную информацию. К тому же, в начале статьи есть её содержание. Так что можете сохранить её к себе и использовать как справочник 🙂
Вообще интерфейс бота (то есть интерфейс чата) имеет много ограничений. Но плохо ли это? Действительно удобнее использовать инструмент, когда это часть привычной среды. Я часто прямо в переписке нахожу нужную картинку или информацию с помощью инлайн-ботов. Как заядлый пользователь Телеграма, я люблю использовать ботов. И создаю ботов. И вы создавайте.
Читайте также: