Как получать входящие SMS в Telegram

Задача знакомая: вы живёте в Telegram, а коды подтверждения и сообщения приходят по SMS на телефон, который вечно не под рукой. Хочется, чтобы входящие падали прямо в чат. Это делается, работает надёжно, но одна честная деталь в схеме есть, и мы её не прячем.

Почему Telegram не умеет сам

У Telegram нет доступа к вашим SMS. На iPhone читать сообщения сторонним приложениям запрещает Apple, на Android доступ есть, но Telegram им не пользуется: он мессенджер, а не пересыльщик. Значит, нужен посредник: приложение на том телефоне, куда приходят SMS. Оно видит входящее и отправляет его в ваш чат.

Как это устроено у нас

Входящее SMS Телефон с SIM приложение читает Сервер текст не хранит Telegram чат с ботом
Путь сообщения: телефон, сервер, бот. Оригинал SMS остаётся в телефоне.

Честная деталь - сервер посередине. Хотелось бы, чтобы телефон писал боту напрямую, но серверы Telegram из российских сетей доступны нестабильно, и прямая отправка молчала бы половину времени. Поэтому телефон отдаёт сообщение нашему серверу, а тот доставляет его в чат. Текст сообщений мы не храним, полей для него в базе нет. Говорим «не храним», а не «сервер ничего не видит»: второе было бы неправдой, доставка без чтения невозможна.

Настройка

Пять минут по шагам. Ставите приложение textbee.online из RuStore на телефон с SIM, регистрируетесь, в личном кабинете включаете канал Telegram и привязываете чат с ботом. Всё, входящие начинают приходить в Telegram. Правила «если - то» позволяют пересылать не всё подряд, а, скажем, только сообщения от банка.

Переадресация бесплатна на всех тарифах, на бесплатном «Старте» один канал на выбор и пауза в 30 секунд между сообщениями: если входящие сыплются чаще, они встают в очередь и доходят следом, а не теряются.

Чем эта схема лучше костылей

Популярный самодельный вариант - связка из Tasker или MacroDroid с ботом Telegram. Она работает, пока вы помните, как её собирали. Обновилась прошивка, слетело разрешение, макрос молча остановился, и узнаёте вы об этом через неделю. Ровно поэтому у нас пересыльщик сам сообщает о своём молчании: тишина дольше пятнадцати минут, и вам уходит письмо. Для сообщений, среди которых коды из банка, это не бантик, а основа доверия к схеме.

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

SMS в Telegram за пять минут

Приложение из RuStore, чат с ботом, готово. Переадресация бесплатна на всех тарифах.

Попробовать бесплатно   Как устроена переадресация →

Частые вопросы

Можно ли получать SMS в Telegram без второго приложения?

Нет. Telegram не имеет доступа к SMS ни на Android, ни на iPhone, это ограничение платформ, а не мессенджера. Читать входящие может только приложение на телефоне, где стоит SIM, оно и отправляет их в Telegram.

Телефон обязан быть включён?

Да. SMS приходит на SIM, SIM стоит в телефоне, других вариантов увидеть сообщение не существует. Телефон может лежать дома в ящике, нужен только заряд и любой интернет. Если связь пропала, сообщения не теряются и уходят, когда она вернётся.

Почему доставка в Telegram идёт через ваш сервер?

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

Что будет, если пересылка остановится?

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