Discussão do artigo "Como criar bots para Telegram em MQL5" - página 43

 
Mohammadreza Azarnia:

Olá, pessoal, executei 10 Experts e obtive esse erro em todos eles

Como corrigir esse erro?


{"ok":false, "error_code":409, "description": "Conflito: encerrado por outra solicitação getUpdates; certifique-se de que apenas uma instância do bot esteja em execução"}

Não use 10 especialistas. Faça todas as solicitações de um único EA.

 
Jefferson Metha:
Sim, é possível,
1. Verificar o saldo atual
2. Verificar o lucro diário (tanto os ganhos quanto as perdas)
3. Subtraia do saldo atual e obtenha o saldo inicial diário
4. Daily_Profit/daily_initial (lucro diário/inicial diário), o que dá a fração que, se multiplicada por 100, resulta na porcentagem.
Sim, Jeff, você entendeu o que eu preciso LOL
 
Ajude-me a resolver o problema. Não sou programador e não entendo o que está errado. Copiei o código para o teste e ele nem sequer compila
Arquivos anexados:
 

Olá, recebi um erro de

2021.06.14 00:40:50.703 TelegramAlertMT4_MAsignal XNGUSD,M15: {"ok":false, "error_code":400, "description": "Bad Request: chat not found"}

Testei o token, o nome do canal, o ID do chat e todos estão funcionando se eu estiver usando o link http, ou seja, https://api.telegram.org/botTOKEN/sendMessage?chat_id=1220568658&text=my%20sample%20text

O que pode estar errado, por favor?

É claro que também adicionei o webrequest aqui, embora eu deva dizer que o comentário imprime esse erro, mas não o vejo na mensagem dos especialistas no terminal.


 
luckyvictor:

Olá, recebi um erro de

2021.06.14 00:40:50.703 TelegramAlertMT4_MAsignal XNGUSD,M15: {"ok":false, "error_code":400, "description": "Bad Request: chat not found"}

Testei o token, o nome do canal, o ID do chat e todos estão funcionando se eu estiver usando o link http, ou seja, https://api.telegram.org/botTOKEN/sendMessage?chat_id=1220568658&text=my%20sample%20text

O que pode estar errado, por favor?

É claro que também adicionei o webrequest aqui, embora eu deva dizer que o comentário imprime esse erro, mas não o vejo na mensagem dos especialistas no terminal.


Olá, tive o mesmo problema que você.

Copie este código e tudo ficará bem.

Encontre a função SendMessage em Telegram.mqh e cole o código abaixo.

Se você comparar o código, saberá qual era o problema.

   int SendMessage(const string _channel_name,
                   const string _text,
                   const bool   _as_HTML=false,
                   const bool   _silently=false)
     {
      //--- verificar token
      if(m_token==NULL)
         return(ERR_TOKEN_ISEMPTY);

      /*string name=StringTrim(_channel_name);
 if(StringGetCharacter(name,0)!='-')
 name="-"+name;*/

      string out;
      string url=StringFormat("%s/bot%s/sendMessage",TELEGRAM_BASE_URL,m_token);
      string params=StringFormat("chat_id=%s&text=%s",_channel_name,UrlEncode(_text));
      if(_as_HTML)
         params+="&parse_mode=HTML";
      if(_silently)
         params+="&disable_notification=true";
      // Print(params);
      int res=PostRequest(out,url,params,WEB_TIMEOUT);
      return(res);
     }
 
Soroosh Davoodi:

Olá, tive o mesmo problema que você.

Copie este código e tudo ficará bem.

Localize a função SendMessage em Telegram.mqh e cole o código abaixo.

Se você comparar o código, saberá qual era o problema.

Se estiver usando um computador, use Alt+S para publicar seu código ou, se estiver usando um celular, vá para o site do computador, selecione a ferramenta de código e cole seu código.
 
Soroosh Davoodi:

Olá, tive o mesmo problema que você.

Copie este código e tudo ficará bem.

Localize a função SendMessage em Telegram.mqh e cole o código abaixo.

Se você comparar o código, saberá qual era o problema.

Funciona! Muito obrigado, obrigado mesmo!

 
Olá.

Como faço para enviar uma captura de tela para um canal.

Observei que a função SendMessage() tem duas variantes: uma que recebe o ChannelName e outra que recebe o ID do chat.

No entanto, a função SendScreenshot () recebe apenas o ID do chat.
 

Olá a todos!!!
Por favor, alguém pode me ajudar?

Meu script sempre mostra o mesmo modelo, não importa qual opção, sempre mostra o primeiro, "padrão"

 

Hi

O trabalho é realmente excelente

só uma pergunta: quando eu envio uma mensagem de resposta no bot do telegram, recebo apenas o novo texto e não o texto de resposta?

Como eu poderia ter o texto mencionado também?