Обсуждение статьи "Создание бота для Telegram на языке MQL5" - страница 3

 

Андрей, спасибо за статью!

Скажите, а как реализовать отправку сообщений боту в самом простом режиме - приватные чаты.

Что бы через SendMessage() отправлять сообщения на конкретного бота.

 

У меня в другой платформе так реализовано, сейчас перехожу на мт5 и хочу все похожим образом сделать.

 

В телеграме:

- через @BotFather создал бота и получил токен.

- через @MyTelegramID_bot узнал свой ID.

 

С помощью этой связки token/ID отправляются сообщения на бота.

Создано несколько ботов, один получает логи, другой критические ошибки, третий информацию по сделкам. Просто и удобно.

 
Artem Voytenko:

Скажите, а как реализовать отправку сообщений боту в самом простом режиме - приватные чаты.

В телеграме:

- через @BotFather создал бота и получил токен.

- через @MyTelegramID_bot узнал свой ID.

С помощью этой связки token/ID отправляются сообщения на бота.

Вашу задачу можно решить так:

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

Вашу задачу можно решить так:

 Спасибо огромное! Получилось! Я ID свой в виде сроки передавал в SendMessage вот и не работало )

 
Как я могу отправлять сделки из моего MT4 на пользовательский PHP
 
Tatu Francis:
Как я могу отправлять сделки из MT4 на пользовательский PHP
Это очень просто. Используйте функциюWebRequest.
 

Андрей, еще вот такая проблема.

 

У меня есть файл ExpertHelper.mqh

В котором я пишу свои функции. Потом подключаю его в эксперте и использую эти функции.

В функциях в случае ошибок и каких либо уведомлений использую подобные конструкции Print("Ошибка в функции ",__FUNCTION__);

А вот как мне уйти от print и использовать телеграм в функциях внутри файла ExpertHelper.mqh?

Что бы строка print превратилась фактически в  bot.SendMessage(1111111,"Ошибка в функции "+__FUNCTION__);

 

 Я ведь не могу в mqh файле подключить Telegram.mqh, создать экземпляр и затем через OnStart/OnInit его включить?

 

Artem Voytenko:

Я ведь не могу в mqh файле подключить Telegram.mqh, создать экземпляр и затем через OnStart/OnInit его включить?

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

#include <Telegram.mqh>
CCustomBot bot;

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

if(error)
{
 bot.SendMessage(1111111,"Ошибка в функции "+__FUNCTION__);
}

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

bot.Token("44444444:BAEBtZLrOnLW5IxkQaYsNxA5iQimPNEMfRk");
 
Andrey Voytenko:
Андрей, спасибо огромное! Все получилось!
 

Как я могу вызвать функцию в классе в OnCalculate? Чтобы отправить скриншот, когда мне нужно с кнопкой, например.

Спасибо

 

Здравствуйте, после выполнения getme_result=bot.GetMe() выдает 4014. Но через запрос в браузере выводит{"ok":true,"result":{"id":262104403,"first_name":"InvestorBOT","username":"investorinfo_bot"}}

Подскажите в чем проблема? 

Исправлено: Необходимо было добавить https://api.telegram.org в список разрешенных URL