Diskussion zum Artikel "Die Erstellung des Bots für Telegram in der Sprache MQL5" - Seite 52
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Es gab keinen Code, als ich antwortete, ich sehe, dass Sie die bot.SendMessage mit einer Funktion ersetzen können, die die Nachricht zu einer Burst-Liste hinzufügt. Man könnte auch die Nachricht weiter wachsen lassen und sie aus der Schleife heraus senden, aber man würde dort auf Zeichenbeschränkungen stoßen.
Ein kurzes Schema könnte wie folgt aussehen:
Vielen Dank für Ihre Antwort, ich werde Ihren Weg ausprobieren.
Hallo!
Zum Beispiel für fette Schrift müssen Sie das Senden von HTML in Telegram.mqh aktivieren.
Und dann Text im <b>-Tag senden.
Macht nichts....
Ich habe die Antwort gefunden, indem ich das AsHTML-Flag auf true gesetzt habe...
bot.SendMessage(InpTelegramId,"<b>Balance: $10056.21</b>",true);
Sorry...
Hallo, können Sie den Code teilen, wie man das macht? Ich bin auch auf der Suche nach dem Code, um den Text fett und kursiv zu machen und an den Telegrammserver zu senden.
.
Roman, wenn Sie den Bot nur zum Senden von Screenshots benötigen, können Sie es so machen:
1. Fragen Sie den @MyTelegramID_bot nach Ihrer Chat-Nummer.
2. Schreiben Sie einen einfachen Bot, der nach neuen Artikeln sucht und Bilder an den Chat mit der angegebenen ID sendet. Ein Beispiel ist:
//+------------------------------------------------------------------+
//| Eingabeparameter|
//+------------------------------------------------------------------+
input ENUM_LANGUAGES InpLanguage=LANGUAGE_EN;//Sprache
input string InpToken="";//Token
input long ChatId=0; //Chat-ID
//---
CCustomBot bot;
int pos_count;
//+------------------------------------------------------------------+
int OnInit()
{
bot.Token(InpToken);
int res=bot.GetMe();
if(res!=0)
{
Print(GetErrorDescription(res));
}
pos_count=PositionCount(_Symbol);
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
void OnTick()
{
int pos_count_new=PositionCount(_Symbol);
if(pos_count_new>pos_count)
{
pos_count=pos_count_new;
int result=SendScreenShot(ChatId,_Symbol,0,NULL);
if(result!=0)
Print(GetErrorDescription(result,InpLanguage));
}
}
//+------------------------------------------------------------------+
int PositionCount(const string _symbol)
{
int count=0;
int orders_total=OrdersTotal();
for(int i=0; i<orders_total; i++)
{
if(!OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
{
PrintError(ERR_ORDER_SELECT);
return(-1);
}
//---
if(_symbol==NULL || OrderSymbol()==_symbol)
count++;
}
//---
return(count);
}
//+------------------------------------------------------------------+
int SendScreenShot(const long _chat_id,
const string _symbol,
const ENUM_TIMEFRAMES _period,
const string _template=NULL)
{
int result=0;
long chart_id=ChartOpen(_symbol,_period);
if(chart_id==0)
return(ERR_CHART_NOT_FOUND);
ChartSetInteger(ChartID(),CHART_BRING_TO_TOP,true);
//--- Diagramm aktualisieren
int wait=60;
while(--wait>0)
{
if(SeriesInfoInteger(_symbol,_period,SERIES_SYNCHRONIZED))
break;
Sleep(500);
}
if(_template!=NULL)
if(!ChartApplyTemplate(chart_id,_template))
PrintError(_LastError,InpLanguage);
ChartRedraw(chart_id);
Sleep(500);
ChartSetInteger(chart_id,CHART_SHOW_GRID,false);
ChartSetInteger(chart_id,CHART_SHOW_PERIOD_SEP,false);
string filename=StringFormat("%s%d.gif",_symbol,_period);
if(FileIsExist(filename))
FileDelete(filename);
ChartRedraw(chart_id);
Sleep(100);
// if(ChartScreenShot(chart_id,filename,800,600,ALIGN_RIGHT))
if(ChartScreenShot(chart_id,filename,1024,768,ALIGN_RIGHT))
{
Sleep(100);
bot.SendChatAction(_chat_id,ACTION_UPLOAD_PHOTO);
//--- 30 Sekunden warten, um Bildschirmfoto zu speichern
wait=60;
while(!FileIsExist(filename) && --wait>0)
Sleep(500);
//---
string screen_id;
result=bot.SendPhoto(_chat_id,filename,screen_id,_symbol+"_"+StringSubstr(EnumToString(_period),7));
}
ChartClose(chart_id);
return(result);
}
//+------------------------------------------------------------------+
Hallo zusammen,
Ich versuche, eine Nachricht von MT5 zu Telegram mit einem Bot zu senden. Allerdings konnte ich die Nachricht nicht von MT5 an Telegram senden, weil der Fehler: Fehlercode 400 Beschreibung "Bad request: chat not found"
Ist jemand auf das gleiche Problem gestoßen? Können Sie einige Gründe nennen, warum dieser Fehler aufgetreten sein könnte?
Ich habe viel online recherchiert, aber ich konnte keine richtigen Antworten finden.
Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien
Hinzufügen von Emoji in Telegram-Nachrichten.
Frédéric LEBRE, 2023.12.04 13:56
Hallo,
Könnten Sie mir bitte helfen.
Ich versuche, eine Nachricht an Telegram mit Emoji zu senden.
Wenn emoji unicode ist zum Beispiel: U+2702 ich als String-Wert " \x2702 " und wenn funktioniert.
SendTelegramMessage(TelegramApiUrl, TelegramBotToken, ChatId, "\x2702");
Aber wenn der Unicode wie folgt lautet : U+1F648 funktioniert nichts.
Ich habe <Telegram.mqh> eingefügt, wie ich in den Themen gelesen habe, aber ich weiß nicht, wie ich mehr tun kann.
Vielen Dank für Ihre Antworten.
Ich fand, wie es zu tun, wenn jemand interessiert ist, bitte fragen Sie mich).
Ich habe herausgefunden, wie man das macht, wer Interesse hat, kann fragen)
Ihr könntet es einfach aufschreiben. So dass andere nicht nach Ihnen suchen und fragen müssen.