Diskussion zum Artikel "Die Erstellung des Bots für Telegram in der Sprache MQL5" - Seite 3

 

Andrey, danke für den Artikel!

Können Sie mir sagen, wie man das Senden von Nachrichten an einen Bot im einfachsten Modus - private Chats - implementiert.

Es wäre möglich, Nachrichten an einen bestimmten Bot über SendMessage() zu senden.

Ich habe eine solche Implementierung in einer anderen Plattform, jetzt bin ich zu mt5 bewegen und ich möchte alles in einer ähnlichen Weise zu tun.

In Telegram:

- Über @BotFather einen Bot erstellt und ein Token erhalten.

- Mit @MyTelegramID_bot habe ich meine ID herausgefunden.

Mit dieser Token/ID-Kombination werden Nachrichten an den Bot gesendet.

Ich habe mehrere Bots erstellt, einer erhält Logs, ein anderer erhält kritische Fehler, der dritte erhält Informationen über Transaktionen. Einfach und bequem.

 
Artem Voytenko:

Sagen Sie mir, wie man das Senden von Nachrichten an Bot im einfachsten Modus - private Chats - implementiert.

In Telegram:

- Über @BotFather habe ich einen Bot erstellt und ein Token erhalten.

- Durch @MyTelegramID_bot habe ich meine ID herausgefunden.

Mit Hilfe dieser Token/ID-Zuordnung werden die Nachrichten an den Bot gesendet.

Ihre Aufgabe kann auf folgende Weise gelöst werden:

#include <Telegram.mqh>
CCustomBot bot;
//+------------------------------------------------------------------+
void OnStart()
  {
   bot.Token("44444444:BAEBtZLrOnLW5IxkQaYsNxA5iQimPNEMfRk"); //Zeichen setzen
   bot.SendMessage(1111111,"your text"); //1111111 - dies ist Ihre ID
  }
//+------------------------------------------------------------------+
 
Andrey Voytenko:

So kann Ihr Problem gelöst werden:

Herzlichen Dank! Es hat funktioniert! Ich habe meine ID als Begriff an SendMessage übergeben und deshalb hat es nicht funktioniert)

 
Wie kann ich Trades von meinem MT4 an ein benutzerdefiniertes PHP senden?
 
Tatu Francis:
Wie kann ich Trades von meinem MT4 an ein benutzerdefiniertes PHP senden?
Das ist ganz einfach. Verwenden Sie die FunktionWebRequest.
 

Andrew, hier ist ein weiteres Problem.

Ich habe eine Datei ExpertHelper.mqh.

In die ich meine Funktionen schreibe. Dann binde ich sie in den Expert Advisor ein und verwende diese Funktionen.

Im Falle von Fehlern und Benachrichtigungen verwende ich ähnliche Konstrukte Print("Fehler in Funktion ",__FUNCTION__);

Aber wie kann ich von Print wegkommen und Telegramme in Funktionen innerhalb der ExpertHelper.mqh-Datei verwenden?

Was würde die Druckzeichenfolge tatsächlich in bot.SendMessage(1111111, "Fehler in Funktion "+__FUNCTION__) verwandeln;

Ich kann Telegram.mqh nicht in die mqh-Datei einbinden, eine Instanz erstellen und sie dann über OnStart/OnInit einschalten, oder?

 

Artem Voytenko:

Ich kann Telegram.mqh nicht in die mqh-Datei einbinden, eine Instanz erstellen und diese dann über OnStart/OnInit aktivieren, oder?

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

#include <Telegram.mqh>
CCustomBot bot;

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

if(error)
{
 bot.SendMessage(1111111,"Fehler in der Funktion "+__FUNCTION__);
}

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

bot.Token("44444444:BAEBtZLrOnLW5IxkQaYsNxA5iQimPNEMfRk");
 
Andrey Voytenko:
Andrew, ich danke dir vielmals! Es hat geklappt!
 

Wie kann ich die Funktion in der Klasse in OnCalculate aufrufen? um einen Screenshot zu senden, wenn ich zum Beispiel eine Schaltfläche benötige

Dankeschön

 

Hallo, nach der Ausführung von getme_result=bot.GetMe() gibt es 4014. Aber durch die Abfrage im Browser gibt es{"ok":true, "result":{"id":262104403, "first_name": "InvestorBOT", "username": "investorinfo_bot"}}

Können Sie mir sagen, was das Problem ist?

Korrigiert: Es war notwendig, https://api.telegram.org in die Liste der zulässigen URLs aufzunehmen.