50_SSChatBot - Integration des Synology Chat Servers

Begonnen von DS_Starter, 25 November 2019, 07:56:56

Vorheriges Thema - Nächstes Thema

joj

Also, einen hab ich noch. Ich habe (wir hatten den gleichen Gedanken) nochmals das nginx access-Logging auf der Syno aufgedreht und anbei die Ergebnisse...

Access aus FHEM-ChatBot:
IP_FHEM - - [19/May/2023:14:11:39 +0200] "GET /webapi/entry.cgi?api=SYNO.Chat.External&version=2&method=chatbot&token=\x22CHAT_BOT_TOKEN_HERE\x22&payload={\x22text\x22: \x22testABC\x22,\x22user_ids\x22: [6]} HTTP/1.0" 400 150 "-" "-" "-"

Access von meinem PC aus:
IP_CLIENT_PC - - [19/May/2023:14:18:04 +0200] "GET /webapi/entry.cgi?api=SYNO.Chat.External&version=2&method=chatbot&token=%22CHAT_BOT_TOKEN_HERE%22&payload={%22text%22:%20%22test1234%22,%22user_ids%22:%20[6]} HTTP/2.0" 200 101 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36" "-"

Warum auch immer die Platzhalter für HTML %20 und %22 hier unterschiedlich interpretiert werden...

Die anderen Logs der Syno (error.log und error_default.log) zeichnen nichts auffälliges auf.


DS_Starter

Das ist ein Ansatz.
Ich sehe zu vllt. schon heute Abend eine Version zum Test anbieten zu können.
Die Zeichen kann ich im Modul schon umsetzen. Wird normalerweise in httpUtils gemacht.
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

DS_Starter

Habe schon eine Version zum Test in mein contrib gestellt.
Mal probieren ..
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

DS_Starter

Noch eine Frage.
Habt ihr das globale Attr encoding eingestellt ? Wenn ja, wie ?
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

SeppiDeluxe

Zitat von: DS_Starter am 19 Mai 2023, 10:29:33Ich würde erstmal mit einem simplen Text ohne Sonderzeichen testen.


Noch ein Überbleibsel aus der letzten UTF Umstellung im DBConf ;-)

SeppiDeluxe

#275
kurzes Update:

Ich bekomme jetzt erstmal das umfangreichere Log.

Encoding ist derzeit noch nicht aktiv (also Standard bytestream nehme ich an) gesetzt.

C&P mit dem Browser funktioniert nach wie vor problemlos.


DS_Starter

Hast du die Version aus meinem contrib ausprobiert ?
Poste dann mal bitte das umfangreichere Log.
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

joj

...habe das attr global encoding ebenfalls nicht gesetzt...

joj

#278
Gute Nachricht, habe mir eben dein neues Modul aus deinem Contrib geholt und siehe da, alles funktioniert wieder bestens! Wahnsinn, vielen Dank!!! Spitzen Arbeit!!!

2023.05.20 15:32:57 5: SynChatBot - Add Item to queue - Index 3:
{
  'method' => 'chatbot',
  'attachment' => '',
  'fileUrl' => '',
  'text' => 'Das ist ein Test',
  'opmode' => 'sendItem',
  'retryCount' => 0,
  'channel' => '',
  'postid' => undef,
  'userid' => 6
}

2023.05.20 15:32:57 4: SynChatBot - ####################################################
2023.05.20 15:32:57 4: SynChatBot - ###         start Chat operation sendItem   
2023.05.20 15:32:57 4: SynChatBot - ####################################################
2023.05.20 15:32:57 4: SynChatBot - API hashvalues already set - ignore get apisites
2023.05.20 15:32:57 4: SynChatBot - botToken read from RAM: ********
2023.05.20 15:32:57 4: SynChatBot - start SendQueue entry index "3" (sendItem) for operation.
2023.05.20 15:32:57 5: SynChatBot - HTTP-Call will be done with httptimeout: 20 s
2023.05.20 15:32:57 4: SynChatBot - Call-Out >GET<: https://IP_SYNO:5001/webapi/entry.cgi?api=SYNO.Chat.External&version=2&method=chatbot&token="<secret>"&payload={"text": "Das ist ein Test","user_ids": [6]}
2023.05.20 15:32:57 3: HttpUtils url=https://IP_SYNO:5001/webapi/entry.cgi?api=SYNO.Chat.External&version=2&method=chatbot&token=%22CHAT_BOT_TOKEN_HERE%22&payload={%22text%22:%20%22Das%20ist%20ein%20Test%22,%22user_ids%22:%20[6]} NonBlocking via https
2023.05.20 15:32:57 2: IP: IP_SYNO -> IP_SYNO
2023.05.20 15:32:57 3: HttpUtils request header:
GET /webapi/entry.cgi?api=SYNO.Chat.External&version=2&method=chatbot&token=%22CHAT_BOT_TOKEN_HERE%22&payload={%22text%22:%20%22Das%20ist%20ein%20Test%22,%22user_ids%22:%20[6]} HTTP/1.0
Host: IP_SYNO:5001
User-Agent: fhem
Accept-Encoding: gzip,deflate
Accept: application/json

2023.05.20 15:32:58 2: https://IP_SYNO:5001/webapi/entry.cgi?api=SYNO.Chat.External&version=2&method=chatbot&token=%22CHAT_BOT_TOKEN_HERE%22&payload={%22text%22:%20%22Das%20ist%20ein%20Test%22,%22user_ids%22:%20[6]}: HTTP response code 200
2023.05.20 15:32:58 3: HttpUtils https://IP_SYNO:5001/webapi/entry.cgi?api=SYNO.Chat.External&version=2&method=chatbot&token=%22CHAT_BOT_TOKEN_HERE%22&payload={%22text%22:%20%22Das%20ist%20ein%20Test%22,%22user_ids%22:%20[6]}: Got data, length: 84
2023.05.20 15:32:58 3: HttpUtils response header:
HTTP/1.1 200 OK
Server: nginx
Date: Sat, 20 May 2023 13:32:57 GMT
Content-Type: application/json; charset="UTF-8"
Connection: close
Vary: Accept-Encoding
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: max-age=0, no-cache, no-store, must-revalidate
Pragma: no-cache
Expires: 0
2023.05.20 15:32:58 5: SynChatBot - JSON returned: {
  'data' => {
              'fail' => undef,
              'succ' => {
                          'user_id_post_map' => {
                                                  '6' => '176093661361'
                                                }
                        }
            },
  'success' => bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' )
}

2023.05.20 15:32:58 4: SynChatBot - Opmode "sendItem" finished successfully, Sendqueue index "3" deleted.

DS_Starter

Das freut mich.  :)
Dann checke ich die Version heute Abend ein.

ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

SeppiDeluxe

Bei mir auch alles behoben mit der neuen Ver .. Danke dir