Функции для отправки и редактирования сообщений
Описание функций API Telegram для отправки и редактирования сообщений
Чтобы в переменную записать текст с переносами строк, укажите значение следующим образом:
text = "Текст первой строки" + "\n" + "Текст второй строки" + "\n" +"Третья строка"
Редактировать можно только инлайн-клавиатуру.
Пример отправки сообщения с помощью функции API Telegram
Рассмотрим простой пример с набором обязательных параметров:
В качестве platform_id указывается идентификатор конкретного клиента
Тот же пример, но с использованием переменных:
В данном примере в переменной soob будет содержаться ответ сервера после отправки сообщения.
Если сохранить идентификатор сообщения message_id из полученного ответа, то это позволит нам впоследствии работать с данным сообщением (редактировать, удалять, пересылать, комментировать).
Очень часто возникают сложности в использовании всех параметров. Давайте рассмотрим такой пример:
для начала объявите все параметры, используемые в функции. Не забывайте, что параметры можно передать не только значением, но и переменными, что чаще более удобно и наглядно. Такие переменные, как platform_id и client_message_id Вы можете получить в карточке клиента platform_id — идентификатор клиента в Telegram, которому необходимо прислать сообщение * >Будем отвечать в том же чате, где пишет клиент
text - текст сообщения. >Используем форматирование текста - например, выделение жирным
client_message_id - идентификатор сообщения, которое необходимо процитировать >В чатах эта переменная получает свое значение автоматически. reply_markup — настройки кнопок **. >Присвоим в переменную opts parse_mode — выделение текста в описании жирным или курсивом ***. Может иметь значения html, markdown, markdownV2. Используемые символы для форматирования текста сообщения описаны тут >Используем markdown. disable_web_page_preview - отобразить превью ссылки. Чтобы отключить передайте 1, иначе 0 или оставьте пустое значение “” >Мы можем передать любое значение, поскольку в тексте сообщения не указываем ссылку protect_content — признак защиты контента от копирования. Чтобы включить передайте любое значение, кроме 0, False и пустых кавычек '' >Нам не требуется защита контента передадим '' disable_notification — признак отправки сообщения с уведомлением (по умолчанию 0) 0 - отключить уведомление при получении, 1 - передать с уведомлением >Уведомление - это всплывающее окно с содержимым текста сообщения. Давайте включим
Далее собираем функцию. Не забывайте присваивать функцию переменной - это позволит отследить статус отправки сообщения
Смотрим, что у нас получилось: После того, как клиент написал нам ключевое слово test, мы отвечаем ему, цитируя его сообщение
При этом в переменной soob видим следующий ответ сервера:
В ok мы как раз видим статус отправки, далее содержится информация о данном сообщении - его id, данные отправителя, содержимое отправления.
Пример с передачей параметра entities
Исходную строку можно поместить в переменную, как показано ниже:
text = "йцуав цйуа йуцайукап укцацу цйува31уцвац"
Параметр записываете в формате словаря с данными и указываете необходимое вам форматирование с указанием шрифтов.
entities = [{"offset":0,"length":5,"type":"bold"},{"offset":6,"length":4,"type":"text_link","url":"https://salebot.zmservice.ru"},{"offset":11,"length":9,"type":"strikethrough"},{"offset":21,"length":6,"type":"spoiler"},{"offset":29,"length":12,"type":"code"}]
Передайте параметр последним в используемой функции. Параметр можно передавать как в функции tg_send_message так и в функции tg_send_message_1
x = tg_send_message(platform_id, text, None, None, None, False, False, False, None, entities
)
Пример редактирования сообщений с помощью API Telegram
Итак, отправим себе сообщение с инлайн-клавиатурой:
далее отредактируем текст сообщения:
теперь отредактируем кнопки:
Попробуем отредактирвать сообщение с картинкой. Для этого отправим сообщение с картинкой и сохраним идентификатор отправленного сообщения. О том как получить ссылку на картинку подробно описано тут:
Редактируем картинку и описание:
Пример копирования сообщения с помощью API Telegram
Отправим сообщение и сохраним его идентификатор:
Скопируем ранее отправленное сообщение:
Last updated