Discusión sobre el artículo "Cómo crear un bot para Telegram en el lenguaje MQL5" - página 3

 

Andrey, ¡gracias por el artículo!

¿Puedes decirme cómo implementar el envío de mensajes a un bot en el modo más simple - chats privados.

Sería posible enviar mensajes a un bot específico a través de SendMessage().

Tengo tal implementación en otra plataforma, ahora me estoy moviendo a mt5 y quiero hacer todo de una manera similar.

En Telegram

- A través de @BotFather creado un bot y recibido un token.

- Usando @MyTelegramID_bot averigüé mi ID.

Usando esta combinación token/ID, se envían mensajes al bot.

Se crean varios bots, uno recibe logs, otro recibe errores críticos, el tercero recibe información sobre transacciones. Sencillo y cómodo.

 
Artem Voytenko:

Dime, cómo implementar el envío de mensajes a bot en el modo más simple - chats privados.

En telegrama:

- a través de @BotFather creado un bot y recibió un token.

- A través de @MyTelegramID_bot descubrí mi ID.

Con la ayuda de este mapeo token/ID, los mensajes se envían al bot.

Su tarea se puede resolver de la siguiente manera:

#include <Telegram.mqh>
CCustomBot bot;
//+------------------------------------------------------------------+
void OnStart()
  {
   bot.Token("44444444:BAEBtZLrOnLW5IxkQaYsNxA5iQimPNEMfRk"); //set token
   bot.SendMessage(1111111,"your text"); //1111111 - este es tu ID
  }
//+------------------------------------------------------------------+
 
Andrey Voytenko:

Su problema puede resolverse así:

¡Muchas gracias! ¡Funcionó! Estaba pasando mi ID como término a SendMessage y por eso no funcionaba )

 
¿Cómo puedo enviar operaciones desde mi MT4 a un PHP personalizado?
 
Tatu Francis:
¿Cómo puedo enviar operaciones desde mi MT4 a un PHP personalizado?
Es muy fácil. Utilice la funciónWebRequest.
 

Andrew, aquí hay otro problema.

Tengo un archivo ExpertHelper.mqh.

En el que escribo mis funciones. Luego lo conecto en el Asesor Experto y uso estas funciones.

En caso de errores y notificaciones que uso construcciones similares Print("Error en la función ",__FUNCTION__);

Pero, ¿cómo puedo escapar de la impresión y el uso de telegrama en funciones dentro de la ExpertHelper.mqh archivo?

¿Qué haría que la cadena de impresión en realidad se convierten en bot.SendMessage(1111111, "Error en la función "+__FUNCTION__);

No puedo conectar Telegram.mqh en el archivo mqh, crear una instancia y luego encenderla a través de OnStart/OnInit, ¿puedo?

 

Artem Voytenko:

No puedo conectar Telegram.mqh en el archivo mqh, crear una instancia y luego habilitarla a través de OnStart/OnInit, ¿verdad?

1.Внутри вашего хэдера ExpertHelper.mqh пишем

#include <Telegram.mqh>
CCustomBot bot;

2.Внутри ваших функций в случае ошибки делаем

if(error)
{
 bot.SendMessage(1111111,"Error en la función "+__FUNCTION__);
}

3.В эксперте в OnInit указываем

bot.Token("44444444:BAEBtZLrOnLW5IxkQaYsNxA5iQimPNEMfRk");
 
Andrey Voytenko:
Andrew, ¡muchas gracias! ¡Ha funcionado!
 

¿Cómo puedo llamar a la función en la clase en OnCalculate? para enviar captura de pantalla cuando necesito con un botón, por ejemplo

Gracias

 

Hola, después de ejecutar getme_result=bot.GetMe() da 4014. Pero a través de la consulta en el navegador que da como resultado{"ok":true, "result":{"id":262104403, "first_name": "InvestorBOT", "username": "investorinfo_bot"}}

¿Puede decirme cuál es el problema?

Corregido: Era necesario añadir https://api.telegram.org a la lista de URLs permitidas