Pues me ha interesado que desde la palma de mi mano «mi movil» tenga los resultados de distintos scripts que ya tengo programados. Que algunos se envian por mail, y otros acumulan en una hoja de excel.

Para conseguir eso he encontrado una parte de codigo que he adaptado a mi gusto «os dejo el original»

Para ello me baso en el resultado del script pasando a una variable. ¡¡¡IMPORTANTE!!! la salida siempre debera ser en string, si no telegram no sera capaz de leerla. Solucionable con un comodo y fácil |out-string

$mensaje = "Lo que querraisenviar" #Importante String
$BotKey = "$$$$"#Vuestro bot key
$ChatID = "$$$$" #Donde quereis que se envie (pueden ser varios)

function Send-TeleMessage([string] $BotKey , [array] $ChatIDs , [string] $Message)
{#Se cre la variable con la URL de la API que ejecuta el envío del mensaje
    $sendMsgLink = "https://api.telegram.org/bot$BotKey/sendMessage"
    #Se crea al bucle para cada elemento del Array
    foreach ($ID in $ChatIDs)
    {        
        try
        {#Se ejecuta el POST a la URL            
            $ExecuteInvokeWeb = Invoke-WebRequest -Uri "$sendMsgLink" -Method Post -ContentType "application/json;charset=utf-8" -Body (ConvertTo-Json -Compress -InputObject @{chat_id=$ID; text="$Message"}) -ErrorAction SilentlyContinue
            #Se recibe el resultado del POST
            $Status = (ConvertFrom-Json -InputObject $ExecuteInvokeWeb.Content)
            #Si el resultado, es ok, envia un mensaje satisfactorio, sino hace un catch del error y lo muestra.  
            if($Status.ok){Write-Host "El mensaje se envío correctamente al Chat ID : $ID (Type : $($Status.result.chat.type))" -ForegroundColor Green}
        }
        catch [Exception]
        {
            $exception = $_.Exception.ToString().Split(".")[2]
            Write-Host "Falló el envío del mensaje al Chat ID : $ID ($exception)" -ForegroundColor Red
        }
    }
}
#Se ejecuta la función con los parametros necesarios
Send-TeleMessage -BotKey $BotKey -ChatIDs $ChatID -Message $mensaje

Para saber donde esta vuestro ID de grupo/chat enviad un mensaje a vuestro Bot desde la ubicación y poneros en la pagina de la API

Espero que os sea de utilidad!



0 commentarios

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

A %d blogueros les gusta esto: