Перейти к содержимому

Discard selection в телеграмме что означает

  • автор:

15 полезных функций Telegram, о которых вы можете не знать

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

1. Блокировка приложения паролем

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

Эта опция активируется в настройках: «Конфиденциальность» – «Код-пароль».

После создания пароля можно задать время, по истечении которого приложение автоматически будет блокироваться (например, спустя час после отсутствия активности). Также заблокировать приложение можно вручную, нажав на замочек над списком чатов.

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

2. Голосовые чаты

На пике популярности Clubhouse Telegram реализовал функционал голосовых чатов и с тех пор постоянно улучшает эту опцию. Голосовой чат доступен для администраторов любых групп и каналов. Вот где находится эта функция на iPhone:

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

Дополнительные опции голосовых чатов в Telegram:

  • можно сохранять запись в виде аудиофайла;

  • есть опция шумоподавления, которая позволяет улучшить качество звука в беседе;

  • с недавних пор стала доступной опция трансляции экрана (о ней подробнее расскажем ниже).

3. Групповые видеозвонки

Еще один тренд современности – видеоконференции (в отличие от Clubhouse и голосовых чатов, групповые звонки действительно востребованы и полезны). В июне 2021 года Telegram добавил возможность превращать голосовые чаты в видеоконференции.

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

4. Демонстрация экрана

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

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

При запуске трансляции экрана на десктопном приложении видео автоматически закрепляется.

Функция демонстрации экрана в Telegram пригодится всем digital-специалистам, которые ведут коммуникацию с клиентами через мессенджер. К примеру, с демонстрацией экрана можно быстро показать клиенту результаты рекламных кампаний за прошедшую неделю, показать прогнозы на следующий период и обсудить увеличение бюджета. Кстати, напоминаем, если вы ведете несколько клиентских аккаунтов, подключайте их к Click.ru и получайте вознаграждение до 18% от общего расхода на рекламу по всем аккаунтам.

5. Быстрая запись голосовых и «конфиденциальное» прослушивание аудиосообщений

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

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

6. Добавление дополнительного аккаунта

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

7. Секретные чаты с защитой от пересылки и скриншотов

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

Вот основные фишки секретных чатов:

  • нельзя пересылать сообщения из секретного чата в другие диалоги;
  • если собеседник сделает скриншот переписки, вы получите уведомление об этом;
  • можно отправлять самоуничтожающиеся сообщения (они автоматически удалятся по истечении заданного времени);
  • сообщения, отправленные в секретном чате, нельзя редактировать.

8. «Избранное» – хранилище для важной информации

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

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

Кстати, если нужно быстро перекинуть файл со смартфона на компьютер, это можно сделать с помощью «Избранного» в Telegram. Загрузите файл в чат на телефоне, а затем откройте Избранное в десктопном приложении и сохраните файл на компьютере.

9. Использование хештегов для упорядочивания информации

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

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

10. Отображение имени профиля в пересылаемых сообщениях

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

11. Отображение номера телефона

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

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

12. Отложенная или беззвучная отправка сообщений

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

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

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

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

Кстати, если отправлять отложенные сообщения себе в чат «Избранное», они будут работать как напоминания.

13. Группировка диалогов по папкам

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

Для создания папки удерживайте иконку «Чаты», а затем выберите опцию «Создать папку».

При создании папки можно настроить, какие типы чатов в ней должны отображаться:

  • ваши контакты;
  • чаты с теми, кого нет в вашем списке контактов;
  • каналы;
  • группы;
  • боты.

Также в папку можно вручную добавить нужные чаты или исключить их.

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

14. Секретное меню

В Telegram можно открыть секретное меню с экспериментальными функциями. На iOS это можно сделать, быстро тапнув 10 раз по иконке «Настроек»:

На Android меню открывается по-другому. Необходимо перейти в раздел «Настройки» и зажать надпись с номером версии Telegram внизу:

После появления смайлика, разводящего руками, нужно отпустить и еще раз зажать надпись. После этого должно открыться меню:

