Как узнать в Телеграмме доставлено сообщение или нет

Содержание

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

msgs_ack#62d6b459 msg_ids:Vector long = MsgsAck;

Сервер обычно подтверждает получение сообщения от клиента (как правило — RPC-запроса) с помощью RPC-ответа. Если же ответа долго нет, сервер может сначала отправить подтверждение получения, а через какое-то время — сам RPC-ответ.

Клиент обычно подтверждает получение сообщения от сервера (обычно — RPC-ответа), добавляя подтверждение в следующий RPC-запрос, если он отправляется не слишком поздно (скажем, если он возникает в течение 60-120 секунд после получения сообщения от сервера). Однако если долго нет повода послать сообщения к серверу, или если неподтвержденных сообщений от сервера становится много (скажем, больше 16), то клиент отправляет подтверждение само по себе.

Уведомление проигнорированном ошибочном сообщении

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

bad_msg_notification#a7eff811 bad_msg_id:long bad_msg_seqno:int error_code:int = BadMsgNotification; bad_server_salt#edab447b bad_msg_id:long bad_msg_seqno:int error_code:int new_server_salt:long = BadMsgNotification;

Здесь error_code может принимать в том числе следующие значения:

  • 16 — слишком маленький msg_id (скорее всего, на клиенте неправильное время; имеет смысл синхронизировать его, использовав msg_id уведомления, и перепослать исходное сообщение с «правильным» msg_id, либо обернуть его в контейнер с новым msg_id, если исходное сообщение слишком долго ждало отправки на клиенте)
  • 17 — слишком большой msg_id (аналогично предыдущему случаю: надо синхронизировать время на клиенте и перепослать сообщение с правильным msg_id )
  • 18 — неправильные младшие два бита msg_id (сервер ожидает, что msg_id клиентских сообщений делится на 4)
  • 19 — msg_id контейнера совпал с msg_id ранее полученного сообщения (такого никогда не должно быть)
  • 20 — сообщение слишком старое, и невозможно проверить, получал ли сервер сообщение с таким msg_id или нет
  • 32 — слишком маленький msg_seqno (сервером уже было принято сообщение с меньшим msg_id , но с большим seqno, либо с таким же нечетным)
  • 33 — слишком большой msg_seqno (аналогично: есть сообщение с большим msg_id , но с меньшим seqno, либо с таким же нечетным)
  • 34 — ожидали четный msg_seqno (несущественное сообщение), получили нечетный
  • 35 — ожидали нечетный msg_seqno (существенное сообщение), получили четный
  • 48 — неправильная серверная соль (в этом случае присылается ответ bad_server_salt с правильной солью, надо перепослать сообщение с ней)
  • 64 — неправильный контейнер.

По замыслу, значения error_code группируются по ( error_code 4): например, коды 0x40..0x4f соответствуют ошибкам при разборе контейнера.

Уведомления о проигнорированном сообщении не нуждаются в подтверждении (т.е. являются несущественными).

Важно: если на сервере изменился server_salt , или если у клиента неправильное время, на любой запрос будет получено уведомление указанного выше вида. Клиент должен проверить, что он действительно недавно отправлял сообщение с указанным msg_id , и если это так — обновить у себя поправку времени (разницу между серверными и клиентскими часами) и серверную соль, исходя из msg_id и server_salt уведомления, чтобы использовать их для (пере)отправки будущих сообщений. При этом исходное сообщение (то, на которое вернули уведомление об ошибке) тоже должно быть перепослано с более адекватным msg_id и/или server_salt .

Кроме того, клиент может обновлять значение server_salt , используемое при отправке сообщений на сервер, исходя из значений в rpc-ответах или контейнерах, содержащих rpc-ответ, при условии, что этот rpc-ответ действительно соответствует недавно отправленному запросу. (В случае сомнения лучше не обновлять, т.к. есть риск replay-атаки.)

Еще по теме:  Где скачать Телеграмм что бы открывала

Запрос информации о состоянии сообщений

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

msgs_state_req#da69fb52 msg_ids:Vector long = MsgsStateReq;

Ответ на этот запрос содержит в себе следующую информацию:

Сообщение информации о состоянии сообщений

msgs_state_info#04deb57d req_msg_id:long info:string = MsgsStateInfo;

Здесь req_msg_id — идентификатор запроса msgs_state_req , info — строка, которая для каждого сообщения из присланного списка msg_ids содержит ровно один байт с состоянием сообщения:

  • 1 = о сообщении ничего не известно ( msg_id слишком мал, противоположная сторона могла его забыть)
  • 2 = сообщение не было получено ( msg_id в диапазоне хранимых идентификаторов, однако противоположная сторона такого сообщения точно не получала)
  • 3 = сообщение не было получено ( msg_id слишком велик, противоположная сторона его точно еще не получила)
  • 4 = сообщение было получено (отметим, что такой ответ заодно является подтверждением получения)
  • +8 = на сообщение уже было отправлено подтверждение
  • +16 = на сообщение не требуется подтверждение
  • +32 = идет или уже завершена обработка RPC-запроса, содержащегося в сообщении
  • +64 = на сообщение уже был сгенерирован содержательный ответ
  • +128 = другая сторона точно знает о том, что это сообщение было получено

Этот ответ не нуждается в подтверждении. Сам по себе он является подтверждением на соответствующий msgs_state_req .

