

{"id":1133,"date":"2020-12-08T16:12:17","date_gmt":"2020-12-08T15:12:17","guid":{"rendered":"https:\/\/dornisoft.es\/dorniblog\/?p=1133"},"modified":"2021-08-12T22:55:55","modified_gmt":"2021-08-12T20:55:55","slug":"bot-de-telegram-en-php","status":"publish","type":"post","link":"https:\/\/dornisoft.es\/dorniblog\/bot-de-telegram-en-php\/","title":{"rendered":"Bot de Telegram en PHP"},"content":{"rendered":"\n<p>En este articulo vamos a explicar como enviar mensajes a un canal de telegram con un bot. Primero hay que crear un bot e inclurlo en el canal. En este ejemplo vamos a enviar mensajes cuando las olas sean superiores a 4 metros por lo que tenemos una tabla (prediccion) mySQL con varias columnas una de ellas es la fecha y la otra es la altura de las olas<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>fecha<\/td><td>alturaolas<\/td><\/tr><tr><td>2020-12-08<\/td><td>5<\/td><\/tr><tr><td>2020-12-09<\/td><td>2<\/td><\/tr><\/tbody><\/table><figcaption>La tabla preddiccion tendr\u00e1 este aspecto<\/figcaption><\/figure>\n\n\n\n<p>Programaremos un script en PHP para que compruebe si en el d\u00eda actual hay olas de mas de 4 metros y si es as\u00ed que envie un mensaje al canal.<br>Para esto necesitamos el id del canal que lo conseguimos mandando un mensaje al canal y ejecutando la consulta:<\/p>\n\n\n\n<p> https:\/\/api.telegram.org:443\/bot&lt;TOKEN&gt;\/getUpdates <\/p>\n\n\n\n<p>Tambi\u00e9n necesitamos el TOKEN que nos proporciona Telegram al crear el bot.<\/p>\n\n\n\n<p>Para ello crearemos dos funciones en PHP hayOlas() que comprobar\u00e1 si hay olas y en caso que superen los 4 metros se ejecutar\u00e1 la funci\u00f3n sendMessage() que recibir\u00e1 como parametros (id canal,textoMensaje) y enviar\u00e1 el mensaje.<br>Veamos el codigo<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?php\nfunction hayOlas(){\n\t\n\t$db=mysqli_connect($server,$user,$password,$database);\n\t$fecha=date('Y-m-d');\n\t$result=mysqli_query($db,\"SELECT alturaolas from prediccion where alturaolas> 4 and fecha='$fecha'\");\n\t$numeroFilas=mysqli_num_rows($result);\n\tif($numeroFilas==1){\n\t\t$texto=\"Hay olas de mas de 4 metros. \";\n\t\tsendMessage(&lt;ID_CANAL>,$texto);\n\t}\n}\n\n\nfunction sendMessage($chatId, $text) \n{\n  $TOKEN = \"&lt;NUESTRO_TOKEN>\";\n  $TELEGRAM = \"https:\/\/api.telegram.org:443\/bot$TOKEN\"; \n\n  $query = http_build_query(array(\n    'chat_id'=> $chatId,\n    'text'=> $text,\n    'parse_mode'=> \"Markdown\", \/\/ Optional: Markdown | HTML\n  ));\n\n  $response = file_get_contents(\"$TELEGRAM\/sendMessage?$query\");\n \n  return $response;\n}\n\nhayOlas();\n?>\n<\/pre>\n\n\n\n<p>Una vez escrito el script en PHP, necesitamos automatizar la tarea, para que todos los dias se ejecute el script y haga la comprobaci\u00f3n de si hay olas, por lo que es recomendable crear una tarea programada para ejecutarlo, por ejemplo con el CRON <\/p>\n\n\n\n<p><a href=\"https:\/\/www.proinf.net\/permalink\/programar_un_bot_de_telegram_usando_php\">Mas info<\/a><\/p>\n\n\n\n<p>En el canal DorniSoft de Telegram ya est\u00e1 activo este bot<br>Espero que te guste\u2026 \ud83d\ude09<\/p>\n","protected":false},"excerpt":{"rendered":"<p>En este articulo vamos a explicar como enviar mensajes a un canal de telegram con un bot. Primero hay que crear un bot e inclurlo en el canal. En este ejemplo vamos a enviar mensajes cuando las olas sean superiores a 4 metros por lo que tenemos una tabla (prediccion) mySQL con varias columnas una &hellip; <a href=\"https:\/\/dornisoft.es\/dorniblog\/bot-de-telegram-en-php\/\" class=\"more-link\">Continuar leyendo<span class=\"screen-reader-text\"> \u00abBot de Telegram en PHP\u00bb<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[29],"tags":[],"class_list":["post-1133","post","type-post","status-publish","format-standard","hentry","category-programacion"],"_links":{"self":[{"href":"https:\/\/dornisoft.es\/dorniblog\/wp-json\/wp\/v2\/posts\/1133","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dornisoft.es\/dorniblog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dornisoft.es\/dorniblog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dornisoft.es\/dorniblog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/dornisoft.es\/dorniblog\/wp-json\/wp\/v2\/comments?post=1133"}],"version-history":[{"count":5,"href":"https:\/\/dornisoft.es\/dorniblog\/wp-json\/wp\/v2\/posts\/1133\/revisions"}],"predecessor-version":[{"id":1284,"href":"https:\/\/dornisoft.es\/dorniblog\/wp-json\/wp\/v2\/posts\/1133\/revisions\/1284"}],"wp:attachment":[{"href":"https:\/\/dornisoft.es\/dorniblog\/wp-json\/wp\/v2\/media?parent=1133"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dornisoft.es\/dorniblog\/wp-json\/wp\/v2\/categories?post=1133"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dornisoft.es\/dorniblog\/wp-json\/wp\/v2\/tags?post=1133"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}