Кстати, достаточно полезная опция – прочитать все непрочитанные чаты.

15. Архивирование чатов

Чаты, которые пока не нужны, но удалять жалко (или могут понадобиться в будущем) можно убрать в архив. Это позволит не захламлять список чатов и не терять важные переписки. В любое время вы сможете вернуть чат из архива. А если в архивированной переписке собеседник сам вам напишет, чат автоматически переместится из архива в список активных диалогов.

Чтобы заархивировать чат, нужно свайпнуть его влево и тапнуть по опции «В архив».

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

  • социальные сети и сообщества
  • мессенджеры
  • telegram

Стикеры в Телеграме: как создать, загрузить и использовать в продвижении

Стикеры в Телеграме: как сделать, загрузить и использовать в продвижении

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

Стикеры в Телеграм

Современная классика: цитаты Остапа Бендера в стикерах в Телеграме

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

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

Как сделать стикеры для Телеграма

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

Эмодзи

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

Стикеры бывают простыми и анимированными. Вторые создавать сложнее, для этого нужны навыки работы с анимацией, приложение Adobe After Effects и плагин Bodymovin-TG. Инструкция есть в уроке на канале Motion Richy. Не всегда такие усилия оправданы, так как популярность пака зависит больше от заложенных смыслов, чем от сложности исполнения и детализации картинки.

Стикеры из статичных изображений и фото можно создать самостоятельно, это несложно. Нужно только:

  • выбрать картинки;
  • привести их в соответствие требованиям Телеграма;
  • загрузить в соцсеть через бота;
  • затем найти и добавить новый стикерпак в свои наборы.

Расскажем обо всем по порядку.

Требования к изображениям

В Telegram можно загружать изображения в форматах PNG и WEBP. Размеры картинки – 512 x 512 пикселей, хотя одна сторона может быть меньше. Главное, чтобы стикер вписывался в этот квадрат. В один набор можно загрузить до 120 стикеров.

Требования к стикерам

Как показала практика, прозрачный фон, обводка и тень – некритичные требования

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

Как подготовить фото для стикера

Если не хочется или пока сложно делать фигурную обрезку, можно просто откадрировать изображение в размере 512 x 512 и сохранить в формате PNG.

Набор квадратных стикеров

Наборы стикеров в формате квадратных или прямоугольных картинок

Я обрезал картинки на компьютере в лайт-версии Фотошопа и подгонял под размеры через инструмент «Размер изображения». Если ваш редактор не сохраняет изображения в нужном формате, перевести картинку из JPEG в PNG можно через онлайн-сервис, например online-convert.com.

Изображение для стикера

Ширина получилась чуть меньше, но это допустимо

Для обрезки можно использовать встроенный редактор на телефоне, для перевода в PNG – мобильное приложение JPEG-PNG Image file converter, чтобы уменьшить размер – Resize It.

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

Для начала найдите подходящее под эмоцию изображение, желательно хорошего качества, с четким основным элементом и без лишних деталей. Загружаем его в Фотошоп. Далее обводим границы объекта и удаляем фон. В Adobe Photoshop CC 2019 это можно сделать с помощью инструмента Quick Selection Tool (быстрое выделение) → Smart Select (выделить предмет) → Select Inverse (инверсия выделенной области). Он сам определит границы объекта и выделит ненужный фон, который нужно удалить через Delete.

Обрезка фона в ФШ

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

Фотошоп

Инверсия выделенной области переключает выделение на фон

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

Обводка стикера

Настраиваем цвет, толщину, прозрачность и другие параметры обводки

Результат кадрируем, сжимаем до нужного размера – ровно 512 x 512 или чтобы более длинная сторона была 512 пикселей, сохраняем в PNG.

Стикер готов, осталось добавить его в Телеграм.

Как загрузить стикеры в Телеграм

Находим в Телеграме @Stikers – это официальный бот, через который можно загрузить свои стикеры. Ему можно отправить точку, и он пришлет список своих команд.

Стикербот в Telegram

Список команд бота @Stikers

