Herramientas de usuario

Herramientas del sitio


informatica:programacion:php:snippets:telegram

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
informatica:programacion:php:snippets:telegram [2021/06/23 15:07] – [Enviar mensajes] tempwininformatica:programacion:php:snippets:telegram [2021/11/30 15:05] (actual) tempwin
Línea 40: Línea 40:
 send_message(CHAT_ID, "Hola, caracola"); send_message(CHAT_ID, "Hola, caracola");
  
 +</code>
 +
 +<WRAP center round important 60%>
 +Al usar la sintaxix MarkdownV2 con la API de Telegram, ciertos caracteres [[https://core.telegram.org/bots/api#markdownv2-style|deben ser "escapados"]]
 +</WRAP>
 +
 +
 +Otra opción más portable:
 +
 +<code php>
 +// Envía un mensaje a Telegram utilizando su API de bots
 +// (https://core.telegram.org/bots/api)
 +function enviar_telegram($id_chat, $mensaje, $token_bot = '', $silent = false) {
 + 
 +    // Modo de formato del texto
 +    $parse_mode = "MarkdownV2"; // html, Markdown, MarkdownV2
 + 
 +    $data = array(
 +        'chat_id'                  => $id_chat,
 +        'text'                     => $mensaje,
 +        'parse_mode'               => $parse_mode,
 +        'disable_web_page_preview' => true,
 +        'disable_notification'     => $silent
 +    );
 + 
 +    if($token_bot != '') {
 +      $ch = curl_init('https://api.telegram.org/bot' . $token_bot . '/sendMessage');
 +      curl_setopt_array($ch, [
 +          CURLOPT_HEADER         => 0,
 +          CURLOPT_RETURNTRANSFER => 1,
 +          CURLOPT_POST           => 1,
 +          CURLOPT_POSTFIELDS     => $data
 +      ]);
 +      curl_exec($ch);
 +      curl_close($ch);
 +    }
 +}
 </code> </code>
  
   * [[http://www.unicode.org/emoji/charts/full-emoji-list.html|Lista de emoticonos para copiar y pegar]]   * [[http://www.unicode.org/emoji/charts/full-emoji-list.html|Lista de emoticonos para copiar y pegar]]
 +
 +==== Escapar caracteres para Markdown ====
 +
 +Al usar la sintaxix MarkdownV2 con la API de Telegram, ciertos caracteres [[https://core.telegram.org/bots/api#markdownv2-style|deben ser "escapados"]]. Con la siguiente función podemos aplicar estos cambios sobre un mensaje con formato Markdown para que pueda ser transmitido a través de la API de Telegram:
 +
 +<code php>
 +function escape_message_telegram($mensaje) {
 +    $escaped_message = str_replace(
 +        ['_', '*', '[', ']', '(', ')', '~', '>', '`', '#', '+', '-', '=', '|', '{', '}', '.', '!'],
 +        ['\_', '\*', '\[', '\]', '\(', '\)', '\~', '\>', '\`', '\#', '\+', '\-', '\=', '\|', '\{', '\}', '\.', '\!'],
 +        $mensaje
 +    );
 +    return $escaped_message;
 +}
 +</code>
informatica/programacion/php/snippets/telegram.1624453623.txt.gz · Última modificación: por tempwin