ERROR Services.TelegramMessenger.TelegramMessengerClient

  • Hallo zusammen,

    gibt es hierfür mittlerweile eine Lösung? Ich hatte bereits in einem anderen Beitrag geschrieben, dass sich unsere Datenbank alle paar Tage soweit vergrößert, dass der PC sich aufhängt und nur noch über den Stromschalter neugestartet werden kann.

    Genau die genannte Fehlermeldung kommt bei uns seit Monaten auch alle paar Sekunden und müllt den kompletten Log zu.

    Zitat

    TelegramBot GetUpdatesError => System.Exception: Eine Ausnahme vom Typ "System.Exception" wurde ausgelöst.

    bei NetTelebot.TelegramBotClient.GetUpdatesInternal(Nullable`1 offset, Nullable`1 limit)

    bei NetTelebot.TelegramBotClient.GetUpdates(Int32 offset)

    bei NetTelebot.TelegramBotClient.updateTimer_Callback(Object state):

    Wir konnten auch beobachten, dass dies Auswirkungen auf die Nutzung von Telegram hat. Wenn jemand auf eine Schaltfläche in Telegram drückt (z. B. "Komme") und der EM in der Zeit die Meldung ausspuckt, wird die Aktion des Users vom EM nicht empfangen und daher auch nicht verarbeitet. Da die Meldung aber alle paar Sekunden kommt, ist die Wahrscheinlichkeit sehr hoch, dass der Befehl nicht übertragen wird.

    Der Tipp, Telegram zu deaktivieren und neuzustarten, funktioniert. Jedoch tritt der Fehler dann nach ein paar Stunden, spätestens nach ein paar Tagen wieder auf. Wenn etwas an den Benutzern/Gruppen geändert wird, tritt der Fehler sofort und reproduzierbar wieder auf. Wir müssen also nach jeder Änderung dort Telegram deaktivieren, EM neustarten, Telegram aktivieren und erneut den EM neustarten.

    Vielleicht hat ja noch jemand eine Idee.

    Viele Grüße

    Marius

    • Offizieller Beitrag

    Ich hatte für uns schon einen neuen Telegram client ausprobiert - kann aber gut sein, dass wir dadurch die Buttons verlieren um mit dem Bot zu interagieren

  • Hallo Zusammen,

    gibt es zu dem Thema schon etwas neues?

    Sven gibt es evtl. die Möglichkeit vorübergehend die Fehlermeldungen von Telegram im Log zu verstecken sodass man ggf. die eigentlichen Fehler sieht?

    Telegram müllt weiterhin das Logfile zu.

    Vielen Dank,

    MfG

    Peter

    schönen Gruß aus dem oberfränkischen idyllischen Dörfchen Priesendorf,

    Peter Jungkunz ;)

    • Offizieller Beitrag

    Kann mich meinem Vorredner nur anschließen, Telegram müllt das Log dermaßen voll... Wir nutzen zwar auch Connect, haben aber doch noch ein zwei Fälle in denen eine Telegram Nachricht ganz schick wäre. Soweit ich weiß ist Sven aber schon am schauen wie man das Problem beheben kann.

  • Habe auch Probleme mit der Telegram Alarmierung:

    Die Alarme gehen zwar, aber ich kann keine neuen Nutzer einfügen oder auch die Befehle im Bot wie das ? funktionieren nicht.

    Log Einträge:

    Zitat

    12.07.2019 14:19:29 ERROR Services.TelegramMessenger.TelegramMessengerClient TelegramBot GetUpdatesError => System.Exception: Conflict

    bei NetTelebot.TelegramBotClient.GetUpdatesInternal(Nullable`1 offset, Nullable`1 limit)

    bei NetTelebot.TelegramBotClient.GetUpdates()

    bei NetTelebot.TelegramBotClient.updateTimer_Callback(Object state):

    Weiss jemand Rat?

  • Niemand eine Idee?

    Habe mal probehalber einen neuen Bot angelegt. Mit dem funktioniert alles wie es soll.

    Aber ich möchte jetzt nicht das alle Benutzer auf den neuen Bot umstellen müßen....

    Gruss

    bk117

    • Offizieller Beitrag

    Wenn es mit einem neuen geht, liegt das Problem am Bot und nicht am EM.

    Hilfreiches: Dokumentation| Bugtracker

    Mail: info@feuersoftware.com | Tel: +49 6196 5255697

    Social Media: YouTube | Facebook

    Offizielle Supportanfragen bitte via Email oder Telefon.

    Die Community ist für euch ein Medium zum gegenseitigen austauschen. Ein guter Feedback Kanal für uns, sowie ein Platz für kleinere Fragen oder Problemen. Der Bugtracker dient uns zum Tracken von Problemen und Funktionswünschen aus der Community.

  • Ich wüsste jetzt nicht welcher Fehler an einem Bot vorliegen könnte, zumal man daran ja nichts verstellen kann o.ä. und er früher problemlos funktionierte. Einem Fachmann könnte ja vielleicht die Fehlermeldung aus dem Log was sagen...

  • Die Fehlermeldung aus dem Log hat nichts mit deinem blockierten Bot zu tun. (kosmetisches Problem)

    Prüfe, ob die Anfragen generell bei deinem Bot ankommen:

    1. Öffne folgende Url (ersetze vorher ##TOKENID## durch deinen Bot-Token)

    https://api.telegram.org/bot##TOKENID##/getUpdates

    Falls alle Anfragen an den Bot abgearbeitet sind bekommst du folgendes Ergebnis:

    Code
    {"ok":true,"result":[]}

    2. Schreibe eine Anfrage/Nachricht an den Bot Hallo, als letzte Zeile solltest du dann in etwa folgendes sehen

    Code
    {"ok":true,"result":[{"update_id":241554659,
    "message":{"message_id":363,"from":{"id":999999,"is_bot":false,"first_name":"Test","last_name":"Test","language_code":"de"},"chat":{"id":99999999,"first_name":"Test","last_name":"Test","type":"private"},"date":1563393054,"text":"Hallo"}}]}

    Ich gehe davon aus, dass bei dir eine Vielzahl von offenen Anfragen in der Ergebnismenge zurückkommen.

    Setze den Bot manuell auf die aktuellste Anfrage, in dem du den offset auf die letzte update_id im Ergebnis setzt:

    https://api.telegram.org/bot##TOKENID##/getUpdates?offset=##update_id##

    Anschließend sollte der Bot wieder funktionieren.

  • Hallo,

    Danke Markus, endlich mal ein verwetbarer Ansatz!

    Habs natürlich gleich ausprobiert. Das Gute zuerst: Es scheint wieder zu funktionieren.

    Allerdings etwas anders als du beschieben hast. Nach dem Aufrufen des Links aus deinem Punkt 1 bekam ich folgende Meldung:

    "can't use getUpdates method while webhook is active"

    Ich hab dann den Webhook damit gelöscht:

    https://api.telegram.org/bot<token>/deleteWebhook

    Bei deinem Punkt 2 bin ich dann leider schon nicht weitergekommen. Da mir nicht klar war/ist was du damit ganau meinst.

    Aber trotzdem scheint das löschen des Webhooks die Probleme gelöst zu haben. Ich kann zumindest jetzt wieder neue Leute aufnehmen.

    VIELEN DANK!

  • Sehr gut 👍 Gern geschehen.

    Der vollständigkeithalber auch die Erklärung noch für Schritt 2. Im 2. Code-Abschnitt nach update_id kommt eine Zahlenfolge.
    Die letzte update_id die du in deinem Ergebnis siehst verwendest du in der URL als Offset.
    Damit bewirkst du beim Aufruf dass alle vorherigen Botanfragen als erledigt markiert werden.

    (Jetzt wo es wieder geht, müsstest aber dein EM dafür auch stoppen)