Перед тем как начать добавлять стикеры в Телеграм, нужно создать под них новый набор с помощью команды /newpack. Бот предложит придумать название – если хотите, чтобы ваши стикеры могли найти в поиске другие пользователи, выберите что-то несложное, что будет соответствовать тематике набора.

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

Стикер в Telegram

Прикрепляем наш стикер и отправляем боту

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

Как добавить стикер в Telegram

Готово, стикер добавлен в набор

Стикер добавлен, можно приступать к добавлению следующего или отправить команду /publish и опубликовать набор с тем количеством стикеров, которое добавлено на данный момент. Мы закончим добавлять стикеры и перейдем к другим настройкам. К набору можно будет вернуться в любой момент и добавить в него новые стикеры с помощью бота @Stikers.

После отправки команды /publish бот предложит загрузить иконку для нового стикерпака. Допустимый формат – изображение PNG размером 100 x 100 точек. Этот шаг можно пропустить, отправив команду /skip, тогда иконкой пака станет первый стикер в наборе.

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

Публикация стикеров

Наше название было уже занято, пришлось добавить цифру

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

kak dobavit

Набор стал доступен для добавления и поиска другими пользователями

Если вы создали новые стикеры и решили добавить их в набор:

  • вернитесь в чат с @Stikers;
  • отправьте боту команду /addsticker;
  • выберите набор, в который хотите добавить стикер, из созданных ранее;
  • пришлите боту стикер, выберите соответствующую эмоцию;
  • опубликуйте или добавьте еще несколько стикеров таким же образом.

Чтобы удалить стикер из набора, используйте команду /delsticker, чтобы удалить весь набор – /delpack. Также с помощью бота вы можете изменить порядок стикеров в наборе, поменять иконку пака, посмотреть статистику и многое другое. Бот пришлет набор доступных команд в ответ на любое сообщение – можете изучить.

Комьюнити теперь в Телеграм
Подпишитесь и будьте в курсе последних IT-новостей

Примеры продвижения с помощью стикеров в Телеграме

Стикеры можно использовать для продвижения в формате нативной рекламы, размещая на них:

  • лого и название бренда;
  • адрес канала или сайта;
  • фирменных персонажей и символику;
  • собственный образ эксперта или инфлюенсера;
  • свои контакты как дизайнера.

Примеры элементов продвижения в стикерпаках:

kontakty v stikerah

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

Брендовые стикеры

Фирменные стикеры сервиса glvrd.ru в Телеграме

Стикеры Сбера

Корпоративные стикеры Сбербанка

Стикеры с Лапенко

Стикеры с персонажами Лапенко

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

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

Как найти, добавить и удалить чужие стикеры

Новые стикеры в Телеграме можно найти через внутренний поиск:

  • кликнуть на смайлик рядом с полем для ввода сообщения;
  • выбрать тип эмоции – стикеры, также есть gif и обычные смайлики;
  • кликнуть на лупу – откроется поиск по стикерам.

Найти стикеры в тг

Как найти стикеры в Телеграме

Здесь можно ввести слова и найти наборы стикеров на нужную тему, например с котиками, персонажами мультфильмов или актерами.

Можно поискать интересные стикерпаки со ссылками на них в каталогах и подборках, например:

  • Стикеры для Телеграма;
  • Telegram Stickers Catalogue;
  • Стикеры Telegram.

Ссылка на стикеры в ТГ

В каталогах можно найти самый свежие стикеры для Телеграма

Если будете искать стикеры в подборках, обращайте внимание на то, чтобы ссылка на пак имела вид https://t.me/addstickers/Name. Иначе можно попасть на небезопасный сайт.

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

Стикеры

Подберите стикер, который лучше выражает вашу эмоцию

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

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

Удалить стикеры

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

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

Пользуйтесь в свое удовольствие и на благо продвижения!

*Соцсеть признана экстремистской и запрещена в России.

Как реализовать игнор заблокированных пользователей в группах Telegram?

image alt

