Ankündigung

Einklappen
Keine Ankündigung bisher.

LBS19000303 - Telegram Contact I LBS19000304 - Telegram Receiver I LBS19000645 - Telegram Command Validator

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    #76
    Zitat von mac29 Beitrag anzeigen
    Vorab danke vielmals für diesen Baustein Telegram Receiver.

    Ich habe ein Problem nach dem Update auf V0.2, die Installation ist problemlos verlaufen, auber ich habe tausende gleiche Fehlereinträge im Log:

    2016-06-20 18:34:07 726982 ? 1779 Datei: /usr/local/edomi/main/include/php/php-telegram-bot/src/DB.php | Fehlercode: 2 | Zeile: 824 | PDOStatement::execute(): SQLSTATE[42S22]: Column not found: 1054 Unknown column 'forward_from_chat' in 'field list' ERROR
    2016-06-20 18:34:07 730292 ? 1779 Datei: /usr/local/edomi/main/include/php/php-telegram-bot/src/DB.php | Fehlercode: 2 | Zeile: 824 | PDOStatement::execute(): SQLSTATE[42S22]: Column not found: 1054 Unknown column 'forward_from_chat' in 'field list' ERROR
    2016-06-20 18:34:07 733745 ? 1779 Datei: /usr/local/edomi/main/include/php/php-telegram-bot/src/DB.php | Fehlercode: 2 | Zeile: 824 | PDOStatement::execute(): SQLSTATE[42S22]: Column not found: 1054 Unknown column 'forward_from_chat' in 'field list' ERROR

    Auch ein Löschen des php-telegram-bot und Neuinstallation hat nichts gebracht.

    Woran könnte dies liegen und wie kann ich das Problem lösen? Hat einer eine Idee?

    Gruss mac29
    Hast du die mysql DB wie in der Anleitung beschrieben gelöscht?

    > mysql -u root
    mysql> drop database LBS_19000304_Telegram
    mysql> exit

    Kommentar


      #77
      ja, genau so gemacht!
      Hier nochmals wie ich es gemacht habe (nachdem es das erste Mal nicht gegangen ist):
      1. Verzeichnis php-telegram-bot gelöscht
      2. Installation:
      yum install -y php-mbstring php-xml git wget
      cd /tmp
      wget --no-check-certificate https://getcomposer.org/installer
      php installer
      mv composer.phar /usr/local/bin/composer
      cd /usr/local/edomi/main/include/php
      git clone https://github.com/jonofe/php-telegram-bot
      cd php-telegram-bot
      3. DB gelöscht:
      > mysql -u root
      mysql> drop database LBS_19000304_Telegram
      mysql> exit

      > cd /usr/local/edomi/main/include/php/php-telegram-bot/
      > git pull

      Oder mache grundsätzlich was falsch?

      Kommentar


        #78
        grundsätzlich richtig.

        Bei dem Löschen der DB darfst du natürlich nicht den Kommandprompt ">" und "mysql>" miteingeben. Also nur das hier:


        mysql -u root
        drop database LBS_19000304_Telegram
        exit
        Gab es irgendwelche Fehlermeldungen?

        Ansonsten mach doch mal ein:

        mysql -u root
        show databases;
        use LBS_19000304_Telegram;
        show tables;
        Und poste mal den Output.

        Kommentar


          #79
          Zitat von fisch3009 Beitrag anzeigen
          Nach dem mein Telegram Contact wieder läuft, wollte ich mir jetzt gerne Statusnachrichten schicken.
          Die Nachricht zusammensetzen ist ja kein Ding, aber wie bekomme ich einen Zeilenumbruch hin ohne gleich zwei Nachrichten zu schicken?
          Gibt es vielleicht auch eine Möglichkeit die Nachricht zu formatieren (sowas wie bold und kursiv)?
          Neue Version des Telegram Contact LBS (v.0.2) ist jetzt verfügbar.
          Damit sind folgende Formatierungen möglich:
          • <b>bold</b>, <strong>bold</strong>
          • <i>italic</i>, <em>italic</em>
          • <a href="URL">inline URL</a>
          • <code>inline fixed-width code</code>
          • <pre>pre-formatted fixed-width code block</pre>
          • \n newline
          Zitat von fisch3009 Beitrag anzeigen
          Und wo wir gerade beim Komfort sind, unterstützt der Telegram Contact zufällig schon benutzerdefiniertes Keyboards oder sogar inline Keyboards, wenn nein, wo könnte man da ansetzen um das einzubauen?
          In welchem Zusammenhang? Contact versendet ja erstmal nur Nachrichten. Meinst du um dann dem Empfänger eine spezielle Tastatur einzublenden um eine Antwort für den Telegram Receiver zu verfassen? Wie wäre denn der genau Use Case den du dir vorstellst.
          Grundsätzlich wäre natürlich eine entsprechende Interaktion möglich, allerdings weiß ich noch nicht, wie man das einen universellen LBS integrieren sollte.

          Kommentar


            #80
            Genau so gemacht, natürlich ohne > und mysql>
            Es gab eben keine Fehlermeldungen bei den Eingaben der Befehle.....
            Im Anhang die MySQL Tables sql.jpg

            Kommentar


              #81
              Zitat von mac29 Beitrag anzeigen
              Genau so gemacht, natürlich ohne &amp;gt; und mysql&amp;gt;
              Es gab eben keine Fehlermeldungen bei den Eingaben der Befehle.....
              Im Anhang die MySQL Tables [ATTACH=CONFIG]n959862[/ATTACH]
              okay, es sieht so aus, als hättest du den Receiver LBS mehrfach mit unterschiedlichen Prefixes gestartet.
              Drop doch noch mal mysql. Konfiguriere dann den Receiver LBS mit deinem korrekten prefix und dann Projekt neu aktivieren.
              Danach am besten das Prefix nicht mehr verändern.

              Ich werde mal versuchen diesen Problem im nächsten Update abzufangen, wenn jemand das Prefix ändert. Dann sollten die alten Tabellen gedropt werden und die neuen angelegt werden.

              Glaube allerdings nicht, dass dies dein Problem erklärt. Aber bitte noch mal testen und schauen welche Fehler im Log erscheinen und diese noch mal posten.


              ​​​​​​​

              Kommentar


                #82
                Wunderbar, hat funktioniert. Ich habe zuerst den LBS gelöscht, dann die DB gedropt und den LBS neu hinzugefügt und konfiguriert.
                Jetzt stimmt auch die DB.

                Danke vielmals. sql.jpg

                Gruss Mac29

                Kommentar


                  #83
                  okay ... hätte nicht gedacht, dass es daran liegt, aber umso besser...
                  bald kommt dann ein bugfix update.

                  Kommentar


                    #84
                    Neue Version des Telegram Contact LBS (v.0.2) ist jetzt verfügbar.
                    Damit sind folgende Formatierungen möglich:
                    Sehr cool und super schnell, vielen Dank, damit wird die Nachrichtenanzeige wesentlich übersichtlicher.
                    Contact versendet ja erstmal nur Nachrichten. Meinst du um dann dem Empfänger eine spezielle Tastatur einzublenden um eine Antwort für den Telegram Receiver zu verfassen? Wie wäre denn der genau Use Case den du dir vorstellst.
                    Ich frage meinen Bot nach dem Status von z.B. einem Licht/fenster/Rollladen/Heizung etc. dafür tippe ich momentan z.B. Status, dann fragt EDOMI Welcher? und ich antworte mit licht und bekomme dann z.B. die angeschalteten Lichter angezeigt.
                    Dafür wäre natürlich die vordefinierte Tastatur, wo dann schon nur "Status", "Schalten" und bei der 2. Stufe dann "Licht", "Rollladen" als Keyboard da wären wesentlich schneller und einfacher
                    Grundsätzlich wäre natürlich eine entsprechende Interaktion möglich, allerdings weiß ich noch nicht, wie man das einen universellen LBS integrieren sollte.
                    Ich dachte an einen Eingang der einen per "|" (o.ä.) getrennten String entgegennimmt mit der Antworttastatur.
                    Grüße
                    Matze

                    Kommentar


                      #85
                      Zitat von fisch3009 Beitrag anzeigen
                      Ich dachte an einen Eingang der einen per "|" (o.ä.) getrennten String entgegennimmt mit der Antworttastatur.
                      Okay, verstehe, klingt als wäre das machbar. Werde ich mir die Tage mal ansehen.

                      Kommentar


                        #86
                        Zitat von fisch3009 Beitrag anzeigen

                        Ich dachte an einen Eingang der einen per "|" (o.ä.) getrennten String entgegennimmt mit der Antworttastatur.
                        Die Version 0.3 des Telegram-Contact unterstützte jetzt benutzerdefinierte Antworttastaturen. Der neue Eingang E12 muss dazu wie folgt konfiguriert werden:

                        leer => keine benutzerdefinierte Tastatur
                        || => Trenner für Tastaturzeilen
                        | => Trenner für Buttons

                        Beispiel:

                        Code:
                        1|2|3||4|5|6||7|8|9||*|0|#
                        Würde eine Telefontastatur einblenden.

                        Use Case wie oben von fisch3009 beschrieben:
                        1. Nutzer sendet per Telegram einen Status Anfrage an EDOMI (z.B. 'Status Licht')
                        2. EDOMI sendet den Licht Status per Telegram Message
                        3. Die Message enthält eine Tastatur, die mögliche Antworten enthält z.B.: EIN|AUS
                        4. Der Empfänger muss nun die Antwort nicht selbst verfassen, sondern kann diese nun ganz einfach auswählen
                        5. Der Telegram-Receiver-LBS empfängt den Antworttext und EDOMI reagiert entsprechend (z.B. Licht ausschalten)

                        Viel Spaß damit

                        André

                        Kommentar


                          #87
                          Kannst du davon mal einen Screenshot machen. Kann mir das gerade nicht vorstellen. Danke dir.

                          Kommentar


                            #88
                            Hi André,
                            vielen Dank für das schnelle umsetzen.
                            LynnBayer anbei ein Screenshot mit einer benutzerdefinierten Tastatur (die Tasten "Status, Aktion, Licht, Rollladen, Tastatur" sind dann anstatt der normalen Tastatur zu sehen) und eine Rückmeldung vom Bot auf eine Statusanfrage für einen Rollladen, das fahren hoch oder runter könnte man dann auf der Tastatur auch noch einblenden.
                            beispiel.png
                            Grüße
                            Matze

                            Kommentar


                              #89
                              Ich experimentiere gerade mit InlineKeyboards. Dann wird das Keyboard direkt im Messagebereich unter der Nachricht angezeigt. Und der Tastendruck erzeugt dann eine CallbackQuery, die der Receiver auch empfangen kann. Damit gibts noch einige weitere Möglichkeiten. Mal sehn, ob das so funktionieren wird. Mehr im nächsten Update. Dann ist auch ein Update des Telegram-Receiver notwendig.

                              Kommentar


                                #90
                                Hört sich gut an, ich bin gespannt.
                                Grüße
                                Matze

                                Kommentar

                                Lädt...
                                X