Super funktioniert alles, ich danke euch LG
Beiträge von studentthreema
-
-
Probier mal das Example aus folgender Gist, aber mit Python 3.9. Für Python 3.10 braucht es noch diverse Änderungen.
https://gist.github.com/lgrahl/d8cfe3b…6288aae206f870b
Edit: PR.
Hi f09fa681
Diese funktioniert bei mir, mit allen drei Python Versionen.
Ich habe noch eine weitere Frage, gibt es eine möglichkeit auch die ID des Senders der empfangenen Nachrichten über den MessageHandler mit auszulesen?
Danke für die Unterstützung. -
Soweit ich sehen kann gab es die letzte Änderung an dem Repository vor ziemlich genau einem Jahr. Zu dem Zeitpunkt dürfte Python 3.9 aktuell gewesen sein. Deiner Pfadangabe nach scheinst du Python 3.10 zu verwenden. Hat möglicherweise was mit dem Problem zu tun.
Ich glaube speziell die Funktionen zur asynchronen I/O werden da häufiger mal angepasst.
Habe den Code mal mit Python 3.9.6 und 3.8.10 getestet, leider mit dem selben Ergebniss. :-/
-
Soweit ich sehen kann gab es die letzte Änderung an dem Repository vor ziemlich genau einem Jahr. Zu dem Zeitpunkt dürfte Python 3.9 aktuell gewesen sein. Deiner Pfadangabe nach scheinst du Python 3.10 zu verwenden. Hat möglicherweise was mit dem Problem zu tun.
Ich glaube speziell die Funktionen zur asynchronen I/O werden da häufiger mal angepasst.
Hi Tristan
Danke für den Hinweis, ich werde mal versuchen den Code mit Pyhton 3.9 auszuführen. -
Aber wir haben den Code eins zu eins vom offiziellen Threema Gateway SDK - Python Gitrepo (https://github.com/lgrahl/threema…les/callback.py) übernommen und einfach nur unser Connection und SSL Zertifikatdetails eingefügt. Hat jemand diese Callback funktion schon benutzt? Liegt der Fehler evtl. an unseren Angaben oder dem SSL Zertifikat?
-
Hallo Zusammen
Im Rahmen eines Studiumprojektes versuchen wir einen Commandline Chat Client in Python zu realisieren. Als wir nun aber eine Callback funktion nach Vorlage aus dem Gitrepo erstellt haben und unsere Daten eingetragen haben, sind wir auf folgenden Fehler gestossen:
[2022-05-25 21:19:39.716023] ERROR: aiohttp.server: Error handling request
Traceback (most recent call last):
File "C:\Python310\lib\site-packages\aiohttp\web_protocol.py", line 435, in _handle_request
resp = await request_handler(request)
File "C:\Python310\lib\site-packages\aiohttp\web_app.py", line 504, in _handle
resp = await handler(request)
File "C:\Python310\lib\site-packages\threema\gateway\e2e.py", line 212, in handle_callback
message = await context.receive_handler(context.connection, {
File "C:\Python310\lib\site-packages\threema\gateway\e2e.py", line 481, in receive
key_pair = await cls.get_decrypt_key_pair(connection, parameters)
File "C:\Python310\lib\site-packages\threema\gateway\e2e.py", line 585, in get_decrypt_key_pair
public = await connection.get_public_key(parameters['from_id'])
File "C:\Python310\lib\site-packages\threema\gateway\util.py", line 352, in _wrapper
value = await func(*args, **kwargs)
File "C:\Python310\lib\site-packages\threema\gateway\_gateway.py", line 176, in get_public_key
response = await self._get(self.urls['get_public_key'].format(id_))
File "C:\Python310\lib\site-packages\threema\gateway\_gateway.py", line 317, in _get
return await self._session.get(*args, **kwargs)
File "C:\Python310\lib\site-packages\aiohttp\client.py", line 466, in _request
with timer:
File "C:\Python310\lib\site-packages\aiohttp\helpers.py", line 701, in __enter__
raise RuntimeError(
RuntimeError: Timeout context manager should be used inside a task
[2022-05-25 21:19:39.729985] INFO: aiohttp.access: 185.88.236.88 [25/May/2022:21:19:39 +0000] "POST /gateway_callback HTTP/1.1" 500 1931 "-" "ThreemaGateway/1.0 Java/1.8.0_312"
[2022-05-25 21:24:39.834548] ERROR: aiohttp.server: Error handling request
Traceback (most recent call last):
File "C:\Python310\lib\site-packages\aiohttp\web_protocol.py", line 435, in _handle_request
resp = await request_handler(request)
File "C:\Python310\lib\site-packages\aiohttp\web_app.py", line 504, in _handle
resp = await handler(request)
File "C:\Python310\lib\site-packages\threema\gateway\e2e.py", line 212, in handle_callback
message = await context.receive_handler(context.connection, {
File "C:\Python310\lib\site-packages\threema\gateway\e2e.py", line 481, in receive
key_pair = await cls.get_decrypt_key_pair(connection, parameters)
File "C:\Python310\lib\site-packages\threema\gateway\e2e.py", line 585, in get_decrypt_key_pair
public = await connection.get_public_key(parameters['from_id'])
File "C:\Python310\lib\site-packages\threema\gateway\util.py", line 352, in _wrapper
value = await func(*args, **kwargs)
File "C:\Python310\lib\site-packages\threema\gateway\_gateway.py", line 176, in get_public_key
response = await self._get(self.urls['get_public_key'].format(id_))
File "C:\Python310\lib\site-packages\threema\gateway\_gateway.py", line 317, in _get
return await self._session.get(*args, **kwargs)
File "C:\Python310\lib\site-packages\aiohttp\client.py", line 466, in _request
with timer:
File "C:\Python310\lib\site-packages\aiohttp\helpers.py", line 701, in __enter__
raise RuntimeError(
RuntimeError: Timeout context manager should be used inside a task
[2022-05-25 21:24:39.848509] INFO: aiohttp.access: 185.88.236.88 [25/May/2022:21:24:39 +0000] "POST /gateway_callback HTTP/1.1" 500 1931 "-" "ThreemaGateway/1.0 Java/1.8.0_312"
Der Fehler wird jedes Mal ausgegeben wenn eine Nachricht eintrift.
Fehlt hier etwas, oder was machen wir falsch? Hat jemand diese Meldung schon einmal gehabt?
Danke im Voraus, LG