Что такое telegram handle

GeekBrains

Типы обработчиков модуля python-telegram-bot.

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

Например, если надо, чтобы бот отвечал на команду /start , нужно использовать обработчик telegram.ext.CommandHandler , который сопоставляет ввод команды пользователя /start с обратным вызовом с именем start_callback :

Обработчики сообщений пакета python-telegram-bot :

Для разных типов пользовательского ввода в полученных от telegram.Update сообщениях будут установлены разные атрибуты. Например, входящее сообщение приведет к update.message , содержащему отправленное сообщение. Нажатие встроенной кнопки приведет к установке update.callback_query . Чтобы различать все эти сообщения, модуль telegram.ext содержит следующие обработчики:

Класс MessageHandler(filters, callback) предназначен для обработки всех сообщений Telegram. Они могут содержать текст, мультимедиа или обновления статуса и т.д.

Будете использовать в 70% случаев совместно с фильтрами сообщений.

Класс CommandHandler(command, callback) предназначен для обработки команд. Команды представляют собой сообщения, которые начинаются с / .

Будете использовать в 20% случаев.

Класс CallbackQueryHandler(callback) предназначен для обработки запросов обратного вызова Telegram (нажатие кнопок встроенной клавиатуры).

Класс ConversationHandler(entry_points, states, fallbacks) предназначен для ведения разговора с одним или несколькими пользователями через сообщения Telegram путем управления четырьмя коллекциями других обработчиков. Пример использования данного обработчика можно посмотреть в разделе создания меню из кнопок (Пример встроенной клавиатуры с 2-мя состояниями).

entry_points — список обработчиков сообщений, которые используются для инициирования разговора, например, с CommandHandler или MessageHandler .

state — представляет собой словарь dict , который в качестве ключей хранит состояния/этапы разговора, а в качестве значений этих ключей один или несколько (список) связанных обработчиков сообщений, которые должны быть использованы, если пользователь отправляет сообщение, когда разговор с ними в настоящее время находится в этом состоянии/этапе. Здесь также можно определить состояние TIMEOUT для определения поведения при превышении conversation_timeout .

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

Чтобы изменить состояние разговора, функция обратного вызова обработчика должна вернуть новое состояние после ответа пользователю. Если она ничего не возвращает (по умолчанию), то состояние не изменится. Если функция обратного вызова точки входа возвращает None, разговор заканчивается сразу же после выполнения этой функции обратного вызова. Чтобы завершить разговор, функция обратного вызова должна вернуть END или -1. Для обработки тайм-аута разговора используйте TIMEOUT или -2.

Пример фрагмента кода определения обработчика разговора ConversationHandler :

Класс InlineQueryHandler(callback) предназначен для обработки встроенных inline -запросов. Как работать с этим обработчиком, можно посмотреть в вводном материале в подразделе "Режим встроенных запросов".

Класс ChosenInlineResultHandler(callback) предназначен для обработки обновлений Telegram, содержащих выбранный inline -результат.

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

Класс PollAnswerHandler(callback) предназначен для обработки сообщений Telegram, содержащих ответ на опрос.

Пример работы с обработчиком сообщения PollAnswerHandler() , которое представляет ответ на опрос/викторину, можно посмотреть в материале "Работа с опросами из python-telegram-bot на примере бота"

Класс PollHandler(callback) предназначен для обработки сообщений Telegram, содержащих опрос.

Пример работы с обработчиком сообщения PollHandler() , представляющего из себя опрос/викторину, можно посмотреть в материале "Работа с опросами из python-telegram-bot на примере бота"

Класс PrefixHandler(prefix, command, callback) предназначен для обработки пользовательских префиксных команд (начинающихся с префикса, отличного от '/' ).

Это промежуточный обработчик между MessageHandler и CommandHandler . Он поддерживает настраиваемые команды с теми же опциями, что и CommandHandler . Он реагирует на каждую комбинацию prefix и command .

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

Класс ChatMemberHandler предназначен для обработки сообщений Telegram, содержащих обновления участников чата (покинул, присоединился и т. д.).