UPD: благодаря помощи Tkachov эта статья всё-таки превратилась из просьбы о помощи в работающую инструкцию. В комментариях он дал работающий код для создания игнора в десктопном клиенте Телеграм. Я на всякий случай расположу объяснение в конце статьи. Далее статья продолжается в том же виде, в каком была написана.
UPD: Сделал «сайт» для распространения готового приложения sites.google.com/view/ignoram

Я хотел бы попросить помощи у сообщества, потому что все собственные возможности я полностью исчерпал.

Можно было бы задать вопрос на сервисе Q&A (он же бывший Тостер) — только я это уже сделал, и пользы вышло не очень много.

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

Если повезёт, то кто-нибудь в комментариях подскажет решение. И тогда нашедшие эту статью в поисковиках тоже смогут эту проблему решить.

Проблема и предыстория

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

В «Чёрном Зеркале» даже была серия про это.

Продолжайте смотреть! Продолжайте смотреть! Продолжайте смотреть!

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

Вот первый запрос этой функции от 2015 года. В этой теме можно найти ссылки на последующие темы, люди постоянно просили эту функцию в последующие годы, но каждое обращение оказывалось закрытым с довольно глупым ответом «Это не проблема клиента, а проблема API».

Даже не программисту понятно, что данные показывают пользователю с помощью клиента. И даже если API передаёт вам все сообщения с сервера — нет никакой проблемы спрятать часть из них на стороне клиента.

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

Я тебя услышал! Я просто это озвучил, пока не готов тебе ответить, скажем так, я понял твою позицию. Давай, на созвоне, не теряйся!

Польза от этой отговорки ровно одна — теперь на все жалобы администраторы tdesktop на Гитхабе отсылают к этому сообщению. Дескать — вот смотрите, они всё знают, они всё сделают, извините, ветка закрыта. За полгода в телеграме произошло множество трудоёмких изменений, например в чаты добавили анимированные стикеры и КрАсИвЕнЬкИе шевелящиеся формы для опросов. Но никакого игнора даже близко не появилось. Думаю, не появится и через год.

При этом ситуация выглядит даже немного зловеще — есть ощущение, что какими-то специальными инструкциями для официальных форков вводить эту функцию запрещается. У Телеграма есть не меньше десятка широко известных форков (вроде Unigram) и под сотню малоизвестных, но ни в одном из них эта функция не реализована. Я писал в поддержку самых популярных форков, но не получил никакого ответа.

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

Увы, этот игнор ненастоящий. Всё, что делает опция «Игнорировать заблокированных пользователей» — раскрашивает текст сообщений заблокированных пользователей в серый цвет. Картинки, видео, музыка или стикеры от заблокированных пользователей видны по-прежнему; кроме того серый цвет на тёмных темах отлично читается.

В чат к разработчику, где я сидел какое-то время, регулярно приходят люди и просят сделать «настоящий игнор». Раньше он просто отказывался; в последние же полгода и вовсе забросил свой проект, потому что у него «нет времени». Что ж, это обычное дело для бесплатных открытых проектов.

Я упоминаю об этом проекте по двум причинам.

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

Лучше всего передаёт мои чувства комментарий в похожей теме на Реддите четырёхлетней давности:

If I just don’t want to read anything some user writes I should be able to do so… it’s like, one of the very basic features of every communication protocols EVER!

You could do it in the 90s with emails and newsgroups!

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

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

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

Так почему же на самом деле эта функция не существует?

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

Версия маркетинговая немного проще.

Когда в 1995 году Халед Мардам-Бей создал mIRC — он написал программу для людей. В смысле, для самостоятельных людей, которые знают, что они хотят, выбирают то, что считают правильным, и несут ответственность за последствия своих действий. С одной стороны это вызывало проблемы, например, со скриптовыми уязвимостями — запускаешь строку с командами и всё, ты взломан. С другой стороны — это был мессенджер, которым пользовались взрослые и ответственные люди. И они знали, как существовать в чате с игнором, где часть сообщений просто не видна.

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

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

Но в случае с Телеграмом этот аргумент немножко видоизменяют: «не нравится — так сделай как тебе нравится, это же open source».

