Как получать входящие SMS в Telegram
Задача знакомая: вы живёте в Telegram, а коды подтверждения и сообщения приходят по SMS на телефон, который вечно не под рукой. Хочется, чтобы входящие падали прямо в чат. Это делается, работает надёжно, но одна честная деталь в схеме есть, и мы её не прячем.
Почему Telegram не умеет сам
У Telegram нет доступа к вашим SMS. На iPhone читать сообщения сторонним приложениям запрещает Apple, на Android доступ есть, но 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 из российских сетей доступны нестабильно, и телефон, который шлёт туда сам, молчал бы половину времени. Поэтому телефон передаёт сообщение нашему серверу, а тот доставляет его боту. Текст сообщений мы не храним, полей для него в базе нет.
Что будет, если пересылка остановится?
Если телефон молчит дольше пятнадцати минут, вам придёт письмо. Это важнее, чем кажется: снаружи молчание пересыльщика выглядит ровно как «сообщений просто не было», и без алерта его замечают в момент, когда код из банка так и не пришёл.