Класс ShippingQueryHandler(callback) предназначен для обработки запросов обратного вызова доставки Telegram. Другими словами, запускает функцию обратного вызова callback, если сообщение доставлено и прочитано.

Класс RegexHandler(pattern, callback) УСТАРЕЛО: необходимо использовать фильтр Filter.regex совместно с обработчиком сообщений MessageHandler .

Класс PreCheckoutQueryHandler(callback) предназначен для обработки запросов обратного вызова Telegram PreCheckout.

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

  • Класс TypeHandler() предназначен для обработки обновлений пользовательских типов. Тип type — тип сообщения, которые должен обрабатывать этот обработчик, как определено isinstance() .
  • Класс StringRegexHandler(pattern, callback) предназначен для обработки обновлений строк на основе регулярного выражения, которое проверяет содержимое сообщения.
  • Класс StringCommandHandler(command, callback) предназначен для обработки строковых команд. Команды представляют собой сообщения, которые начинаются с / .

Обработка сообщений обработчиком MessageHandler .

Особенностью MessageHandler является то, что существует такое огромное разнообразие типов сообщений (текст, gif, изображение, документ, стикер и т. д.), что невозможно предоставить отдельный обработчик для каждого типа. Вместо этого MessageHandler сочетается с так называемыми фильтрами, которые позволяют проводить мелкие различия: MessageHandler(Filters.all, callback) будет обрабатывать все сообщения, которые содержат:

  • update.message ;
  • update.edited_message ;
  • update.channel_post ;
  • update.edited_channel_post .

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

Обработка команд обработчиком CommandHandler .

Команды — это сообщения Telegram, которые начинаются с символа / , за которым могут следовать @ и имя бота и / или некоторый дополнительный текст. Обработчик добавит список в context с именем CallbackContext.args . Он будет содержать список строк, который представляет собой текст, следующий за командой, разделенной на одиночные или последовательные символы пробела.

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

Filters.update.edited_message в аргументе фильтра.

Класс telegram.ext.CommandHandler не обрабатывает отредактированные сообщения на канале.

Для примера использования обработчика CommandHandler , расширим функцию start_callback() некоторыми аргументами, чтобы пользователь мог предоставить дополнительную информацию:

Отправка команды '/start Hello World!' приведет к тому, что бот разделит все, что находится после /start , на список слов по пробелам и передаст его параметру args контекста: ['Hello', 'World!'] . Мы объединяем эти фрагменты вместе, вызывая ''.join(context.args) , и выводим полученную строку обратно пользователю.

Старт Telegram бота с параметрами.

Описанная выше передача аргументов работает точно так же, когда пользователь нажимает на глубоко связанный начальный URL, например этот:

Щелчок по этой ссылке откроет Telegram-клиент и покажет большую кнопку СТАРТ. При ее нажатии параметры URL-адреса Hello_World! будут переданы в аргументы объекта контекста.

Обратите внимание, поскольку Telegram не поддерживает пробелы в параметрах URL для запуска ботов таким образом, то придется вручную разделить единственный аргумент Hello_World на ['Hello', 'World!'] , например используя вызов context.args[0].split('_') .

Также обратите внимание на максимальную длину, принимаемую самим Telegram. Как указано в документации, максимальная длина параметра start в URL составляет не более 64 символа.

Кроме того, так как это параметр URL-адреса, то необходимо правильно передавать значения, чтобы избежать зарезервированных символов URL-адреса. Рассмотрим использование base64.urlsafe_b64encode .

Соответствие шаблону: Filters.regex(pattern)

Для более сложных входных данных можно использовать telegram.ext.MessageHandler с фильтром telegram.ext.Filters.regex , который внутренне использует модуль re для сопоставления текстового ввода пользователя с предоставленным шаблоном.

Имейте в виду, что для извлечения URL-адресов, #Hashtags , @Mentions и других объектов Telegram нет необходимости, потому что Bot AP уже присылает их нам с каждым сообщением.