Попытка решения

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

В этом смысле меня бы не беспокоили ни возможные «тормоза» от скрытия сообщений, ни «проблема потери контекста в беседе», ни проблема «как же админить чат если не видишь части сообщений». Это всё меня не интересовало.

Мне казалось очевидным, что достаточно добавить строку вида:

if message.author.isBlocked == true then message.value= ‘The message from blocked user’

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

Но с чего начать?

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

Я пообщался с создателем этого мессенджера, и он дал мне два полезных совета.
Во-первых, он сказал, что сообщения в нативном клиенте выводятся обычным способом, а не генерируются (я, впрочем, и так это подозревал на примере Telegreat) — поэтому можно в качестве исходника использовать родной клиент.
Во-вторых, он рассказал, где искать сам вывод сообщений — в блоке history_message.

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

Как я действовал дальше? Инструкция по сборке существует на Гитхабе, но она не отражает всех этапов работы. Я их тут опишу, на случай, если в статью придёт кто-то ещё, с программированием не особенно знакомый, но желающий сделать для себя такой же клиент с игнором:

  1. Я решил всё делать на виртуальной машине. Для этого я установил себе Oracle VM Virtual Box и скачал с официального сайта Microsoft их официальную виртуальную машину с предустановленными Windows 10 и Visual Studio 2019
  2. На втором этапе нужно расширить предустановленный Visual Studio. Как оказалось, по умолчанию в него не входит C++, поэтому нужно запустить Visual Studio Installer из главного меню. Нажать там кнопочку Modify и выбрать секцию с C++, он её докачает и установит. Ну и на всякий случай я ещё скачал и установил QT отсюда.
  3. Кроме того нужно установить Git c git-scm.com
  4. Теперь можно начать выполнять инструкцию с Гитхаба. Но будьте внимательны!

Первая остановка происходит после строки:

gyp --no-circular-check breakpad_client.gyp --format=ninja

Вторая — после четвёртой строки с конца, длинной инструкции конфигурирования QT:

configure -prefix "%LibrariesPath%\Qt-5.12.5" . 

Как мне подсказали знакомые, это связано с тем, что в ходе выполнения этих команд запускаются другие bat-файлы, в которых уже прописан прямой выход из процесса. В результате дальше нужно либо просто копировать и вставлять команды, либо разбить инструкцию на 3 bat файла (но в этом случае нужно не забыть, что команды следует продолжать выполнять из той же директории, в которой процесс остановился!).

Получение собственных api_id тоже описано на Гитхабе.

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

Помощь зала (и найденное решение)

И вот здесь наконец-то появляется моя просьба к хабрасообществу. Как читатели уже догадались, я не знаю, что и как менять. Мне кажется, что я нашёл место, где выводится сообщение, но я не уверен, потому что я же не знаю C++. Не говоря уж о том, что (возможно) правильно было бы что-то менять не в history_message, а где-нибудь в history_item.

«Что-то на эльфийском, не могу прочесть»

Может быть кто-нибудь здесь уже сталкивался с кодом Telegram или просто имеет очень развитый скилл и сможет написать ту самую строку с заменой любого сообщения от заблокированного пользователя, а также сказать, куда её разместить в этом коде.

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

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

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

В файле History_Message.cpp мы находим функцию как раз в том самом месте, что на скриншоте выше:

HistoryMessage::HistoryMessage( not_null history, const MTPDmessage &data, MTPDmessage_ClientFlags clientFlags) 

И внутри заменяем оригинальный текст:

 if (const auto media = data.vmedia()) < setMedia(*media); >setText(< TextUtilities::Clean(qs(data.vmessage())), Api::EntitiesFromMTP(data.ventities().value_or_empty()) >);
 //UserId from = data.vfrom_id().value_or_empty(); // Это почему-то перестало работать, поэтому пришлось добавить другую строку UserId from = data.vfrom_id() ? peerFromMTP(*data.vfrom_id()) : PeerId(0); PeerData* pd = from ? history->owner().user(from) : history->peer; if (pd->isUser() && pd->asUser()->isBlocked()) < setText(< TextUtilities::Clean(qs("The message from blocked user")), Api::EntitiesFromMTP(data.ventities().value_or_empty()) >); > else < // оригинальные строки 442-448: if (const auto media = data.vmedia()) < setMedia(*media); >setText(< TextUtilities::Clean(qs(data.vmessage())), Api::EntitiesFromMTP(data.ventities().value_or_empty()) >); > 

