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

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

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

Мы уже многое умеем, и сегодня пополним свои знания в части редактирования и удаления сообщений. Для того чтобы произвести какие-либо действия с сообщением нам нужно знать его message_id и chat_id . Эти данные мы можем получить в объекте, который будет нам отправлен в ответ на нашу публикацию сообщения от Bot API, далее для удобства можем сохранить их в удобном для нас виде, или можем получить их через объект CallbackQuery при событии через кнопку встроенной клавиатуры. В своем примере я продемонстрирую работу через встроенную клавиатуру. Заодно еще познакомимся с объектом ForceReply. * * *

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

Создаем тестовое сообщение

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

‘Редактировать’, ‘callback_data’ => ‘edit_msg’], [‘text’ => ‘Удалить’, ‘callback_data’ => ‘del_msg’], ]; $btns = $this->setInlineButton($inlineBtn); // готовим данные для отправки $content = [ ‘chat_id’ => $chat_id, ‘text’ => ‘Сообщение для редактирования’, ‘reply_markup’ => $btns, ]; // отправляем сообщение $this->sendMessage($content); ?>

Редактируем сообщение

Редактирование здесь будет происходить в 2 этапа.

Еще по теме:  Как в Телеграмме сделать скрытый диалог

Сначала мы предложим пользователю ввести новый текст сообщения, потом произведем действие по замене текста. Хранение данных организовывать не будем, все будем делать на лету. В связи с этим возникает вопрос: как передать message_id на втором шаге? При нажатии на кнопку «Редактировать» нам приходит объект CallbackQuery , в котором содержится message_id нужного нам сообщения, он находится в [‘callback_query’][‘message’][‘message_id’] . Сформируем текстовое сообщение-запрос, зашьем в него полученный message_id , и отправим пользователю. Дополнительно к сообщению прикрепим объект ForceReply.

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

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

$callback_chat_id, // зашиваем id сообщения которое надо отредактировать ‘text’ => «Ваш новый текст для сообщения — » . $data[‘callback_query’][‘message’][‘message_id’], // автоматически подставляем для ответа ‘reply_markup’ => json_encode([‘force_reply’ => true], true), ]; // отправляем сообщение $this->sendMessage($content); > // . // > elseif (array_key_exists(‘reply_to_message’, $data[‘message’])) < // если это ответ на сообщение // берем id сообщения которое надо отредактировать // зашито в тексте для примера preg_match(«~([0-9])+$~», $data[‘message’][‘reply_to_message’][‘text’], $matches); // готовим данные $content = [ ‘chat_id’ =>$chat_id, ‘message_id’ => $matches[0], ‘reply_markup’ => $btns, ‘text’ => $data[‘message’][‘text’], // текст который отправили ]; // редактируем сообщение $this->requestToTelegram($content, «editMessageText»); > ?>

Удаляем сообщение

Удалять сообщение как ни странно проще некуда. При нажатии на кнопку также передается объект CallbackQuery из которого берем message_id передаем его вместе с chat_id в метод deleteMessage.

elseif (preg_match(«~^del_msg~», $data[‘callback_query’][‘data’])) < // если пришел запрос на удаление // готовим данные $content = [ ‘chat_id’ =>$callback_chat_id, ‘message_id’ => $data[‘callback_query’][‘message’][‘message_id’], ]; // отправляем запрос на удаление $this->requestToTelegram($content, «deleteMessage»); > ?>

Еще по теме:  Как отменить сброс аккаунта Телеграмм

Подводим итоги

Теперь мы еще на один шаг стали ближе к большому проекту. Исходный код примеров этой статьи вы можете скачать по этой ссылке.

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

В Telegram теперь можно редактировать сообщения после отправки

Favorite

В Telegram теперь можно редактировать сообщения после отправки

Слово – теперь воробей.

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

Редактирование сообщений доступно для пользователей iOS, Android и десктопной версии Telegram.

TelegramEditMesIn

Для входа в режим редактирования достаточно тапнуть по отправленному сообщению и задержать палец. В открывшемся меню выбрать Edit (Редактировать), внести изменения прямо в строке отправки сообщения и нажать Save (Сохранить). Сообщение будет тут же исправлено, а рядом с точным временем отправки будет отображаться пометка Edited (Отредактировано).

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

(2 голосов, общий рейтинг: 4.50 из 5)
Хочешь больше? Подпишись на наш Telegram.

Favorite

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

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

Источник: www.iphones.ru

Как редактировать отправленные сообщения в Telegram на Android, iOS, Desktop

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

Если вы отправите кому-то неправильное сообщение или в отправленном сообщении есть опечатка, вы сможете отредактировать его в мгновение ока. В этом руководстве мы покажем вам, как редактировать отправленные сообщения в Telegram на устройствах Android, настольных ПК и iOS. Просто убедитесь, что на вашем устройстве установлена ​​последняя версия Telegram.

Еще по теме:  В Телеграмм от support пришло смс подтвердить данные

Редактировать отправленные сообщения в Telegram на Android

Вы можете выполнить простые шаги, как показано ниже:

редактировать отправленные сообщения в Telegram

  1. Откройте Telegram-чат человека, которому вы отправили неправильное / опечатанное сообщение.
  2. Нажмите и удерживайте сообщение, которое хотите отредактировать
  3. На панели инструментов, которая появляется вверху, выберите значок карандаша.
  4. Теперь вы можете редактировать сообщение так же, как вы изначально составляли сообщение.
  5. После редактирования содержимого нажмите кнопку «Отметить»

Вы можете увидеть отредактированное сообщение вместе с тегом «Отредактировано» рядом с ним. Достаточно просто, правда?

Редактировать отправленные сообщения в Telegram на iOS

Если вы используете Telegram на своем iPhone, вы можете выполнить следующие действия:

Telegram-Edit-iOS

  1. Откройте чат, где вы можете найти не то сообщение
  2. Нажмите и удерживайте сообщение, пока не появится меню.
  3. Выберите Edit из меню
  4. Внесите необходимые изменения в сообщение
  5. Нажмите на кнопку Tick, чтобы отправить сообщение

Редактировать отправленные сообщения в Telegram на рабочем столе

Выполните следующие действия, если вы используете настольное приложение Telegram:

Telegram-Edit-Desktop

  1. Откройте чат, в котором вы отправили неправильное сообщение
  2. Щелкните правой кнопкой мыши конкретное сообщение и выберите параметр «Изменить».
  3. Так же, как вы видели на Android, появится интерфейс редактирования
  4. Исправьте ошибку и нажмите Enter.

Вы увидите отредактированное сообщение с соответствующим тегом.

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

Примечание: Поскольку Telegram хранит все ваши сообщения в облаке, эта функция работает на всех платформах. Например, даже если вы отправили неправильное сообщение со своего телефона Android, вы можете отредактировать сообщение с помощью рабочего стола Telegram или приложения iOS.

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

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