Сущности сообщения MessageEntity .

Для использования MessageEntity , сначала необходимо извлечь сущности и соответствующий им текст из объекта Message с помощью метода parse_entities .

Примечание. Этот метод всегда следует использовать вместо атрибута сущностей, поскольку он вычисляет правильную подстроку из текста сообщения на основе кодовых точек UTF-16, то есть извлекает правильную строку даже при работе со странными символами, такими как Emojis .

Что такое telegram handle

modal image

  • Английский (американский вариант)

username/ID for telegram (messaging app)

  • Английский (американский вариант)

Apodo de usar en esa aplicación

  • Английский (американский вариант)

A nickname for that application

  • Что значит Mitred hand ?
  • Что значит The Hand Letterer?
  • Что значит Flexing hands?
  • Что значит Dreading calls ?
  • Что значит Hand-me-downs?
  • Что значит падежный / падежная?
  • Что значит ДОБРО ПОЖАЛОВАТЬ В ГОРОД "МОЕ СЕРДЦЕ" НАСЕЛЕНИЕ: ТЫ;)?
  • Что значит Проникнуться?
  • Что значит Спытывать ?
  • Что значит Актёр звучки?
  • Что значит Спытывать ?
  • Что значит Актёр звучки?
  • Что значит Какие слова можно подобрать для того чтобы рассказать что у меня хорошее настроение, н.
  • Что значит На чём?
  • Что значит Небеса обетованные?
  • Что значит sad boy?
  • Что значит Telegram Handle?
  • Что значит cum?
  • Что значит what's your body count?
  • Что значит degradation kink?
  • Can you check this please, thanks Liebe Petra Zu deiner Information: Ich habe die übrigen Unter.

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

Мне трудно понимать даже короткие ответы на данном языке.

Могу задавать простые вопросы и понимаю простые ответы.

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

20 неизвестных функций Telegram. Мы не знали примерно половину

Favorite В закладки

20 неизвестных функций Telegram. Мы не знали примерно половину

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

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

1. Можно задать время для отправки конкретного сообщения

Как это сделать: введите необходимое сообщение и зажмите кнопку отправки на секунду-две, а потом выберите дату и время доставки.

Крайне полезная фишка с неочевидной реализацией: большинство находит ее случайно или по аналогичной наводке.

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

2. Хэштеги можно использовать для организации «Избранного»

Как это сделать: добавьте к важной информации в соответствующем диалоге необходимый хэштег через #.

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

3. Аудиосообщения можно слушать через разговорный динамик

Как это сделать: включите аудиосообщение и прислоните iPhone к уху, как когда ведете диалог через голосовую связь.

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

4. Меню дополнительных действий можно вызвать очень быстро

Как это сделать: достаточно быстро нажать на любое сообщение дважды.

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

5. Любой диалог можно отметить в качестве непрочитанного

Как это сделать: зажмите любой диалог из общего перечня и выберите возможность «Пометить как новое».

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

6. Для разных чатов можно назначить автоматические папки

Как это сделать: перейдите в раздел «Настройки», разверните меню «Папки с чатами», нажмите на кнопку «Создать» возле необходимого варианта из пункта «Рекомендованные папки».

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

Тем не менее, немногие из них обратили внимание, что приложение также дает возможность автоматически сортировать чаты. Для этого оно предлагает рекомендованные папки. К примеру, «Личные» для диалогов тет-а-тет, а также «Новые».

7. Есть возможность изменить настройки счетчика на значке

Как это сделать: перейдите в раздел «Настройки», разверните меню «Уведомления и звуки», переведите в активное положение переключатель «Каналы» или «Число сообщений» из пункта «Счетчик на иконке».

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

GeekBrains

8. Для работы со звонками можно задать отдельный раздел

Как это сделать: перейдите в раздел «Настройки», разверните меню «Недавние звонки», переведите в активное положение переключатель «Вкладка "Звонки"».

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

9. Рекомендации чатов для меню «Поделиться» можно настроить

