Enviando mensagens no Telegram via Elipse E3/Elipse Power.

Este artigo ensina como configurar e efetuar o envio de mensagens do aplicativo Telegram via uma aplicação Elipse E3/Elipse Power.

Pré-Requisitos:

Para enviar mensagens no Telegram utilizando uma aplicação do Elipse E3 ou Elipse Power, será necessário:

  • Instalar e criar uma conta no Telegram.
  • Criar um bot no Telegram, que servirá como conta para enviar as mensagens pelo E3/Power.
  • Identificar o API/Token e o ChatID para envio das mensagens.
  • Utilizar o driver Elipse VBScript e um código JSON para o envio das mensagens.

Introdução:

1. Uma vez que o Telegram já tenha sido instalado e configurado em seu smartphone, comece uma conversa com @BotFather:

 

2. Clique em Start acima do seu teclado, e assim que as opções forem abertas, clique ou escreva “/newbot”:

 

3. Logo após, crie um nome para o seu bot:

NOTA: Este username deve conter a palavra “bot”; por exemplo: ElipseSoftwareBOT ou ElipseSoftware_BOT

4. A mensagem então enviada contém duas informações importantes: o link para abrir o chat com o bot, e a API/token que identifica quem envia a mensagem. Copie este token para utilizá-lo no próximo passo.

Iniciando a conversa:

1. Acesse o link anterior para criar uma conversa com o bot criado; logo depois, clique em Start e envie uma mensagem qualquer (isto é necessário para vermos o ID do chat):

2. Acesse um browser e então utilize o link abaixo, alterando o token riscado pelo token que você copiou na seção anterior; com isso você irá acessar uma página onde poderá coletar várias informações, entre elas o número do ChatID aberto e a mensagem recebida:

https://api.telegram.org/bot743025931:AAF_JgmU-WCM13Mk5avBGn0cNVTNBcB0y_8/GETupdates


3. Copie o ChatID para utilizá-lo futuramente no envio de mensagens pelo Elipse E3/Power.

 

Utilizando o Telegram com o Elipse E3/Elipse Power:

1. No Elipse E3/Power, iremos utilizar o driver VBScript com a estrutura JSON,  acrescentando as linhas abaixo:

Dim vChatID, vText, vToken
Sub OnWrite_ChatID(r, v)
vChatID= v.Value
End Sub
Sub OnWrite_Text(r, v)
vText = v.Value
End Sub
Sub OnWrite_Token(r, v)
vToken = v.Value
End Sub
Sub OnWrite_SendMsg(r, v)
URL = "https://api.telegram.org/bot"&vToken&"/SendMessage?chat_id=" & vChatID & "&text=" & vText
Dim oJsonParser
Set oJsonParser = new aspJSON 'Creates aspJSON object 
oJsonParser.LoadJSON(URL)
End Sub

Código JSON: Class_asp_JSON.txt

2. Para mais detalhes sobre o código JSON, acesse o artigo Consumindo e enviando dados de um Webservice que utiliza o formato JSON.

3. Então, crie quatro tags no Driver e configure-os através da coluna Item (propriedade ParamItem) e Leituras desabilitadas (propriedade AllowRead):

Tags Parametrizados

4. Finalmente, escreva nos tags as informações de Token, ChatID e o Text a serem enviadas; logo após, escreva qualquer valor no tag SendMsg.

Anexos:

ExTelegram.zip

 

Print Friendly, PDF & Email

Este artigo foi útil? Was this helpful?

Classificação média - Average rating 0 / 5. Count: 0