Отметим, что если вдруг выясняется, что у противоположной стороны нет сообщения, которое вроде бы было ей отправлено, можно просто отправить это сообщение снова. Даже если на противоположную сторону вдруг придет сразу два экземпляра этого сообщения, дубль будет проигнорирован. (Если прошло слишком много времени и исходный msg_id уже не годится, надо обернуть сообщение в msg_copy .)

Добровольное информирование о состоянии сообщений

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

msgs_all_info#8cc0d131 msg_ids:Vector long info:string = MsgsAllInfo

Перечисляются все коды сообщений, известных данной стороне, за исключением тех, для которых установлен флаг +128 или +16 . Однако если установлен флаг +32 , но не +64 , то состояние сообщения все-таки будет прислано.

Такое сообщение не нуждается в подтверждении.

Расширенное добровольное информирование о состоянии одного сообщения

Обычно используется сервером для ответа на повторное получение сообщения msg_id , особенно в том случае, если на это сообщение был сгенерирован ответ, и этот ответ большой. Если ответ небольшой, сервер может вместо этого повторить сам ответ.

msg_detailed_info#276d3ec6 msg_id:long answer_msg_id:long bytes:int status:int = MsgDetailedInfo; msg_new_detailed_info#809db6df answer_msg_id:long bytes:int status:int = MsgDetailedInfo;

Второй вариант используется для уведомления о сообщениях, которые были созданы на сервере не в результате rpc-запроса (например, уведомления о новых сообщениях), были отосланы клиенту какое-то время назад, но на них не было получено подтверждения.

Такое сообщение не нуждается в подтверждении.

Явный запрос перепосылки сообщений

msg_resend_req#7d861a08 msg_ids:Vector long = MsgResendReq;

В качестве ответа удаленная сторона немедленно перепосылает запрошенные сообщения, обычно по тому же соединению, по которому пришел этот запрос. Если сообщение с запрошенным msg_id отсутствует или уже было забыто, либо если оно было отправлено запрашивающей стороной (что понятно по четности), для таких msg_id присылается ответ MsgsStateInfo .

Сайт про Telegram на русском (неофициальный).

Здесь собраны приложения на базе MTProto, переведена некоторая документация с официального сайта, а также работает Webogram.

Источник: tlgrm.ru

Причины проблем с отправкой и приёмом сообщений в «Telegram» и способы их решения

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

Еще по теме:  Где в Телеграмме синхронизация контактов

Что делать, если в Telegram не приходят или не отправляются сообщения

Причины, по которым возникают отказы

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

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

Сообщение не отправлено

Предпосылки неполадок

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

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

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

В пришедшем послании не будут отображаться фотографии, которые будут подтянуты с «Facebook».

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

Неполадки, обусловленные техническими особенностями

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

Если в сообщениях необходимо отправлять большие по объёму видеоролики, наладить связь можно посредством хостинга YouTube. Загруженное на подобный интернет-ресурс видео можно будет показать собеседнику, отправив ему только ссылку. Вместе с тем у получателя будет возможность просмотреть, скачать запись.

Заключение

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

Источник: nastroyvse.ru

Что означают галочки в Телеграмме: значение одной и двух галочек в сообщениях

галочки в Телеграмме

Инструкции

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

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

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

Что означает одна галочка в Телеграмме

После того как сообщение отправлено собеседнику, в правом нижнем углу сообщения появляется одна зеленая галочка. Этот индикатор означает, что сообщение было доставлено на облачный сервер и ожидает отправки вашему собеседнику.

Еще по теме:  Аккаунт на планшет Телеграм

одна галочка в Телеграмме

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

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

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

Что означают две галочки в Телеграмме

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

две галочки в Телеграмме

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

Что означают две синие галочки в Телеграмме

Вы уже поняли, что отправленное письмо проходит два типа индикации:

  • 1 галка зеленого цвета – не доставлено;
  • 2 галки зеленого цвета – прочитано.

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

две синие галочки в Телеграмме

Что означают серые часы в отправленном сообщении

При отправке писем собеседнику пользователи могут видеть серые часы. Этот индикатор оповещает об одной из следующих проблем:

индикатор серых часов в Телеграмме

  • письмо зависло в системе. У пользователя, который отправляет сообщение плохая скорость интернета или наблюдаются неполадки в сети;
  • неисправность в работе мессенджера.

Инструкция по устранению проблем работы мессенджера на смартфоне или на персональном компьютере:

проверка подключения к интернету

  1. Если появились серые часы на против отправленных писем собеседникам, проверьте подключение к интернету. Переподключите роутер, перезапустите сеть на смартфоне. Если проблема не решена, перейдите ко второму шагу.
  1. Закройте приложение Телеграм. Запустите его снова. Сообщения должны уйти в облачный сервер. На месте часов появятся серые галочки.
  2. Если проблема не решена перезапуском приложения, удалите его. Установите заново Телеграм.

Если проблема не решается переустановкой приложения, обратитесь в службу поддержки Телеграм.

Что означает синяя галочка в профиле пользователя и как ее получить

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

верифицированный профиль Телеграм

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

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

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

Как обратиться в техническую поддержку:

Специалисты технической поддержки будут проверять ваш аккаунт в течение 3 – 7 дней. По окончании верификации вам пришлют ответ с подтверждением верификации или отклонением ее.

Как понять, что вы заблокированы в Телеграмме

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

Заключение

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

Источник: tgrminfo.ru

Рейтинг
( Пока оценок нет )
Загрузка ...