Как это сделать: перейдите в раздел «Настройки», разверните меню «Данные и память», определите пункт «Меню "Поделиться"», выберите необходимые варианты из «Предложенных чатов».

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

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

10. Используемую мессенджером память можно быстро очистить

Как это сделать: перейдите в раздел «Настройки», разверните меню «Данные и память», определите пункт «Использование памяти», воспользуйтесь кнопкой «Очистить кэш Telegram».

До недавней чистки мой Telegram занимал больше 7 ГБ в памяти iPhone. Хорошо, что даже для такого объема у меня достаточно свободного места в хранилище. Если ваше подошло к концу, теперь вы знаете, как быстро избавиться от кеша.

11. Все данные из «Избранного» можно очень быстро очистить

Как это сделать: зажмите диалог «Избранное», определите вариант «Удалить» в быстром меню, выберите пункт «Очистить историю».

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

12. Вы можете самостоятельно создать новую тему оформления

Как это сделать: перейдите в раздел «Настройки», разверните меню «Оформление», нажмите на «+» в правом верхнем углу экрана, воспользуйтесь кнопкой «Создать новую тему», задайте имя и выберите необходимые цвета.

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

13. Создать новые стикеры для Telegram — вообще не проблема

Как это сделать: перейдите в раздел «Настройки», разверните меню «Стикеры», нажмите на ссылку бота @stickers мелким шрифтом в нижней части интерфейса.

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

14. Свой номер мобильного телефона можно очень просто скрыть

Как это сделать: перейдите в раздел «Настройки», разверните меню «Конфиденциальность», определите пункт «Номер телефона», выберите вариант, кто сможет видеть ваш номер.

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

15. Важные переговоры можно вести через секретные диалоги

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

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

16. Вход в Telegram можно защитить кодом, Face ID и Touch ID

Как это сделать: перейдите в раздел «Настройки», разверните меню «Конфиденциальность», определите пункт «Код-пароль и Face ID».

К примеру, если защитить Telegram с помощью Face ID, вход в него не будет отнимать сильно больше времени. Тем не менее, в приложение не смогут попасть недоброжелатели.

17. Для надежной защиты аккаунта можно задать облачный пароль

Как это сделать: перейдите в раздел «Настройки», разверните меню «Конфиденциальность», определите пункт «Облачный пароль».

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

18. В Telegram спрятано тайное меню для опытных пользователей

Как это сделать: быстро нажмите на значок раздела «Настройки» десять раз.

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

19. Вы можете использовать пару аккаунтов в одном приложении

Как это сделать: перейдите в раздел «Настройки» и воспользуйтесь возможностью «Добавить аккаунт».

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

20. Если Telegram больше не нужен, можно удалить свой аккаунт

Как это сделать: перейдите по данной ссылке, введите номер телефона, к которому привязан аккаунт Telegram, и следуйте инструкциям на экране.

В «Настройках» Telegram можно установить время, спустя которое учетная запись мессенджера со всеми данными будет удалена автоматически. Если это нужно сделать быстрее, теперь вы знаете, как это сделать.

Favorite В закладки

  • Твитнуть
  • Поделиться
  • Рассказать

Николай Грицаенко

Кандидат наук в рваных джинсах. Пишу докторскую на Mac, не выпускаю из рук iPhone, рассказываю про технологии и жизнь.

👀 Читайте также . Всё по теме

Полный обзор сервиса Apple Fitness+. Тренироваться легко, мотивирует отлично

В Telegram появилась реклама. Первое объявление ведёт на канал Дурова

Как выглядят изнутри 7 зданий офиса Apple Park. Есть секретная лаборатория

10 блогеров в TikTok, на которых не стыдно подписаться

10 культовых сериалов 90-х, о которых вы могли даже не знать. Нужно срочно пересмотреть

Перед тем, как плавать в Apple Watch, прочитайте этот материал

7 секретов Instagram, про которые мало кто знает. Например, запрет комментариев и коллаж из фото