Thoughts on “Enviando mensagens no Telegram via Elipse E3/Elipse Power.

  1. Boa tarde, estou lidando com a seguinte situação:
    Segui a risca todas as instruções acima, porém não funcionou. Habilitei o log do driver e identifiquei que estava ocorrendo um erro envolvendo o certificado de segurança. Para que fosse ignorado qualquer erro relacionado a certificado de segurança acrecentei a seguinte linha de código conforme abaixo :
    Set aj_XmlHttp = CreateObject(“MSXML2.ServerXMLHTTP”)
    aj_XmlHttp.SetOption(2) = 13056 —Acrescentado por mim——

    Funcionou.

    Meses depois, a aplicação parou de funcionar. O erro mostrado no log é:

    26/10/2020 15:41:46.905 (4C60) DRIVER ERROR: msxml3.dll (line 56, col 5): A security error occurred

    26/10/2020 15:41:46.906 (4C60) DRIVER Run ‘OnWrite_SendMsg’: failed (80020101)
    26/10/2020 15:41:46.906 (4C60) TAG ==> (0.511) Tag(‘SendMsg’).WriteValue (15:41:46.394) 1 = ERROR (hr=80020101)

    A linha 56 col 5 do código consiste em:
    aj_XmlHttp.Send

    Poderia me ajudar a resolver este erro?

    Grato.

  2. Olá Williams,
    Poderia enviar o log contendo o erro para gabriel@elipse.com.br.

    A causa do erro é devida a um erro de segurança ao acessar a msxml3.dll. Esta DLL pertence ao Windows, e é utilizando no Script ao criar o objeto “aj_XmlHttp”:

    Set aj_XmlHttp = CreateObject(“MSXML2.ServerXMLHTTP”)
    aj_XmlHttp.SetOption(2) = 13056
    aj_XmlHttp.open “GET”, inputsource, false
    aj_XmlHttp.setRequestHeader “Content-Type”, “application/json”
    aj_XmlHttp.setRequestHeader “CharSet”, “UTF-8”
    aj_XmlHttp.Send

    Abaixo segue um artigo com possíveis correções:
    Exefiles | Corrigir erros de DLL do Msxml3.dll e baixar agora

    Segue também artigo oficial da MS, sobre esta biblioteca:
    MS | Lista de versões do analisador Microsoft XML (MSXML)

    1. Boa tarde, Gabriel. Poderia me ajudar, por favor.
      Baixei o exemplo disponibilizado e não obtive sucesso em mandar mensagem. Aparece o seguinte nos logs.

      16/02/2024 13:47:15.497 (1CC8) DRIVER – 17 parameters with value = 0 were omitted
      16/02/2024 13:47:15.497 (1CC8) DRIVER drvSetStatus(‘LOG’) = ON
      16/02/2024 13:47:15.499 (1CC8) DRIVER drvGetStatus(‘LOGFILE’) = ‘C:\eeLogs\VBScriptDriver_%DATE%.log’
      16/02/2024 13:47:15.499 (1CC8) DRIVER drvGetStatus(‘LOG’) = 1 (ON)
      16/02/2024 13:47:39.737 (42B4) DRIVER ERROR: msxml3.dll (line 55, col 5): O tempo limite da operação foi atingido

      16/02/2024 13:47:39.738 (42B4) DRIVER Run ‘OnWrite_SendMsg’: failed (80020101)
      16/02/2024 13:47:39.738 (42B4) TAG ==> (21.234) Tag(‘SendMsg’).WriteValue (13:47:18.503) 1 = ERROR (hr=80020101)
      16/02/2024 13:48:38.489 (42B4) DRIVER ERROR: msxml3.dll (line 55, col 5): O tempo limite da operação foi atingido

      Sabe qual a solução para esse problema?

    1. Insira esta autenticação no cabeçalho do pedido na classe JSON, por exemplo:
      objXmlHttpMain.setRequestHeader “Authorization”, “Bearer < api secret id >“

  3. Eu sei que minha pergunta deve ser muito besta, mais estou em um grupo do Telegram ontem eu tenho que pegar “SENHA” tem como eu fazer
    Com o que eu pegue sempre a semha 1 no horário estipulado pelo grupo?

Leave a Reply

Your email address will not be published.Required fields are marked *