Script para enviar mensagem ao Telegram sem uso de drivers

Dim token, chatId, message
token = 'Informe o Token
chatId = 'Informe o ChatId
message = 'Informe a Mensagem

Dim url, xmlhttp, payload, json

url = “https://api.telegram.org/bot” & token & “/sendMessage”
payload = “{”“chat_id”":""" & chatId & “”","“text”":""" & message & “”","“parse_mode”":"“Markdown”"}"

Set xmlhttp = CreateObject(“MSXML2.ServerXMLHTTP.6.0”)
xmlhttp.Open “POST”, url, False
xmlhttp.setRequestHeader “Content-Type”, “application/json”
xmlhttp.Send payload

If xmlhttp.Status = 200 Then
Mensagem enviada com sucesso
json = xmlhttp.responseText
MsgBox "Mensagem enviada: " & json
Else
Erro ao enviar a mensagem
MsgBox "Erro ao enviar mensagem: " & xmlhttp.statusText
End If

Set xmlhttp = Nothing
Set xmlhttp = Nothing

2 Likes

Olá

Rodrigo, esse script funcionou?

Sim, lembrando que você precisa informar o token, chat ID e a mensagem que deseja enviar.

Olá Rodrigo, saberia informar como alterar esse codigo para fazer o processo contrario? isso é, ler as ultimas mensagens recebidas pelo bot do telegram?

Para ler as últimas mensagens recebidas pelo bot no Telegram, você pode utilizar a API do Telegram para acessar as atualizações (updates) que o bot recebe. Aqui está um exemplo básico de como você pode modificar o código para obter as mensagens recebidas em vez de enviar mensagens.

De forma resumida, pode usar este script, vai retornar todas as mensagens, então você pode tratar conforme sua necessidade:

Dim token, url, xmlhttp, responseText

token = 'Informe o Token
url = “https://api.telegram.org/bot” & token & “/getUpdates”

Set xmlhttp = CreateObject(“MSXML2.ServerXMLHTTP.6.0”)
xmlhttp.Open “GET”, url, False
xmlhttp.Send

Value = xmlhttp.responseText

Set xmlhttp = Nothing

Caso queira enviar um anexo em pdf, segue script testado.

Dim token, chatId, filePath, command
token = 'Informe o Token
chatId = 'Informe o ChatId
filePath = “C:\Treinamento\Driver\Mprot\MProt_br.pdf” 'Digite o caminho do arquivo

command = “curl -X POST ““https://api.telegram.org/bot” & token & “/sendDocument”” -F chat_id=” & chatId & " -F document=@" & filePath

Dim shell
Set shell = CreateObject(“WScript.Shell”)
shell.Run command, 0, True
Set shell = Nothing