20 советов для владельцев Apple TV. Например, как активировать секретное меню приставки

🙈 Комментарии 54

редкая статья на ресурсе по делу

Спасибо, теперь знаю, что неизвестных функций нет 🙂

ps. 20 неизвестных функций автомобиля:
1. Мотор…

Не упомянутой осталась фишка, которая меня удивила больше всего в своё время) можно редактировать уже отправленное сообщение. Или это так банально, что не достойно упоминания?)

@flint , слишком банально и все знают

@Николай Грицаенко , точно не все)

@flint , ну, быть может)

@flint , те кто не пользуется телегой наверное)

Как можно отправлять в чат сообщение по графику? Например, каждый день в 19 вечера? Есть такой бот?

@Николай Грицаенко , искал. Не нашёл

@38kzb42k55 , это вряд ли сможет делать бот, это делается по api то есть нужно найти вебсервис и дать ему доступы, или написать свой скрипт на пхп/js/петон

@38kzb42k55 , какого рода сообщения?
У меня когда-то был бот погоды, в котором можно было задать время время уведомлений, но толи бот закрыли, толи я его просто удалил.
У себя везде на устройствах и системах мониьторинга дергаю прмитивную функцию

api. telegram. org/botXXX:YYYYYYYYYYY/sendMessage

при жедании на комьюетере Планировщиком заданий в винде/кроном в никсах можно задать выдачу по времени. А ещё удобнее на роутере – например, на тех же Asus/Xiaomi с OpenWRT|LEDE/Padavan/ddwrt/tomato/… Mikrotik/RouterOS можно чуть ли не в три клика сделать.

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

@T34 , есть такое дело

@T34 , правится запретом телеге доступа к контактам.

@dmtr.klmnk, спасибо, не знал

@Николай Грицаенко , по моему так же и в iMessage было

Если отправлять отложенное сообщение в Избранном, то текст меню меняется на “Напомнить”.

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

@walkman99 , вот этот вот очень интересно

А как же лучшее и самое быстрое создание GIF))

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

@[email protected] , еще дартс, футбольный мяч, баскетбольный мяч

Ещё можно выделять часть текста из всего отправленного Сообщения. Почему этого ещё не сделали в стандартных Сообщениях в ios – странно.

@collder , это как?

@russianvoodoo , может он имеет в виду 3д тачем, надавливая на баббл с сообщением.

>>> 10. Используемую мессенджером память можно быстро очистить

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

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

В стандарте, как раз-таки, красуется и всегда красовалось число входящих, а не чатов и каналов. Что на iPhone, что на Android, что на Десктопе.

“19. Вы можете использовать пару аккаунтов в одном приложении. Как это сделать: перейдите в раздел «Настройки» и воспользуйтесь возможностью «Добавить аккаунт»”.

Пропущен шаг: нажать в правом верхнем углу “Изм.”. По крайней мере, когда добавляешь первый дополнительный аккаунт.

“В «Настройках» Telegram можно установить время, спустя которое учетная запись мессенджера со всеми данными будет удалена автоматически. Если это нужно сделать быстрее, теперь вы знаете, как это сделать”.

Нет, не знаем. Так как не указано, где конкретно в «Настройках» («Конфиденциальность»).

И, конечно же, я бы ещё добавил пункт с напоминаниями. В Telegram это делается очень быстро и удобно. Заметил за собой, что чаще всего теперь предпочитаю именно этот способ другим решениям в виде отдельных приложений. Для этого достаточно в чате “Избранное” зажать кнопку отправки сообщения. А потом в том же чате можно просматривать запланированные напоминания.

@* 9190 * , “В «Настройках» Telegram можно установить время, спустя которое учетная запись мессенджера со всеми данными будет удалена автоматически. Если это нужно сделать быстрее, теперь вы знаете, как это сделать”. — до этого ссылка для быстрого удаления вроде указана, и про него вообще речь идет. Поэтому воспринимают комментарий как придурку и дальше не читаю, спасибо

GeekBrains

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

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