Если использовать только этот код — старые сообщения заблокированных пользователей будут видны, но новые уже нет.

Поэтому вторая часть решения, упомянутая в этом комментарии

В файл history_view_message.cpp добавляется следующий код:

PeerData* pd = item->from(); if (pd->isUser() && pd->asUser()->isBlocked()) return;

UPD: в новой версии компилятор ругается на пустой return, поэтому я добавил вывод QSize(0,0) В другом случае можно наоборот убрать его.

PeerData* pd = item->from(); if (pd->isUser() && pd->asUser()->isBlocked()) return QSize(0,0);

Сразу после объявления переменной item в функциях
QSize Message::performCountOptimalSize()
и
void Message::draw(
Painter &p,
QRect clip,
TextSelection selection,
crl::time ms)

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

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

Для желающих добавил на Дропбокс скомпилированное приложение.

Telegram добавил новый инструмент для проведения опросов Статьи редакции

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

38K открытий
96 комментариев
Написать комментарий.

Это конечно круто.
Но когда они сделают разделения на группы, контакты и страницы блин.

Развернуть ветку
когда они сделают разделения на группы, контакты и страницы

пусть еще стену вернут!

Развернуть ветку

И ботов! Дико бесит, что все боты в перемешку с чатами

Развернуть ветку

Еще в разработке, но скоро будет можно пользоваться.

Egram — Telegram client for Desktop
Развернуть ветку
3 комментария

Ура, я не один такой, кому это нужно.

Развернуть ветку
1 комментарий

Именно по этой причине пользуюсь Plus Messenger

Развернуть ветку
10 комментариев

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

Нужны вкладки — иранские форки к вашим услугам.

Развернуть ветку

Рекомендую такой вот кривенький способ:

1. Регистрируем ещё один аккаунт телеги и добавляем его в приложение — такая возможность есть.
2. В основном аккаунте оставляем только важные чаты и переписки, во второй добавляем весь мусор, типа каналов, и выключаем уведомления.
3. Вы великолепны!

Развернуть ветку

Да пусть больше 5 избранных каналов сначала хотя бы сделают!!1

Развернуть ветку
2 комментария

Плюсую дважды! Иранские разработчики реализовали это на iOS ещё пару лет назад. Кривенько, но всё же! Жду такого разделения с дня появления каналов, а потом и ботов.

Развернуть ветку

Блин, не хватает отложенный постинг и добавление кнопок как в ControllerBot. Давайте, Телеграмм, я знаю, что вы это читаете 😉

Развернуть ветку

Еще реально не хватает вкладок разделяющих людей, чаты, каналы и ботов, что есть во всех альтернативных клиентах.
Ну и ленту бы заодно сделали.

Развернуть ветку
7 комментариев

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

Развернуть ветку

Постепенно телега включает функции полезных ботов.

Неплохо, если сами еще реализуют, например, преобразование голосового сообщения в текстовое��

Развернуть ветку
Аккаунт удален
Развернуть ветку
9 комментариев

Што? На всех андроидах и айфонах есть кнопка. Незаменимо просто. Офигеть ты до сих пор не знал?

Развернуть ветку
9 комментариев

«Живее всех живых»!

Да Вотсап просто г***о гниющее, перед постоянно развивающимся ТГ

Развернуть ветку

Жаль что у меня нет канала про телеграм, чтобы я дал здесь на него ссылку -_-

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

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

3. Отложенный постинг тоже появится в скором времени. Вот увидите, скриньте.

PS: я просто заебался читать одинаковые комментарии под данной статьей про «когда разделят каналы, верните стену, т.е. ленту. 1»

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *