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

 
Andrey Kaunov:

Boa noite, colegas.

Vocês poderiam me dizer como adicionar smileys ao texto de uma mensagem?

Dê uma olhada no artigo, há uma resposta lá.

 
Obrigado, realmente existe. Algo que me escapou ))))
 

Boa tarde a todos!

O bot.SendMessage() não funciona no testador. Ninguém resolveu esse problema? Ficaria muito grato por um conselho))))

 
AMarkov:

Boa tarde a todos!

O bot.SendMessage() não funciona no testador. Ninguém resolveu esse problema? Ficaria muito grato por um conselho))))

WebRequest() não é executado no testador. Vá para wininet.dll

 
Andrey Khatimlianskii:

O WebRequest() não é executado no testador. Vá para wininet.dll

Não sei muito sobre essa tecnologia, mas tudo funciona com a versão 4 no testador (100%, eu a uso há muito tempo). Decidi reescrever para o 5 e há silêncio). Acho que são usados os mesmos arquivos mqh...
 
Andrey Khatimlianskii:

O WebRequest() não é executado no testador. Vá para wininet.dll

Na vida real, tudo funciona, mas no testador não.

Não encontrei onde essa biblioteca está declarada em 4 no meu sistema

 
Andrey Voytenko:

ok. Mas se estiver trabalhando com um canal privado, use a ID do canal, não o nome do canal.

Olá, pessoal! Olá Andrey, estou usando o sinal de telegrama EA há alguns meses, mas em um canal público. Agora estou tentando colocar em um canal privado e, lendo sobre isso aqui, parece que a configuração é diferente:

Você quer dizer:

- Em vez de colocar o nome do canal, coloco o ID do canal (obtive o ID do canal enviando uma mensagem de canal para o @getidsbot no telegrama, se alguém estiver se perguntando)


Assim?

//--- parâmetros de entrada
input string InpChannelName="1234567898763";//Channel Name (aqui eu mudei o nome do canal público para o ID do canal (porque o canal público agora é privado), isso está correto?)
input string InpToken="9999995551:AAGKxSgx45asdcvft9DSr0Yp7HB98klU1r0";//Token


Desde já: Obrigado, aprendi muito lendo este tópico aqui.

 
Joao Lucas Silva Penido:

Olá, pessoal! Olá Andrey, estou usando o EA de sinal de telegrama há alguns meses, mas em um canal público. Agora estou tentando colocar em um canal privado e, lendo sobre isso aqui, parece que a configuração é diferente:

Você quer dizer:

- Em vez de colocar o nome do canal, coloco o ID do canal (obtive o ID do canal enviando uma mensagem de canal para o @getidsbot no telegrama, se alguém estiver se perguntando)


Assim?


Com antecedência: Obrigado, aprendi muito lendo este tópico aqui.

O Telegram.mqh na linha 980 chama por:

int               SendMessage(const long    _chat_id,
                                 const string  _text,
                                 const string  _reply_markup=NULL,
                                 const bool    _as_HTML=false,
                                 const bool    _silently=false)

e na linha 1006 chama por:

int               SendMessage(const string _channel_name,
                                 const string _text,
                                 const bool   _as_HTML=false,
                                 const bool   _silently=false)

Para enviar uma mensagem para um canal privado, preciso definir o chat_id como um long, assim:

input long InpChatId= -(use h t t p s ://t.me/username_to_id_bot para obter seu ID de bate-papo privado); // ID de bate-papo privado

e use-o para transmitir para o telegrama

int res=bot.SendMessage(InpChatId,msg);
            if(res!=0)
               Print("Error: ",GetErrorDescription(res));

Caso contrário, não funcionará. Se alguém souber um código para identificar quando usamos uma string @publicChannelName ou um long -privateChannelName para transmitir de acordo, publique-o aqui!

 

oi

Eu adicionei o endereço "https://api.telegram.org" nas ferramentas do EA, mas ainda estou recebendo o erro de que a url não é permitida para webrequest.

Estou apenas tentando usar o exemplo de EA, que é o TelegramAlertMT4 de https://github.com/sholafalana/MT5-MT4-Telegram-API-Bot

Copiei os 4 arquivos do include para o include e colei o TelegramAlertMT4.mq4 na pasta do indicador, compilado sem nenhum erro.

Se eu o coloco na pasta EA e o executo, nunca recebo a carinha sorridente, mesmo que eu tenha ativado a negociação automática.

Muito obrigado

 
Boa tarde. Não há acesso à url da api do telegrama, erro 1001. A questão já foi levantada aqui, quem teve esse problema e conseguiu resolvê-lo, por favor, compartilhe comigo